Skip to content

io.bootify/mcp

by bootify.io · remote · no sign-in to list tools · v1.0.0 · published by io.bootify

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

Deletes · 35Changes · 22

57 tools: 35 can delete or cancel things and 22 change things.

Scanned Oct 21, 2026

11 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

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

Findings

Matches of fixed checks, with the text they matched.

8 warn3 info
  • The server marks "getProject" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getProject" says "get": a word for reading.

    What this check looks for
  • The server marks "listAvailableDependencies" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "listAvailableDependencies" says "list": a word for reading.

    What this check looks for
  • The server marks "listSecurityPaths" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "listSecurityPaths" says "list": a word for reading.

    What this check looks for
  • The server marks "getOpenApiPreview" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getOpenApiPreview" says "get": a word for reading.

    What this check looks for
  • The server marks "listProjectFiles" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "listProjectFiles" says "list": a word for reading.

    What this check looks for
  • The server marks "getProjectFile" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getProjectFile" says "get": a word for reading.

    What this check looks for
Show 5 more findings
  • The server marks "exportProject" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "return": a word for reading.

    What this check looks for
  • The server marks "getGitExportStatus" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getGitExportStatus" says "get": a word for reading.

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "Configure the user entity and its credential, OAuth mapping, password reset and toke..."

    What this check looks for
  • The description mentions "Credentials".

    Matched text

    description: "...ntact the remote or preview a Git diff. Credentials are never returned. If unconfigured, op..."

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...mitSha is then null. Requires saved Git credentials and active export access. Successful ca..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

57 tools

Deletes or cancels 35Claude Code: deny
  • configureSecurityLoginConfigure only login, JWT, Keycloak and session behavior.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Configure only login, JWT, Keycloak and session behavior. Provide just the fields that should change.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • configureSecurityUserSourceConfigure the user entity and its credential, OAuth mapping, password reset and token fields.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "Configure the user entity and its credential, OAuth mapping, password reset and toke..."

      What this check looks for
    Description, as the server wrote it
    Configure the user entity and its credential, OAuth mapping, password reset and token fields. Provide just the fields that should change.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteAppModuleDelete a custom application module by name.No findings

    Why it is in this group

    • The name "deleteAppModule" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteDataObjectDelete a custom data object by name.No findings

    Why it is in this group

    • The name "deleteDataObject" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteEntityDelete an entity identified by name.No findings

    Why it is in this group

    • The name "deleteEntity" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an entity identified by name. Bootify applies its consistency rules to dependent project data.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteEnumDelete an enum identified by name.No findings

    Why it is in this group

    • The name "deleteEnum" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an enum identified by name. Referencing fields are changed to String by Bootify's consistency rules.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteFrontendControllerAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "deleteFrontendController" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteIndexDelete an index by its current name.No findings

    Why it is in this group

    • The name "deleteIndex" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an index by its current name.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteProjectClose a project owned by the bearer-authenticated user.No findings

    Why it is in this group

    • The name "deleteProject" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Close a project owned by the bearer-authenticated user.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteRelationDelete a relation using the current identifier returned by addRelation, updateRelation or getProject with RELATIONS details.No findings

    Why it is in this group

    • The name "deleteRelation" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteRestControllerAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "deleteRestController" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • deleteSecurityConfigDelete a security configuration by name.No findings

    Why it is in this group

    • The name "deleteSecurityConfig" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a security configuration by name.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • exportProjectToGitAvailable with Bootify Professional.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...mitSha is then null. Requires saved Git credentials and active export access. Successful ca..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: true
    • readOnlyHint: false
  • importSqlSchemaParse SQL DDL and reconcile its tables, fields and relations with an existing Bootify project.No findings

    Why it is in this group

    • The name "importSqlSchema" says "import": a word for a change.
    • The input takes a statement or command to run (input.sql), which can change anything it can reach.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Parse SQL DDL and reconcile its tables, fields and relations with an existing Bootify project. Matching entities are updated and new entities are added.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • removeBreakpointAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "removeBreakpoint" says "remove": a word for removing or ending something.
    • The description says "Permanently remove".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • removeDependencyRemove a dependency from the generated Maven or Gradle build using groupId:artifactId.No findings

    Why it is in this group

    • The name "removeDependency" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a dependency from the generated Maven or Gradle build using groupId:artifactId. A version may be supplied but is not used for matching.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • setSecurityRolesReplace the role setup.No findings

    Why it is in this group

    • The name "setSecurityRoles" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace the role setup. Call listSecurityPaths first and use its exact METHOD /path values.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateAdvancedOptionsAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "updateAdvancedOptions" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateAppModuleAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "updateAppModule" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateDatabaseUpdate the database and schema management settings of an existing Bootify project.No findings

    Why it is in this group

    • The name "updateDatabase" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update the database and schema management settings of an existing Bootify project. Background information: https://bootify.io/docs/general-tab.html

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateDatabaseNamingUpdate one or more database naming settings of an existing Bootify project.No findings

    Why it is in this group

    • The name "updateDatabaseNaming" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update one or more database naming settings of an existing Bootify project. Background information: https://bootify.io/docs/general-tab.html

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateDataObjectUpdate or rename a custom data object by name.No findings

    Why it is in this group

    • The name "updateDataObject" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateDateFieldsEnable or disable generated date fields and configure their names.No findings

    Why it is in this group

    • The name "updateDateFields" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Enable or disable generated date fields and configure their names. Background information: https://bootify.io/docs/general-tab.html

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateDeveloperPreferencesUpdate one or more developer preferences of an existing Bootify project.No findings

    Why it is in this group

    • The name "updateDeveloperPreferences" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update one or more developer preferences of an existing Bootify project. Background information: https://bootify.io/docs/general-tab.html

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateEntityUpdate or rename an entity identified by its current name.No findings

    Why it is in this group

    • The name "updateEntity" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update or rename an entity identified by its current name. Only provided properties are changed; a provided fields array replaces all fields.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateEnumUpdate or rename an enum identified by its current name.No findings

    Why it is in this group

    • The name "updateEnum" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update or rename an enum identified by its current name. Provide newName, values, appModule, featurePackage, or several.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateFrontendUpdate one or more frontend settings of an existing Bootify project.No findings

    Why it is in this group

    • The name "updateFrontend" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update one or more frontend settings of an existing Bootify project. Background information: https://bootify.io/docs/frontend-settings.html

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateFrontendControllerAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "updateFrontendController" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateIndexUpdate an index by its current Entity.field1-field2 identifier.No findings

    Why it is in this group

    • The name "updateIndex" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update an index by its current Entity.field1-field2 identifier. Only provided properties are changed; the response contains its updated identifier.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateMailSettingsAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "updateMailSettings" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Available with Bootify Professional. Enable or disable mail support and configure the generated application's SMTP connection.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateRelationUpdate a relation whose type describes the cardinality from fromEntity to toEntity.No findings

    Why it is in this group

    • The name "updateRelation" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateRestControllerAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "updateRestController" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateSecurityConfigChange only the identity, type, module or authentication mode.No findings

    Why it is in this group

    • The name "updateSecurityConfig" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Change only the identity, type, module or authentication mode. Changing type resets type-specific settings to defaults.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateSettingsUpdate one or more basic settings of an existing Bootify project.No findings

    Why it is in this group

    • The name "updateSettings" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update one or more basic settings of an existing Bootify project. Background information: https://bootify.io/docs/general-tab.html

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
  • updateUtilitiesInclude utilities for custom code even when the project does not require them.No findings

    Why it is in this group

    • The name "updateUtilities" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
    • readOnlyHint: false
