MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

io.bootify/mcp

Build Spring Boot applications, ready for coding agents, including best practices.

Checks passed
11 / 22

3 failed · 8 not measured

Median response
267 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
57

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
222

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 267 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name bootify-mcp-server.

  • Pass
    Lists tools

    tools/list returned 57 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 267 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 267 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    194 of 267 parameters have a description (73%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Fail
    Website matches publisher

    The website host does not match the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-09-29T17:28:45.627951Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using io.bootify/mcp

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http io-bootify-mcp https://bootify.io/mcp

Capabilities

Tools 57

addAppModule

Available with Bootify Professional. Add a custom application module. References name the modules this module depends on. The same graph defines package boundaries for MODULITH and physical build modules for MULTI_MODULE; select either with updateAdvancedOptions first. The implicit base module is the lowest-level shared module and is integrated directly or transitively by every other module. A custom module with no references depends on base. The implicit web module is the highest-level application wrapper and automatically depends on every custom root module; in MULTI_MODULE it assembles the executable application. Neither implicit module can be edited. Dependencies must be acyclic and should point from a feature toward the lower-level modules it uses. Background information: https://bootify.io/docs/modules-tab.html

Discovered
addBreakpoint

Available with Bootify Professional. Snapshot the current database schema so subsequent schema changes generate a new Flyway, Liquibase or Mongock changelog. Available only when getProject BREAKPOINTS reports AVAILABLE. Generated changelogs are blueprints and must be adapted to production data. Use this tool only after the user has explicitly confirmed adding a breakpoint.

Discovered
addDataObject

Add a custom data object by name. Entity-generated DTOs are returned by getProject with generated=true and must be changed through their entity fields or REST/frontend options. Background information: https://bootify.io/spring-data/hibernate-json-type.html

Discovered
addDependency

Add an extra application dependency to the generated Maven or Gradle build. Bootify already adds dependencies required by selected project features. Call listAvailableDependencies to find supported coordinates, then pass the returned groupId:artifactId. Spring Boot supplies the compatible dependency version.

Discovered
addEntity

Add an entity to an existing Bootify project. Entity, field, module, inheritance and custom field-type references use names.

Discovered
addEnum

Add an enum to an existing Bootify project, identified by name.

Discovered
addFrontendController

Available with Bootify Professional. Add a custom frontend controller by name. Entity-generated controllers are returned by the matching getProject details option with generated=true and must be changed through their entity options.

Discovered
addIndex

Add a normal or unique index over ordered entity fields or owning-side relations. Many-to-many relations are excluded. The response returns its name selector as Entity.field1-field2.

Discovered
addRelation

Add a relation whose type describes the cardinality from fromEntity to toEntity. For MANY_TO_ONE, ONE_TO_ONE and MANY_TO_MANY the owning field is fromEntity.fromField; for ONE_TO_MANY it is toEntity.toField. The response includes that canonical owning-side value as identifier. Bidirectional relations require both fields. Background information: https://bootify.io/docs/jpa-relationship-types-with-examples.html. fromEntity and toEntity must already exist. The owning entity's application module must depend on the target entity's module.

Discovered
addRestController

Available with Bootify Professional. Add a custom REST controller by name. Entity-generated controllers are returned by the matching getProject details option with generated=true and must be changed through their entity options.

Discovered
addSecurityConfig

Create a config with safe defaults. Configure roles, login and an optional user source through their dedicated tools.

Discovered
configureSecurityLogin

Configure only login, JWT, Keycloak and session behavior. Provide just the fields that should change.

Discovered
configureSecurityUserSource

Configure the user entity and its credential, OAuth mapping, password reset and token fields. Provide just the fields that should change.

Discovered
copyProject

Copy a project owned by the bearer-authenticated user. Projects with an active one-time upgrade cannot be copied.

Discovered
deleteAppModule

Delete a custom application module by name. The implicit base and web modules cannot be deleted. Bootify applies its consistency rules to references and assigned project elements. Available with Bootify Professional.

Discovered
deleteDataObject

Delete a custom data object by name. Entity-generated DTOs are returned by getProject with generated=true and must be changed through their entity fields or REST/frontend options. Background information: https://bootify.io/spring-data/hibernate-json-type.html

Discovered
deleteEntity

Delete an entity identified by name. Bootify applies its consistency rules to dependent project data.

Discovered
deleteEnum

Delete an enum identified by name. Referencing fields are changed to String by Bootify's consistency rules.

Discovered
deleteFrontendController

Available with Bootify Professional. Delete a custom frontend controller by name. Entity-generated controllers are returned by the matching getProject details option with generated=true and must be changed through their entity options.

Discovered
deleteIndex

Delete an index by its current name.

Discovered
deleteProject

Close a project owned by the bearer-authenticated user.

Discovered
deleteRelation

Delete a relation using the current identifier returned by addRelation, updateRelation or getProject with RELATIONS details. The identifier is the owning entity and owning field joined with a dot; copy it verbatim because ONE_TO_MANY ownership is on the to side.

Discovered
deleteRestController

Available with Bootify Professional. Delete a custom REST controller by name. Entity-generated controllers are returned by the matching getProject details option with generated=true and must be changed through their entity options.

Discovered
deleteSecurityConfig

Delete a security configuration by name.

Discovered
exportProject

Return a ZIP download URL for an existing Bootify project. This tool should be called after all project details and the schema have been configured with the user and the current setup has been presented. Ask for approval before exporting unless the user already explicitly requested the export in the current context. The client can download and extract it when the environment supports it. Export fails when the project plan has expired. Successful calls record MCP usage and activity for this project. Generated files can include private signing keys for RSA JWT configurations; treat them as sensitive.

Discovered
exportProjectToGit

Available with Bootify Professional. Generate, commit and push to the saved repository and target branch. Replaces the target branch's file contents with the generated project, including deleting other files. Use only when the user has authorized the Git export. Inspect getGitExportStatus first. The optional message overrides defaultCommitMessage; when omitted it is calculated at export time. No commit is created when generated files have not changed; commitSha is then null. Requires saved Git credentials and active export access. Successful calls record MCP usage and activity.

Discovered
getGitExportStatus

Available with Bootify Professional. Return the saved repository URL, target branch and defaultCommitMessage derived from current changes using the builder's commit message generator. This does not contact the remote or preview a Git diff. Credentials are never returned. If unconfigured, open configurationUrl to configure Git in the builder. Successful calls record MCP usage and activity for this project.

Discovered
getOpenApiPreview

Available with Bootify Professional. Generate and return the OpenAPI document for the current project configuration. Use it to inspect resolved paths, parameters, request and response schemas, status codes and security schemes before exporting the project. Successful calls record MCP usage and activity for this project.

Discovered
getProject

Return the current basic configuration and plan information of an existing Bootify project. Entity, relation, index and other object lists are returned only when explicitly selected through details. Successful calls record MCP usage and activity for this project.

Discovered
getProjectFile

Return one generated project file. The path may exactly match a value returned by listProjectFiles, with or without the project root directory, such as pom.xml. Text is returned as UTF-8 and binary content as Base64. Successful calls record MCP usage and activity for this project. Generated files can include private signing keys for RSA JWT configurations; treat them as sensitive.

Discovered
importSqlSchema

Parse SQL DDL and reconcile its tables, fields and relations with an existing Bootify project. Matching entities are updated and new entities are added.

Discovered
linkProject

Link an existing Bootify project to the bearer-authenticated user. Accepts either the project URL or its 12-character project ID and updates the project's plan.

Discovered
listAvailableDependencies

List dependencies that can be added to the generated Maven or Gradle build. These dependencies are managed by the project's Spring Boot version and therefore do not require a dependency version. Use the optional query to narrow the result. Successful calls record MCP usage and activity for this project.

Discovered
listProjectFiles

Return every file path that would be present in the ZIP export of an existing Bootify project, without generating or returning file contents. Listing fails when the project plan has expired. Successful calls record MCP usage and activity for this project.

Discovered
listSecurityPaths

Return the canonical METHOD /path values that may be assigned to security roles. Pass securityConfigName while editing so that its current paths remain available. Frontend paths can only be protected by BASIC_AUTH, FORM_SESSION or KEYCLOAK_CLIENT. Successful calls record MCP usage and activity for this project.

Discovered
removeBreakpoint

Available with Bootify Professional. Permanently remove one breakpoint. This changes generated changelogs and cannot be undone. Copy its epoch-second ID from getProject BREAKPOINTS. Use this tool only after the user has explicitly confirmed removing the breakpoint.

Discovered
removeDependency

Remove a dependency from the generated Maven or Gradle build using groupId:artifactId. A version may be supplied but is not used for matching.

Discovered
setSecurityRoles

Replace the role setup. Call listSecurityPaths first and use its exact METHOD /path values.

Discovered
startProject

Create a new Bootify project and return its project ID, URL, current setup and plan information. This changes server state and should only be called when the user wants a new project. Basic settings, developer preferences and database settings can be supplied during creation; omitted settings retain their defaults. All subsequent changes made through MCP are reflected live for the user at the returned project URL. Always show that URL to the user immediately after creating the project so they can follow the changes in their browser.

Discovered
updateAdvancedOptions

Available with Bootify Professional. Update one or more advanced project options. MODULITH generates package-based application modules, while MULTI_MODULE generates physical Gradle or Maven modules. Select either before defining an application-module graph. Background information: https://bootify.io/docs/modules-tab.html

Discovered
updateAppModule

Available with Bootify Professional. Update or rename a custom application module identified by its current name. When provided, references replace all current direct dependencies. The same graph defines package boundaries for MODULITH and physical build modules for MULTI_MODULE; select either with updateAdvancedOptions first. The implicit base module is the lowest-level shared module and is integrated directly or transitively by every other module. A custom module with no references depends on base. The implicit web module is the highest-level application wrapper and automatically depends on every custom root module; in MULTI_MODULE it assembles the executable application. Neither implicit module can be edited. Dependencies must be acyclic and should point from a feature toward the lower-level modules it uses. Background information: https://bootify.io/docs/modules-tab.html

Discovered
updateDatabase

Update the database and schema management settings of an existing Bootify project. Background information: https://bootify.io/docs/general-tab.html

Discovered
updateDatabaseNaming

Update one or more database naming settings of an existing Bootify project. Background information: https://bootify.io/docs/general-tab.html

Discovered
updateDataObject

Update or rename a custom data object by name. Entity-generated DTOs are returned by getProject with generated=true and must be changed through their entity fields or REST/frontend options. Background information: https://bootify.io/spring-data/hibernate-json-type.html

Discovered
updateDateFields

Enable or disable generated date fields and configure their names. Background information: https://bootify.io/docs/general-tab.html

Discovered
updateDeveloperPreferences

Update one or more developer preferences of an existing Bootify project. Background information: https://bootify.io/docs/general-tab.html

Discovered
updateEntity

Update or rename an entity identified by its current name. Only provided properties are changed; a provided fields array replaces all fields.

Discovered
updateEnum

Update or rename an enum identified by its current name. Provide newName, values, appModule, featurePackage, or several.

Discovered
updateFrontend

Update one or more frontend settings of an existing Bootify project. Background information: https://bootify.io/docs/frontend-settings.html

Discovered
updateFrontendController

Available with Bootify Professional. Update or rename a custom frontend controller by name. Entity-generated controllers are returned by the matching getProject details option with generated=true and must be changed through their entity options.

Discovered
updateIndex

Update an index by its current Entity.field1-field2 identifier. Only provided properties are changed; the response contains its updated identifier.

Discovered
updateMailSettings

Available with Bootify Professional. Enable or disable mail support and configure the generated application's SMTP connection.

Discovered
updateRelation

Update a relation whose type describes the cardinality from fromEntity to toEntity. For MANY_TO_ONE, ONE_TO_ONE and MANY_TO_MANY the owning field is fromEntity.fromField; for ONE_TO_MANY it is toEntity.toField. The response includes that canonical owning-side value as identifier. Bidirectional relations require both fields. Background information: https://bootify.io/docs/jpa-relationship-types-with-examples.html. Identify the existing relation with its current identifier returned by addRelation, updateRelation or getProject; do not reconstruct internal IDs. Only provided relation properties are changed. If an update changes the owning entity or field, use the newly returned identifier for subsequent calls.

Discovered
updateRestController

Available with Bootify Professional. Update or rename a custom REST controller by name. Entity-generated controllers are returned by the matching getProject details option with generated=true and must be changed through their entity options.

Discovered
updateSecurityConfig

Change only the identity, type, module or authentication mode. Changing type resets type-specific settings to defaults.

Discovered
updateSettings

Update one or more basic settings of an existing Bootify project. Background information: https://bootify.io/docs/general-tab.html

Discovered
updateUtilities

Include utilities for custom code even when the project does not require them. Required utilities cannot be disabled. They remain included when no longer required, until explicitly disabled. Omitted options retain their values. Inspect utilities in getProject for the current inclusion state.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected267 ms57