Changes things 22Claude Code: ask
  • addAppModuleAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "addAppModule" says "add": a word for a change.
    Description, as the server wrote it
    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

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addBreakpointAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "addBreakpoint" says "add": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addDataObjectAdd a custom data object by name.No findings

    Why it is in this group

    • The name "addDataObject" says "add": a word for a change.
    Description, as the server wrote it
    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

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addDependencyAdd an extra application dependency to the generated Maven or Gradle build.No findings

    Why it is in this group

    • The name "addDependency" says "add": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addEntityAdd an entity to an existing Bootify project.No findings

    Why it is in this group

    • The name "addEntity" says "add": a word for a change.
    Description, as the server wrote it
    Add an entity to an existing Bootify project. Entity, field, module, inheritance and custom field-type references use names.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addEnumAdd an enum to an existing Bootify project, identified by name.No findings

    Why it is in this group

    • The name "addEnum" says "add": a word for a change.
    Description, as the server wrote it
    Add an enum to an existing Bootify project, identified by name.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addFrontendControllerAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "addFrontendController" says "add": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addIndexAdd a normal or unique index over ordered entity fields or owning-side relations.No findings

    Why it is in this group

    • The name "addIndex" says "add": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addRelationAdd a relation whose type describes the cardinality from fromEntity to toEntity.No findings

    Why it is in this group

    • The name "addRelation" says "add": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addRestControllerAvailable with Bootify Professional.No findings

    Why it is in this group

    • The name "addRestController" says "add": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • addSecurityConfigCreate a config with safe defaults.No findings

    Why it is in this group

    • The name "addSecurityConfig" says "add": a word for a change.
    Description, as the server wrote it
    Create a config with safe defaults. Configure roles, login and an optional user source through their dedicated tools.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • copyProjectCopy a project owned by the bearer-authenticated user.No findings

    Why it is in this group

    • The name "copyProject" says "copy": a word for a change.
    Description, as the server wrote it
    Copy a project owned by the bearer-authenticated user. Projects with an active one-time upgrade cannot be copied.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • exportProjectReturn a ZIP download URL for an existing Bootify project.1 finding

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "exportProject" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "return": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • getGitExportStatusAvailable with Bootify Professional.2 findings

    Why it is in this group

    • The name "getGitExportStatus" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Info

      The description mentions "Credentials".

      Matched text

      description: "...ntact the remote or preview a Git diff. Credentials are never returned. If unconfigured, op..."

      What this check looks for
    • Warn

      The server marks "getGitExportStatus" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getGitExportStatus" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • getOpenApiPreviewAvailable with Bootify Professional.1 finding

    Why it is in this group

    • The name "getOpenApiPreview" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "getOpenApiPreview" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getOpenApiPreview" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • getProjectReturn the current basic configuration and plan information of an existing Bootify project.1 finding

    Why it is in this group

    • The name "getProject" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "getProject" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getProject" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • getProjectFileReturn one generated project file.1 finding

    Why it is in this group

    • The name "getProjectFile" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "getProjectFile" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getProjectFile" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • linkProjectLink an existing Bootify project to the bearer-authenticated user.No findings

    Why it is in this group

    • The name "linkProject" says "link": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • listAvailableDependenciesList dependencies that can be added to the generated Maven or Gradle build.1 finding

    Why it is in this group

    • The name "listAvailableDependencies" says "list": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "listAvailableDependencies" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "listAvailableDependencies" says "list": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • listProjectFilesReturn every file path that would be present in the ZIP export of an existing Bootify project, without generating or returning file contents.1 finding

    Why it is in this group

    • The name "listProjectFiles" says "list": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "listProjectFiles" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "listProjectFiles" says "list": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • listSecurityPathsReturn the canonical METHOD /path values that may be assigned to security roles.1 finding

    Why it is in this group

    • The name "listSecurityPaths" says "list": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "listSecurityPaths" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "listSecurityPaths" says "list": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false
  • startProjectCreate a new Bootify project and return its project ID, URL, current setup and plan information.No findings

    Why it is in this group

    • The name "startProject" says "start": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
    • readOnlyHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

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

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__bootify__startProject",
      "mcp__bootify__getProject",
      "mcp__bootify__linkProject",
      "mcp__bootify__copyProject",
      "mcp__bootify__listAvailableDependencies",
      "mcp__bootify__addDependency",
      "mcp__bootify__addAppModule",
      "mcp__bootify__addEnum",
      "mcp__bootify__addDataObject",
      "mcp__bootify__addEntity",
      "mcp__bootify__addBreakpoint",
      "mcp__bootify__addRelation",
      "mcp__bootify__addIndex",
      "mcp__bootify__addRestController",
      "mcp__bootify__addFrontendController",
      "mcp__bootify__listSecurityPaths",
      "mcp__bootify__addSecurityConfig",
      "mcp__bootify__getOpenApiPreview",
      "mcp__bootify__listProjectFiles",
      "mcp__bootify__getProjectFile",
      "mcp__bootify__exportProject",
      "mcp__bootify__getGitExportStatus"
    ],
    "deny": [
      "mcp__bootify__deleteProject",
      "mcp__bootify__updateSettings",
      "mcp__bootify__updateDeveloperPreferences",
      "mcp__bootify__updateAdvancedOptions",
      "mcp__bootify__updateUtilities",
      "mcp__bootify__updateMailSettings",
      "mcp__bootify__updateFrontend",
      "mcp__bootify__updateDatabase",
      "mcp__bootify__updateDatabaseNaming",
      "mcp__bootify__updateDateFields",
      "mcp__bootify__removeDependency",
      "mcp__bootify__updateAppModule",
      "mcp__bootify__deleteAppModule",
      "mcp__bootify__updateEnum",
      "mcp__bootify__deleteEnum",
      "mcp__bootify__updateDataObject",
      "mcp__bootify__deleteDataObject",
      "mcp__bootify__updateEntity",
      "mcp__bootify__deleteEntity",
      "mcp__bootify__importSqlSchema",
      "mcp__bootify__removeBreakpoint",
      "mcp__bootify__updateRelation",
      "mcp__bootify__deleteRelation",
      "mcp__bootify__updateIndex",
      "mcp__bootify__deleteIndex",
      "mcp__bootify__updateRestController",
      "mcp__bootify__deleteRestController",
      "mcp__bootify__updateFrontendController",
      "mcp__bootify__deleteFrontendController",
      "mcp__bootify__updateSecurityConfig",
      "mcp__bootify__configureSecurityLogin",
      "mcp__bootify__configureSecurityUserSource",
      "mcp__bootify__setSecurityRoles",
      "mcp__bootify__deleteSecurityConfig",
      "mcp__bootify__exportProjectToGit"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as bootify. Review it before you use it.