mcp
Qué hace este MCP
Creates and configures Spring Boot projects, including entities, relations, dependencies, security settings, REST APIs, database schemas, and generated project exports.
Herramientas
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Name of the new custom module'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'references': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Referenced custom module name'}, 'maxItems': 255, 'description': 'Unique names of existing custom modules used as direct dependencies. Omit or use an empty array to depend on the implicit base module.', 'uniqueItems': True}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the new data object'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'minItems': 1, 'description': 'Complete ordered data object field list.'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom app module; null selects base. Available with Bootify Professional. '}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'dependency'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'dependency': {'type': 'string', 'pattern': '^[A-Za-z0-9_.-]+:[A-Za-z0-9_.-]+(?::[^\\s:]+)?$', 'maxLength': 500, 'description': 'Maven coordinates: groupId:artifactId[:version]'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the new entity'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'primaryKey': {'type': 'boolean'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'description': 'Complete ordered entity field list. Exactly one primary key is required for a concrete entity unless inherited; abstract superclasses may omit it. A primary key must be the first field and use INTEGER, LONG, UUID or STRING. required is ignored for it.'}, 'inherits': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the superclass entity; null removes inheritance'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'App module name; null selects the base module. Available with Bootify Professional. '}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'superclass': {'type': 'boolean'}, 'restEnabled': {'type': 'boolean'}, 'frontendEnabled': {'type': 'boolean'}, 'paginationEnabled': {'type': 'boolean'}, 'searchFilterEnabled': {'type': 'boolean'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name', 'values'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Name of the new enum'}, 'values': {'type': 'array', 'items': {'type': 'string', 'pattern': '[A-Z]+[A-Z0-9]*(_[A-Z0-9]+)*', 'maxLength': 100}, 'maxItems': 255, 'minItems': 1, 'description': 'Ordered, unique enum values such as DRAFT and PUBLISHED', 'uniqueItems': True}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name', 'path', 'parameters', 'endpoints'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the new frontend controller'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+)*/?)*', 'maxLength': 255, 'description': 'Controller base path, with optional {name} placeholders'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name; null selects the web module'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'path', 'parameters'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Frontend method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries.'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Existing data object name, including entity-generated DTOs, accessible from the controller module. No built-ins, enums or collections. Omit when the method has no input'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Types for every placeholder and query declaration, in the same order as path. Bootify derives whether each parameter is a path or query parameter.'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Types for every placeholder and query declaration, in the same order as path. Bootify derives whether each parameter is a path or query parameter.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'entity', 'unique', 'fields'], 'properties': {'entity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity containing the indexed fields or owning-side relations'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity field or owning-side relation name'}, 'maxItems': 32, 'minItems': 1, 'description': 'Ordered field or owning-side relation names. Order affects index usage; many-to-many relations are not available and a primary key cannot be used alone.', 'uniqueItems': True}, 'unique': {'type': 'boolean', 'description': 'Whether the index enforces a unique field combination'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'name': {'type': 'string', 'description': 'Current canonical selector; copy into subsequent update or delete calls'}, 'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'type', 'fromEntity', 'toEntity'], 'properties': {'type': {'enum': ['MANY_TO_ONE', 'ONE_TO_MANY', 'ONE_TO_ONE', 'MANY_TO_MANY'], 'type': 'string', 'description': 'Cardinality from fromEntity to toEntity'}, 'toField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on toEntity. Required for ONE_TO_MANY and bidirectional relations; also required for self-referencing MANY_TO_MANY relations'}, 'required': {'type': 'boolean', 'description': 'Whether the owning foreign key is required. Not applicable to MANY_TO_MANY or self-relations'}, 'toEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the to side of the cardinality'}, 'fromField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on fromEntity. Required unless an unidirectional ONE_TO_MANY relation omits this reverse field'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'tableName': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Join-table name; required only for MANY_TO_MANY'}, 'fromEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the from side of the cardinality'}, 'unidirectional': {'type': 'boolean', 'description': 'Omit the reverse field. Relations across application modules must be unidirectional'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'identifier': {'type': 'string', 'description': 'Current canonical selector; copy into subsequent update or delete calls'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name', 'path', 'parameters', 'endpoints'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the new REST controller'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+)*/?)*', 'maxLength': 255, 'description': 'Controller base path, with optional {name} placeholders'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name; null selects the web module'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'method', 'path', 'parameters', 'responseType', 'responseStatus'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Endpoint method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries in parameters.'}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE'], 'type': 'string'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Required for POST, PUT and PATCH; omit for other HTTP methods. Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. No collections. Custom types must be accessible from the controller module.'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Types for every placeholder and query declaration, in the same order as path. Bootify derives whether each parameter is a path or query parameter.'}, 'responseType': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. VOID means no response body. Collections: LIST<T>, PAGE<T>, MAP<K,V>; no nesting. Map keys: BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum. Custom types must be accessible from the controller module. Example: PAGE<OrderDTO>.'}, 'responseStatus': {'type': 'integer', 'maximum': 599, 'minimum': 100}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Types for every placeholder and query declaration, in the same order as path. Bootify derives whether each parameter is a path or query parameter.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Security config name'}, 'type': {'enum': ['BASIC_AUTH', 'JWT', 'FORM_SESSION', 'KEYCLOAK_RESOURCE_SERVER', 'KEYCLOAK_CLIENT'], 'type': 'string'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom app module; null selects base'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Security config name'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'rememberMe': {'enum': [None, 'NONE', 'CHECKBOX', 'ALWAYS'], 'type': ['string', 'null']}, 'jwtAlgorithm': {'enum': [None, 'HMAC', 'RSA'], 'type': ['string', 'null']}, 'loginMethods': {'type': 'array', 'items': {'enum': ['DIRECT', 'GOOGLE', 'GITHUB', 'FACEBOOK'], 'type': 'string'}, 'uniqueItems': True}, 'loginClientIds': {'type': 'object', 'additionalProperties': {'type': 'string', 'maxLength': 255, 'minLength': 1}}, 'keycloakRealmId': {'type': ['string', 'null'], 'maxLength': 255}, 'keycloakClientId': {'type': ['string', 'null'], 'maxLength': 255}, 'registrationEndpoint': {'type': 'boolean'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Security config name'}, 'hashField': {'type': ['string', 'null'], 'maxLength': 510}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'sourceEntity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'User source entity; null uses in-memory users'}, 'mapEmailField': {'type': ['string', 'null'], 'maxLength': 510}, 'resetUidField': {'type': ['string', 'null'], 'maxLength': 510}, 'usernameField': {'type': ['string', 'null'], 'maxLength': 510}, 'loginTypeField': {'type': ['string', 'null'], 'maxLength': 510}, 'externalIdField': {'type': ['string', 'null'], 'maxLength': 510}, 'resetStartField': {'type': ['string', 'null'], 'maxLength': 510}, 'mapLastNameField': {'type': ['string', 'null'], 'maxLength': 510}, 'refreshTokenPath': {'type': ['string', 'null'], 'maxLength': 510}, 'mapFirstNameField': {'type': ['string', 'null'], 'maxLength': 510}, 'refreshTokenExpiryPath': {'type': ['string', 'null'], 'maxLength': 510}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['message', 'projectId', 'projectUrl', 'planLevel', 'planStatus', 'project'], 'properties': {'message': {'type': 'string'}, 'project': {'type': 'object', 'required': ['name', 'group', 'buildType', 'language', 'developerPreferences', 'frontend', 'database', 'dependencies', 'planLevel', 'planStatus'], 'properties': {'name': {'type': 'string'}, 'enums': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'values'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Enum name'}, 'values': {'type': 'array', 'items': {'type': 'string', 'pattern': '[A-Z]+[A-Z0-9]*(_[A-Z0-9]+)*', 'maxLength': 100}, 'maxItems': 255, 'minItems': 1, 'description': 'Ordered, unique enum values such as DRAFT and PUBLISHED', 'uniqueItems': True}}, 'additionalProperties': False}, 'description': 'Present when ENUMS is requested in details'}, 'group': {'type': 'string'}, 'indexes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'entity', 'unique', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*(?:\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*)+', 'maxLength': 16384, 'description': 'Automatically derived Entity.field1-field2 identifier'}, 'entity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity containing the indexed fields or owning-side relations'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity field or owning-side relation name'}, 'maxItems': 32, 'minItems': 1, 'description': 'Ordered field or owning-side relation names. Order affects index usage; many-to-many relations are not available and a primary key cannot be used alone.', 'uniqueItems': True}, 'unique': {'type': 'boolean', 'description': 'Whether the index enforces a unique field combination'}}, 'additionalProperties': False}, 'description': 'Present when INDEXES is requested in details'}, 'database': {'type': 'object', 'required': ['type'], 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'entities': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'superclass', 'restEnabled', 'frontendEnabled', 'paginationEnabled', 'searchFilterEnabled', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity name'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'primaryKey': {'type': 'boolean'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'description': 'Complete ordered entity field list. Exactly one primary key is required for a concrete entity unless inherited; abstract superclasses may omit it. A primary key must be the first field and use INTEGER, LONG, UUID or STRING. required is ignored for it.'}, 'inherits': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the superclass entity; null removes inheritance'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'App module name; null selects the base module. Available with Bootify Professional. '}, 'superclass': {'type': 'boolean'}, 'restEnabled': {'type': 'boolean'}, 'frontendEnabled': {'type': 'boolean'}, 'paginationEnabled': {'type': 'boolean'}, 'searchFilterEnabled': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': 'Present when ENTITIES is requested in details'}, 'frontend': {'type': 'object', 'required': ['framework'], 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['identifier', 'type', 'fromEntity', 'toEntity', 'required', 'unidirectional'], 'properties': {'type': {'enum': ['MANY_TO_ONE', 'ONE_TO_MANY', 'ONE_TO_ONE', 'MANY_TO_MANY'], 'type': 'string', 'description': 'Cardinality from fromEntity to toEntity'}, 'toField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on toEntity. Required for ONE_TO_MANY and bidirectional relations; also required for self-referencing MANY_TO_MANY relations'}, 'required': {'type': 'boolean', 'description': 'Whether the owning foreign key is required. Not applicable to MANY_TO_MANY or self-relations'}, 'toEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the to side of the cardinality'}, 'fromField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on fromEntity. Required unless an unidirectional ONE_TO_MANY relation omits this reverse field'}, 'tableName': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Join-table name; required only for MANY_TO_MANY'}, 'fromEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the from side of the cardinality'}, 'identifier': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 511, 'description': 'Canonical relation selector. It is OwningEntity.owningField: fromEntity.fromField for MANY_TO_ONE, ONE_TO_ONE and MANY_TO_MANY, but toEntity.toField for ONE_TO_MANY. Copy this value into updateRelation or deleteRelation.'}, 'unidirectional': {'type': 'boolean', 'description': 'Omit the reverse field. Relations across application modules must be unidirectional'}}, 'additionalProperties': False}, 'description': 'Present when RELATIONS is requested in details. Each identifier is the canonical selector for the current state and must be copied into updateRelation or deleteRelation. Refetch after renaming an entity or changing an owning field.'}, 'appModules': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'references'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Application module name'}, 'references': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Referenced module name'}, 'description': 'Effective direct dependencies by module name'}}, 'additionalProperties': False}, 'description': 'Present when APP_MODULES is requested. Includes the implicit base and web modules.'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dataObjects': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'generated', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Data object name'}, 'entity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Source entity name for generated DTOs'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'minItems': 1, 'description': 'Complete ordered data object field list.'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name'}, 'generated': {'type': 'boolean', 'description': 'True for an entity-generated read-only DTO'}}, 'additionalProperties': False}, 'description': 'Present when DATA_OBJECTS is requested in details. Includes custom data objects and entity-generated DTOs.'}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'required': ['enabled', 'connection'], 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'required': ['modularization', 'multiModulePrefix', 'testSetup', 'actuatorEnabled', 'actuatorEndpoints', 'hateoasEnabled', 'mapStructEnabled', 'serviceInterfaceEnabled'], 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'restControllers': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'generated', 'path', 'parameters', 'endpoints'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Controller name'}, 'path': {'type': 'string'}, 'entity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Source entity name for generated controllers'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'method', 'path', 'parameters', 'responseType', 'responseStatus'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Endpoint method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries in parameters.'}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE'], 'type': 'string'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Required for POST, PUT and PATCH; omit for other HTTP methods. Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. No collections. Custom types must be accessible from the controller module.'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}, 'responseType': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. VOID means no response body. Collections: LIST<T>, PAGE<T>, MAP<K,V>; no nesting. Map keys: BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum. Custom types must be accessible from the controller module. Example: PAGE<OrderDTO>.'}, 'responseStatus': {'type': 'integer', 'maximum': 599, 'minimum': 100}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'generated': {'type': 'boolean', 'description': 'True for entity-generated read-only controllers'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}}, 'additionalProperties': False}, 'description': 'Present when REST_CONTROLLERS is requested in details. Available with Bootify Professional. '}, 'securityConfigs': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'loginMethods', 'loginClientIds', 'authenticationMethod', 'roleSource', 'roles', 'registrationEndpoint'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Security config name'}, 'type': {'enum': ['BASIC_AUTH', 'JWT', 'FORM_SESSION', 'KEYCLOAK_RESOURCE_SERVER', 'KEYCLOAK_CLIENT'], 'type': 'string'}, 'roles': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'paths'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 510, 'minLength': 1}, 'maxItems': 255, 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 255, 'minItems': 1}, 'roleEnum': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Enum supplying role names'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom app module name; null selects base'}, 'hashField': {'type': ['string', 'null'], 'maxLength': 510}, 'rememberMe': {'enum': [None, 'NONE', 'CHECKBOX', 'ALWAYS'], 'type': ['string', 'null']}, 'roleSource': {'enum': ['CONSTANTS', 'ENUM', 'ENTITY_FIELD'], 'type': 'string'}, 'jwtAlgorithm': {'enum': [None, 'HMAC', 'RSA'], 'type': ['string', 'null']}, 'loginMethods': {'type': 'array', 'items': {'enum': ['DIRECT', 'GOOGLE', 'GITHUB', 'FACEBOOK'], 'type': 'string'}, 'uniqueItems': True}, 'sourceEntity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'User source entity name'}, 'mapEmailField': {'type': ['string', 'null'], 'maxLength': 510}, 'resetUidField': {'type': ['string', 'null'], 'maxLength': 510}, 'usernameField': {'type': ['string', 'null'], 'maxLength': 510}, 'loginClientIds': {'type': 'object', 'additionalProperties': {'type': 'string', 'maxLength': 255, 'minLength': 1}}, 'loginTypeField': {'type': ['string', 'null'], 'maxLength': 510}, 'externalIdField': {'type': ['string', 'null'], 'maxLength': 510}, 'keycloakRealmId': {'type': ['string', 'null'], 'maxLength': 255}, 'resetStartField': {'type': ['string', 'null'], 'maxLength': 510}, 'keycloakClientId': {'type': ['string', 'null'], 'maxLength': 255}, 'mapLastNameField': {'type': ['string', 'null'], 'maxLength': 510}, 'refreshTokenPath': {'type': ['string', 'null'], 'maxLength': 510}, 'mapFirstNameField': {'type': ['string', 'null'], 'maxLength': 510}, 'roleFieldEnumPath': {'type': ['string', 'null'], 'maxLength': 510}, 'authenticationMethod': {'enum': ['ANNOTATION_BASED', 'CONFIG_BASED'], 'type': 'string'}, 'registrationEndpoint': {'type': 'boolean'}, 'refreshTokenExpiryPath': {'type': ['string', 'null'], 'maxLength': 510}}, 'additionalProperties': False}, 'description': 'Present when SECURITY_CONFIGS is requested in details'}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}, 'frontendControllers': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'generated', 'path', 'parameters', 'endpoints'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Controller name'}, 'path': {'type': 'string'}, 'entity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Source entity name for generated controllers'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'path', 'parameters', 'inputType'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Frontend method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries.'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Data object name; null when the method has no input'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'generated': {'type': 'boolean', 'description': 'True for entity-generated read-only controllers'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}}, 'additionalProperties': False}, 'description': 'Present when FRONTEND_CONTROLLERS is requested in details. Available with Bootify Professional. '}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'required': ['applicationFormat', 'packageStructure', 'includeAgentInstructions', 'openApiEnabled', 'dockerComposeEnabled', 'javaVersion', 'deployment'], 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'availableSecurityPaths': {'type': 'object', 'required': ['rest', 'frontend'], 'properties': {'rest': {'type': 'array', 'items': {'type': 'string'}}, 'frontend': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Paths currently available for a new security config; use listSecurityPaths with a config name when editing it', 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'additionalProperties': False}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'projectId': {'type': 'string'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'projectUrl': {'type': 'string', 'format': 'uri', 'description': 'The project URL that should always be shown to the user immediately after creation so they can follow all subsequent MCP changes live in their browser'}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Name of the custom module to delete'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Current name of the data object'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the entity to delete'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Name of the enum to delete'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Current name of the frontend controller'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*(?:\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*)+', 'maxLength': 16384, 'description': 'Current Entity.field1-field2 identifier'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'closed'], 'properties': {'closed': {'type': 'boolean', 'const': True, 'description': 'Whether the project has been closed'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'identifier'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'identifier': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 511, 'description': 'Current identifier copied verbatim from addRelation, updateRelation or getProject RELATIONS'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Current name of the REST controller'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Security config to delete'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['message', 'projectId', 'filename', 'contentType', 'downloadUrl'], 'properties': {'message': {'type': 'string'}, 'filename': {'type': 'string'}, 'projectId': {'type': 'string'}, 'contentType': {'type': 'string'}, 'downloadUrl': {'type': 'string', 'format': 'uri'}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'openApiVersion', 'pathCount', 'schemaCount', 'document'], 'properties': {'document': {'type': 'object', 'description': 'The generated OpenAPI document', 'additionalProperties': True}, 'pathCount': {'type': 'integer', 'minimum': 0}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'schemaCount': {'type': 'integer', 'minimum': 0}, 'openApiVersion': {'type': 'string'}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'details': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Without details, only basic configuration and plan information are returned. Select additional areas explicitly, for example ENTITIES, RELATIONS and INDEXES. APP_MODULES, REST_CONTROLLERS and FRONTEND_CONTROLLERS: Available with Bootify Professional. ', 'uniqueItems': True}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['name', 'group', 'buildType', 'language', 'developerPreferences', 'frontend', 'database', 'dependencies', 'planLevel', 'planStatus'], 'properties': {'name': {'type': 'string'}, 'enums': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'values'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Enum name'}, 'values': {'type': 'array', 'items': {'type': 'string', 'pattern': '[A-Z]+[A-Z0-9]*(_[A-Z0-9]+)*', 'maxLength': 100}, 'maxItems': 255, 'minItems': 1, 'description': 'Ordered, unique enum values such as DRAFT and PUBLISHED', 'uniqueItems': True}}, 'additionalProperties': False}, 'description': 'Present when ENUMS is requested in details'}, 'group': {'type': 'string'}, 'indexes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'entity', 'unique', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*(?:\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*)+', 'maxLength': 16384, 'description': 'Automatically derived Entity.field1-field2 identifier'}, 'entity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity containing the indexed fields or owning-side relations'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity field or owning-side relation name'}, 'maxItems': 32, 'minItems': 1, 'description': 'Ordered field or owning-side relation names. Order affects index usage; many-to-many relations are not available and a primary key cannot be used alone.', 'uniqueItems': True}, 'unique': {'type': 'boolean', 'description': 'Whether the index enforces a unique field combination'}}, 'additionalProperties': False}, 'description': 'Present when INDEXES is requested in details'}, 'database': {'type': 'object', 'required': ['type'], 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'entities': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'superclass', 'restEnabled', 'frontendEnabled', 'paginationEnabled', 'searchFilterEnabled', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity name'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'primaryKey': {'type': 'boolean'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'description': 'Complete ordered entity field list. Exactly one primary key is required for a concrete entity unless inherited; abstract superclasses may omit it. A primary key must be the first field and use INTEGER, LONG, UUID or STRING. required is ignored for it.'}, 'inherits': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the superclass entity; null removes inheritance'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'App module name; null selects the base module. Available with Bootify Professional. '}, 'superclass': {'type': 'boolean'}, 'restEnabled': {'type': 'boolean'}, 'frontendEnabled': {'type': 'boolean'}, 'paginationEnabled': {'type': 'boolean'}, 'searchFilterEnabled': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': 'Present when ENTITIES is requested in details'}, 'frontend': {'type': 'object', 'required': ['framework'], 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['identifier', 'type', 'fromEntity', 'toEntity', 'required', 'unidirectional'], 'properties': {'type': {'enum': ['MANY_TO_ONE', 'ONE_TO_MANY', 'ONE_TO_ONE', 'MANY_TO_MANY'], 'type': 'string', 'description': 'Cardinality from fromEntity to toEntity'}, 'toField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on toEntity. Required for ONE_TO_MANY and bidirectional relations; also required for self-referencing MANY_TO_MANY relations'}, 'required': {'type': 'boolean', 'description': 'Whether the owning foreign key is required. Not applicable to MANY_TO_MANY or self-relations'}, 'toEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the to side of the cardinality'}, 'fromField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on fromEntity. Required unless an unidirectional ONE_TO_MANY relation omits this reverse field'}, 'tableName': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Join-table name; required only for MANY_TO_MANY'}, 'fromEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the from side of the cardinality'}, 'identifier': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 511, 'description': 'Canonical relation selector. It is OwningEntity.owningField: fromEntity.fromField for MANY_TO_ONE, ONE_TO_ONE and MANY_TO_MANY, but toEntity.toField for ONE_TO_MANY. Copy this value into updateRelation or deleteRelation.'}, 'unidirectional': {'type': 'boolean', 'description': 'Omit the reverse field. Relations across application modules must be unidirectional'}}, 'additionalProperties': False}, 'description': 'Present when RELATIONS is requested in details. Each identifier is the canonical selector for the current state and must be copied into updateRelation or deleteRelation. Refetch after renaming an entity or changing an owning field.'}, 'appModules': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'references'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Application module name'}, 'references': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Referenced module name'}, 'description': 'Effective direct dependencies by module name'}}, 'additionalProperties': False}, 'description': 'Present when APP_MODULES is requested. Includes the implicit base and web modules.'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dataObjects': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'generated', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Data object name'}, 'entity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Source entity name for generated DTOs'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'minItems': 1, 'description': 'Complete ordered data object field list.'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name'}, 'generated': {'type': 'boolean', 'description': 'True for an entity-generated read-only DTO'}}, 'additionalProperties': False}, 'description': 'Present when DATA_OBJECTS is requested in details. Includes custom data objects and entity-generated DTOs.'}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'required': ['enabled', 'connection'], 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'required': ['modularization', 'multiModulePrefix', 'testSetup', 'actuatorEnabled', 'actuatorEndpoints', 'hateoasEnabled', 'mapStructEnabled', 'serviceInterfaceEnabled'], 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'restControllers': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'generated', 'path', 'parameters', 'endpoints'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Controller name'}, 'path': {'type': 'string'}, 'entity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Source entity name for generated controllers'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'method', 'path', 'parameters', 'responseType', 'responseStatus'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Endpoint method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries in parameters.'}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE'], 'type': 'string'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Required for POST, PUT and PATCH; omit for other HTTP methods. Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. No collections. Custom types must be accessible from the controller module.'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}, 'responseType': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. VOID means no response body. Collections: LIST<T>, PAGE<T>, MAP<K,V>; no nesting. Map keys: BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum. Custom types must be accessible from the controller module. Example: PAGE<OrderDTO>.'}, 'responseStatus': {'type': 'integer', 'maximum': 599, 'minimum': 100}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'generated': {'type': 'boolean', 'description': 'True for entity-generated read-only controllers'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}}, 'additionalProperties': False}, 'description': 'Present when REST_CONTROLLERS is requested in details. Available with Bootify Professional. '}, 'securityConfigs': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'loginMethods', 'loginClientIds', 'authenticationMethod', 'roleSource', 'roles', 'registrationEndpoint'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Security config name'}, 'type': {'enum': ['BASIC_AUTH', 'JWT', 'FORM_SESSION', 'KEYCLOAK_RESOURCE_SERVER', 'KEYCLOAK_CLIENT'], 'type': 'string'}, 'roles': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'paths'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 510, 'minLength': 1}, 'maxItems': 255, 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 255, 'minItems': 1}, 'roleEnum': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Enum supplying role names'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom app module name; null selects base'}, 'hashField': {'type': ['string', 'null'], 'maxLength': 510}, 'rememberMe': {'enum': [None, 'NONE', 'CHECKBOX', 'ALWAYS'], 'type': ['string', 'null']}, 'roleSource': {'enum': ['CONSTANTS', 'ENUM', 'ENTITY_FIELD'], 'type': 'string'}, 'jwtAlgorithm': {'enum': [None, 'HMAC', 'RSA'], 'type': ['string', 'null']}, 'loginMethods': {'type': 'array', 'items': {'enum': ['DIRECT', 'GOOGLE', 'GITHUB', 'FACEBOOK'], 'type': 'string'}, 'uniqueItems': True}, 'sourceEntity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'User source entity name'}, 'mapEmailField': {'type': ['string', 'null'], 'maxLength': 510}, 'resetUidField': {'type': ['string', 'null'], 'maxLength': 510}, 'usernameField': {'type': ['string', 'null'], 'maxLength': 510}, 'loginClientIds': {'type': 'object', 'additionalProperties': {'type': 'string', 'maxLength': 255, 'minLength': 1}}, 'loginTypeField': {'type': ['string', 'null'], 'maxLength': 510}, 'externalIdField': {'type': ['string', 'null'], 'maxLength': 510}, 'keycloakRealmId': {'type': ['string', 'null'], 'maxLength': 255}, 'resetStartField': {'type': ['string', 'null'], 'maxLength': 510}, 'keycloakClientId': {'type': ['string', 'null'], 'maxLength': 255}, 'mapLastNameField': {'type': ['string', 'null'], 'maxLength': 510}, 'refreshTokenPath': {'type': ['string', 'null'], 'maxLength': 510}, 'mapFirstNameField': {'type': ['string', 'null'], 'maxLength': 510}, 'roleFieldEnumPath': {'type': ['string', 'null'], 'maxLength': 510}, 'authenticationMethod': {'enum': ['ANNOTATION_BASED', 'CONFIG_BASED'], 'type': 'string'}, 'registrationEndpoint': {'type': 'boolean'}, 'refreshTokenExpiryPath': {'type': ['string', 'null'], 'maxLength': 510}}, 'additionalProperties': False}, 'description': 'Present when SECURITY_CONFIGS is requested in details'}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}, 'frontendControllers': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'generated', 'path', 'parameters', 'endpoints'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Controller name'}, 'path': {'type': 'string'}, 'entity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Source entity name for generated controllers'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'path', 'parameters', 'inputType'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Frontend method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries.'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Data object name; null when the method has no input'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'generated': {'type': 'boolean', 'description': 'True for entity-generated read-only controllers'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}}, 'additionalProperties': False}, 'description': 'Present when FRONTEND_CONTROLLERS is requested in details. Available with Bootify Professional. '}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'required': ['applicationFormat', 'packageStructure', 'includeAgentInstructions', 'openApiEnabled', 'dockerComposeEnabled', 'javaVersion', 'deployment'], 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'availableSecurityPaths': {'type': 'object', 'required': ['rest', 'frontend'], 'properties': {'rest': {'type': 'array', 'items': {'type': 'string'}}, 'frontend': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Paths currently available for a new security config; use listSecurityPaths with a config name when editing it', 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'path'], 'properties': {'path': {'type': 'string', 'description': 'An exact generated path returned by listProjectFiles'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['message', 'projectId', 'path', 'contentType', 'encoding', 'size', 'content'], 'properties': {'path': {'type': 'string'}, 'size': {'type': 'integer', 'minimum': 0}, 'content': {'type': 'string'}, 'message': {'type': 'string'}, 'encoding': {'enum': ['UTF-8', 'BASE64'], 'type': 'string'}, 'projectId': {'type': 'string'}, 'contentType': {'type': 'string'}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'sql'], 'properties': {'sql': {'type': 'string', 'maxLength': 500000, 'description': 'SQL DDL containing CREATE TABLE statements'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas', 'entitiesAdded', 'entitiesUpdated'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'entitiesAdded': {'type': 'array', 'items': {'type': 'string'}}, 'entitiesUpdated': {'type': 'array', 'items': {'type': 'string'}}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectUrl'], 'properties': {'projectUrl': {'type': 'string', 'maxLength': 255, 'minLength': 12, 'description': 'The project URL or 12-character project ID'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'projectUrl', 'planLevel', 'planStatus'], 'properties': {'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string'}, 'projectUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'query': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Optional case-insensitive text contained in the coordinates'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['dependencies'], 'properties': {'dependencies': {'type': 'array', 'items': {'type': 'string'}}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['message', 'projectId', 'fileCount', 'files'], 'properties': {'files': {'type': 'array', 'items': {'type': 'string'}}, 'message': {'type': 'string'}, 'fileCount': {'type': 'integer'}, 'projectId': {'type': 'string'}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'securityConfigName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Existing config being edited'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['rest', 'frontend'], 'properties': {'rest': {'type': 'array', 'items': {'type': 'string'}}, 'frontend': {'type': 'array', 'items': {'type': 'string'}}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'dependency'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'dependency': {'type': 'string', 'pattern': '^[A-Za-z0-9_.-]+:[A-Za-z0-9_.-]+(?::[^\\s:]+)?$', 'maxLength': 500, 'description': 'Maven coordinates: groupId:artifactId[:version]'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name', 'roleSource', 'roles'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Security config name'}, 'roles': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'paths'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 510, 'minLength': 1}, 'maxItems': 255, 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 255, 'minItems': 1}, 'roleEnum': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Enum supplying role names'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'roleSource': {'enum': ['CONSTANTS', 'ENUM', 'ENTITY_FIELD'], 'type': 'string'}, 'roleFieldEnumPath': {'type': ['string', 'null'], 'maxLength': 510}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'description': 'A project name such as my-project'}, 'group': {'type': 'string', 'pattern': '[a-z]+[a-z0-9]*((-|\\.)[a-z]+[a-z0-9]*)*', 'description': 'A group name such as com.my-group, used for build settings and package name'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}}, 'minProperties': 1, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'lombokEnabled': {'type': 'boolean', 'description': 'Ignored for Kotlin projects'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean', 'description': 'Generate OpenAPI documentation and Swagger UI'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string', 'description': 'Format of the generated Spring application configuration'}, 'dockerComposeEnabled': {'type': 'boolean', 'description': 'Generate Docker Compose support for local development'}, 'includeAgentInstructions': {'type': 'boolean', 'description': 'Generate AGENTS.md with coding agent instructions'}}, 'minProperties': 1, 'additionalProperties': False}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['message', 'projectId', 'projectUrl', 'planLevel', 'planStatus', 'project'], 'properties': {'message': {'type': 'string'}, 'project': {'type': 'object', 'required': ['name', 'group', 'buildType', 'language', 'developerPreferences', 'frontend', 'database', 'dependencies', 'planLevel', 'planStatus'], 'properties': {'name': {'type': 'string'}, 'enums': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'values'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Enum name'}, 'values': {'type': 'array', 'items': {'type': 'string', 'pattern': '[A-Z]+[A-Z0-9]*(_[A-Z0-9]+)*', 'maxLength': 100}, 'maxItems': 255, 'minItems': 1, 'description': 'Ordered, unique enum values such as DRAFT and PUBLISHED', 'uniqueItems': True}}, 'additionalProperties': False}, 'description': 'Present when ENUMS is requested in details'}, 'group': {'type': 'string'}, 'indexes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'entity', 'unique', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*(?:\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*)+', 'maxLength': 16384, 'description': 'Automatically derived Entity.field1-field2 identifier'}, 'entity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity containing the indexed fields or owning-side relations'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity field or owning-side relation name'}, 'maxItems': 32, 'minItems': 1, 'description': 'Ordered field or owning-side relation names. Order affects index usage; many-to-many relations are not available and a primary key cannot be used alone.', 'uniqueItems': True}, 'unique': {'type': 'boolean', 'description': 'Whether the index enforces a unique field combination'}}, 'additionalProperties': False}, 'description': 'Present when INDEXES is requested in details'}, 'database': {'type': 'object', 'required': ['type'], 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'entities': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'superclass', 'restEnabled', 'frontendEnabled', 'paginationEnabled', 'searchFilterEnabled', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity name'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'primaryKey': {'type': 'boolean'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'description': 'Complete ordered entity field list. Exactly one primary key is required for a concrete entity unless inherited; abstract superclasses may omit it. A primary key must be the first field and use INTEGER, LONG, UUID or STRING. required is ignored for it.'}, 'inherits': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the superclass entity; null removes inheritance'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'App module name; null selects the base module. Available with Bootify Professional. '}, 'superclass': {'type': 'boolean'}, 'restEnabled': {'type': 'boolean'}, 'frontendEnabled': {'type': 'boolean'}, 'paginationEnabled': {'type': 'boolean'}, 'searchFilterEnabled': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': 'Present when ENTITIES is requested in details'}, 'frontend': {'type': 'object', 'required': ['framework'], 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['identifier', 'type', 'fromEntity', 'toEntity', 'required', 'unidirectional'], 'properties': {'type': {'enum': ['MANY_TO_ONE', 'ONE_TO_MANY', 'ONE_TO_ONE', 'MANY_TO_MANY'], 'type': 'string', 'description': 'Cardinality from fromEntity to toEntity'}, 'toField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on toEntity. Required for ONE_TO_MANY and bidirectional relations; also required for self-referencing MANY_TO_MANY relations'}, 'required': {'type': 'boolean', 'description': 'Whether the owning foreign key is required. Not applicable to MANY_TO_MANY or self-relations'}, 'toEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the to side of the cardinality'}, 'fromField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on fromEntity. Required unless an unidirectional ONE_TO_MANY relation omits this reverse field'}, 'tableName': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Join-table name; required only for MANY_TO_MANY'}, 'fromEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the from side of the cardinality'}, 'identifier': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 511, 'description': 'Canonical relation selector. It is OwningEntity.owningField: fromEntity.fromField for MANY_TO_ONE, ONE_TO_ONE and MANY_TO_MANY, but toEntity.toField for ONE_TO_MANY. Copy this value into updateRelation or deleteRelation.'}, 'unidirectional': {'type': 'boolean', 'description': 'Omit the reverse field. Relations across application modules must be unidirectional'}}, 'additionalProperties': False}, 'description': 'Present when RELATIONS is requested in details. Each identifier is the canonical selector for the current state and must be copied into updateRelation or deleteRelation. Refetch after renaming an entity or changing an owning field.'}, 'appModules': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'references'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Application module name'}, 'references': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Referenced module name'}, 'description': 'Effective direct dependencies by module name'}}, 'additionalProperties': False}, 'description': 'Present when APP_MODULES is requested. Includes the implicit base and web modules.'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dataObjects': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'generated', 'fields'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Data object name'}, 'entity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Source entity name for generated DTOs'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'minItems': 1, 'description': 'Complete ordered data object field list.'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name'}, 'generated': {'type': 'boolean', 'description': 'True for an entity-generated read-only DTO'}}, 'additionalProperties': False}, 'description': 'Present when DATA_OBJECTS is requested in details. Includes custom data objects and entity-generated DTOs.'}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'required': ['enabled', 'connection'], 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'required': ['modularization', 'multiModulePrefix', 'testSetup', 'actuatorEnabled', 'actuatorEndpoints', 'hateoasEnabled', 'mapStructEnabled', 'serviceInterfaceEnabled'], 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'restControllers': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'generated', 'path', 'parameters', 'endpoints'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Controller name'}, 'path': {'type': 'string'}, 'entity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Source entity name for generated controllers'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'method', 'path', 'parameters', 'responseType', 'responseStatus'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Endpoint method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries in parameters.'}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE'], 'type': 'string'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Required for POST, PUT and PATCH; omit for other HTTP methods. Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. No collections. Custom types must be accessible from the controller module.'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}, 'responseType': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. VOID means no response body. Collections: LIST<T>, PAGE<T>, MAP<K,V>; no nesting. Map keys: BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum. Custom types must be accessible from the controller module. Example: PAGE<OrderDTO>.'}, 'responseStatus': {'type': 'integer', 'maximum': 599, 'minimum': 100}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'generated': {'type': 'boolean', 'description': 'True for entity-generated read-only controllers'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}}, 'additionalProperties': False}, 'description': 'Present when REST_CONTROLLERS is requested in details. Available with Bootify Professional. '}, 'securityConfigs': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'loginMethods', 'loginClientIds', 'authenticationMethod', 'roleSource', 'roles', 'registrationEndpoint'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Security config name'}, 'type': {'enum': ['BASIC_AUTH', 'JWT', 'FORM_SESSION', 'KEYCLOAK_RESOURCE_SERVER', 'KEYCLOAK_CLIENT'], 'type': 'string'}, 'roles': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'paths'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 510, 'minLength': 1}, 'maxItems': 255, 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 255, 'minItems': 1}, 'roleEnum': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Enum supplying role names'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom app module name; null selects base'}, 'hashField': {'type': ['string', 'null'], 'maxLength': 510}, 'rememberMe': {'enum': [None, 'NONE', 'CHECKBOX', 'ALWAYS'], 'type': ['string', 'null']}, 'roleSource': {'enum': ['CONSTANTS', 'ENUM', 'ENTITY_FIELD'], 'type': 'string'}, 'jwtAlgorithm': {'enum': [None, 'HMAC', 'RSA'], 'type': ['string', 'null']}, 'loginMethods': {'type': 'array', 'items': {'enum': ['DIRECT', 'GOOGLE', 'GITHUB', 'FACEBOOK'], 'type': 'string'}, 'uniqueItems': True}, 'sourceEntity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'User source entity name'}, 'mapEmailField': {'type': ['string', 'null'], 'maxLength': 510}, 'resetUidField': {'type': ['string', 'null'], 'maxLength': 510}, 'usernameField': {'type': ['string', 'null'], 'maxLength': 510}, 'loginClientIds': {'type': 'object', 'additionalProperties': {'type': 'string', 'maxLength': 255, 'minLength': 1}}, 'loginTypeField': {'type': ['string', 'null'], 'maxLength': 510}, 'externalIdField': {'type': ['string', 'null'], 'maxLength': 510}, 'keycloakRealmId': {'type': ['string', 'null'], 'maxLength': 255}, 'resetStartField': {'type': ['string', 'null'], 'maxLength': 510}, 'keycloakClientId': {'type': ['string', 'null'], 'maxLength': 255}, 'mapLastNameField': {'type': ['string', 'null'], 'maxLength': 510}, 'refreshTokenPath': {'type': ['string', 'null'], 'maxLength': 510}, 'mapFirstNameField': {'type': ['string', 'null'], 'maxLength': 510}, 'roleFieldEnumPath': {'type': ['string', 'null'], 'maxLength': 510}, 'authenticationMethod': {'enum': ['ANNOTATION_BASED', 'CONFIG_BASED'], 'type': 'string'}, 'registrationEndpoint': {'type': 'boolean'}, 'refreshTokenExpiryPath': {'type': ['string', 'null'], 'maxLength': 510}}, 'additionalProperties': False}, 'description': 'Present when SECURITY_CONFIGS is requested in details'}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}, 'frontendControllers': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'generated', 'path', 'parameters', 'endpoints'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Controller name'}, 'path': {'type': 'string'}, 'entity': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Source entity name for generated controllers'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'path', 'parameters', 'inputType'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Frontend method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries.'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Data object name; null when the method has no input'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'generated': {'type': 'boolean', 'description': 'True for entity-generated read-only controllers'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type', 'query'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}, 'query': {'type': 'boolean', 'description': 'Whether the parameter originates from the query declaration'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Parameters in path order; query is derived from the path declaration'}}, 'additionalProperties': False}, 'description': 'Present when FRONTEND_CONTROLLERS is requested in details. Available with Bootify Professional. '}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'required': ['applicationFormat', 'packageStructure', 'includeAgentInstructions', 'openApiEnabled', 'dockerComposeEnabled', 'javaVersion', 'deployment'], 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'availableSecurityPaths': {'type': 'object', 'required': ['rest', 'frontend'], 'properties': {'rest': {'type': 'array', 'items': {'type': 'string'}}, 'frontend': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Paths currently available for a new security config; use listSecurityPaths with a config name when editing it', 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'additionalProperties': False}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'projectId': {'type': 'string'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'projectUrl': {'type': 'string', 'format': 'uri', 'description': 'The project URL that should always be shown to the user immediately after creation so they can follow all subsequent MCP changes live in their browser'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string', 'description': 'Generated test setup'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string', 'description': 'Spring Session persistence; JDBC uses the configured relational or embedded database'}, 'hateoasEnabled': {'type': 'boolean', 'description': 'Use HATEOAS for the REST API'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string', 'description': 'NONE generates a monolith; MODULITH and MULTI_MODULE activate the application-module graph'}, 'actuatorEnabled': {'type': 'boolean', 'description': 'Add Spring Boot Actuator'}, 'mapStructEnabled': {'type': 'boolean', 'description': 'Use MapStruct instead of generated mapping code'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}, 'description': 'Actuator endpoints to expose; an empty list exposes all available endpoints', 'uniqueItems': True}, 'multiModulePrefix': {'type': 'boolean', 'description': 'Prefix generated module artifact names with the project name in MULTI_MODULE mode'}, 'serviceInterfaceEnabled': {'type': 'boolean', 'description': 'Generate separate service interfaces and implementations'}}, 'minProperties': 2, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Current name of the custom module'}, 'newName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'New module name; omit to keep its name'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'references': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Referenced custom module name'}, 'maxItems': 255, 'description': 'Unique names of existing custom modules used as direct dependencies. Omit or use an empty array to depend on the implicit base module.', 'uniqueItems': True}}, 'minProperties': 3, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}}, 'minProperties': 2, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'tablePrefix': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*'}, 'tableSuffix': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'pluralizeTableName': {'type': 'boolean'}}, 'minProperties': 2, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Current name of the data object'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'minItems': 1, 'description': 'Complete ordered data object field list.'}, 'newName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'New data object name; omit to keep its name'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom app module; null selects base. Available with Bootify Professional. '}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'minProperties': 3, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'enabled': {'type': 'boolean'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'dateCreatedName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*'}, 'lastUpdatedName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*'}}, 'minProperties': 2, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean', 'description': 'Generate OpenAPI documentation and Swagger UI'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string', 'description': 'Format of the generated Spring application configuration'}, 'dockerComposeEnabled': {'type': 'boolean', 'description': 'Generate Docker Compose support for local development'}, 'includeAgentInstructions': {'type': 'boolean', 'description': 'Generate AGENTS.md with coding agent instructions'}}, 'minProperties': 2, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Current name of the entity to update'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'max': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Maximum length for STRING or LIST<STRING> fields'}, 'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field name'}, 'type': {'type': 'string', 'maxLength': 255, 'description': 'Built-in types: BOOLEAN, UUID, FILE, STRING, TEXT, INTEGER, LONG, DOUBLE, NUMERIC, LOCAL_DATE, LOCAL_TIME, LOCAL_DATE_TIME, OFFSET_DATE_TIME. Use an existing project enum or custom data object name for custom types; the type must be accessible from the owning module. Entity-generated DTOs cannot be used as field types. Collections use LIST<T> and MAP<K,V>, for example LIST<STRING> or MAP<STRING,OrderStatus>. Container nesting and PAGE fields are not supported. FILE is allowed only as a direct field type; TEXT cannot be a map value. Map keys are BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum name.'}, 'scale': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Fractional decimal digits for NUMERIC or LIST<NUMERIC>; must not exceed precision'}, 'required': {'type': 'boolean'}, 'precision': {'type': 'integer', 'maximum': 99999, 'minimum': 1, 'description': 'Total decimal digits for NUMERIC or LIST<NUMERIC> fields'}, 'primaryKey': {'type': 'boolean'}, 'fileEndings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 255}, 'maxItems': 255, 'description': 'Allowed file endings for FILE fields', 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 1024, 'description': 'Complete ordered entity field list. Exactly one primary key is required for a concrete entity unless inherited; abstract superclasses may omit it. A primary key must be the first field and use INTEGER, LONG, UUID or STRING. required is ignored for it.'}, 'newName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'New entity name; omit to keep the current name'}, 'inherits': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Name of the superclass entity; null removes inheritance'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'App module name; null selects the base module. Available with Bootify Professional. '}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'superclass': {'type': 'boolean'}, 'restEnabled': {'type': 'boolean'}, 'frontendEnabled': {'type': 'boolean'}, 'paginationEnabled': {'type': 'boolean'}, 'searchFilterEnabled': {'type': 'boolean'}}, 'minProperties': 3, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Current name of the enum to update'}, 'values': {'type': 'array', 'items': {'type': 'string', 'pattern': '[A-Z]+[A-Z0-9]*(_[A-Z0-9]+)*', 'maxLength': 100}, 'maxItems': 255, 'minItems': 1, 'description': 'Ordered, unique enum values such as DRAFT and PUBLISHED', 'uniqueItems': True}, 'newName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'New enum name; omit to keep the current name'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'minProperties': 3, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Used only with Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Used only with Vite or Webpack for Thymeleaf and JTE'}}, 'minProperties': 2, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Current name of the frontend controller'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+)*/?)*', 'maxLength': 255, 'description': 'Controller base path, with optional {name} placeholders'}, 'newName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'New controller name; omit to keep its name'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name; null selects the web module'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'path', 'parameters'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Frontend method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]+(\\.|_[a-zA-Z0-9]+)*|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries.'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Existing data object name, including entity-generated DTOs, accessible from the controller module. No built-ins, enums or collections. Omit when the method has no input'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Types for every placeholder and query declaration, in the same order as path. Bootify derives whether each parameter is a path or query parameter.'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Types for every placeholder and query declaration, in the same order as path. Bootify derives whether each parameter is a path or query parameter.'}}, 'minProperties': 3, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*(?:\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*)+', 'maxLength': 16384, 'description': 'Current Entity.field1-field2 identifier'}, 'entity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity containing the indexed fields or owning-side relations'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity field or owning-side relation name'}, 'maxItems': 32, 'minItems': 1, 'description': 'Ordered field or owning-side relation names. Order affects index usage; many-to-many relations are not available and a primary key cannot be used alone.', 'uniqueItems': True}, 'unique': {'type': 'boolean', 'description': 'Whether the index enforces a unique field combination'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}}, 'minProperties': 3, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'name': {'type': 'string', 'description': 'Current canonical selector; copy into subsequent update or delete calls'}, 'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'from': {'type': ['string', 'null'], 'pattern': '[A-Za-z0-9_\\-\\+]+(\\.[_A-Za-z0-9\\-]+)*@[A-Za-z0-9\\-]+(\\.[A-Za-z0-9\\-]+)*(\\.[A-Za-z]{2,})'}, 'host': {'type': ['string', 'null'], 'pattern': '[a-zA-Z0-9]+((-|\\.)[a-zA-Z0-9]+)*(\\.[A-Za-z]{2,})'}, 'enabled': {'type': 'boolean'}, 'username': {'type': ['string', 'null'], 'pattern': '.+'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': ['string', 'null'], 'pattern': '.+'}}, 'minProperties': 2, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'identifier'], 'properties': {'type': {'enum': ['MANY_TO_ONE', 'ONE_TO_MANY', 'ONE_TO_ONE', 'MANY_TO_MANY'], 'type': 'string', 'description': 'Cardinality from fromEntity to toEntity'}, 'toField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on toEntity. Required for ONE_TO_MANY and bidirectional relations; also required for self-referencing MANY_TO_MANY relations'}, 'required': {'type': 'boolean', 'description': 'Whether the owning foreign key is required. Not applicable to MANY_TO_MANY or self-relations'}, 'toEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the to side of the cardinality'}, 'fromField': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Field generated on fromEntity. Required unless an unidirectional ONE_TO_MANY relation omits this reverse field'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'tableName': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Join-table name; required only for MANY_TO_MANY'}, 'fromEntity': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Entity on the from side of the cardinality'}, 'identifier': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*\\.[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 511, 'description': 'Current identifier copied verbatim from addRelation, updateRelation or getProject RELATIONS'}, 'unidirectional': {'type': 'boolean', 'description': 'Omit the reverse field. Relations across application modules must be unidirectional'}}, 'minProperties': 3, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'identifier': {'type': 'string', 'description': 'Current canonical selector; copy into subsequent update or delete calls'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Current name of the REST controller'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+)*/?)*', 'maxLength': 255, 'description': 'Controller base path, with optional {name} placeholders'}, 'newName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'New controller name; omit to keep its name'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom application module name; null selects the web module'}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'method', 'path', 'parameters', 'responseType', 'responseStatus'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Endpoint method name'}, 'path': {'type': 'string', 'pattern': '/?(([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+((-|/)([a-zA-Z0-9]|(\\{[a-zA-Z]+\\}))+)*/?)*(\\?([a-zA-Z]+[a-zA-Z0-9]*)=(&([a-zA-Z]+[a-zA-Z0-9]*)=)*)?', 'maxLength': 255, 'description': 'Endpoint path. Declare path parameters as {name} and query parameters as ?name=&other=, then provide matching name and type entries in parameters.'}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE'], 'type': 'string'}, 'inputType': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Required for POST, PUT and PATCH; omit for other HTTP methods. Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. No collections. Custom types must be accessible from the controller module.'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Types for every placeholder and query declaration, in the same order as path. Bootify derives whether each parameter is a path or query parameter.'}, 'responseType': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Types: VOID, BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID, or an existing project enum or data object name, including entity-generated DTOs. VOID means no response body. Collections: LIST<T>, PAGE<T>, MAP<K,V>; no nesting. Map keys: BOOLEAN, STRING, INTEGER, LONG, DOUBLE, UUID or an enum. Custom types must be accessible from the controller module. Example: PAGE<OrderDTO>.'}, 'responseStatus': {'type': 'integer', 'maximum': 599, 'minimum': 100}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Parameter name'}, 'type': {'enum': ['BOOLEAN', 'STRING', 'INTEGER', 'LONG', 'UUID'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 255, 'description': 'Types for every placeholder and query declaration, in the same order as path. Bootify derives whether each parameter is a path or query parameter.'}}, 'minProperties': 3, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId', 'name'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'Current config name'}, 'type': {'enum': ['BASIC_AUTH', 'JWT', 'FORM_SESSION', 'KEYCLOAK_RESOURCE_SERVER', 'KEYCLOAK_CLIENT'], 'type': 'string'}, 'newName': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 100, 'description': 'New config name'}, 'appModule': {'type': ['string', 'null'], 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'maxLength': 255, 'description': 'Custom app module; null selects base'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'authenticationMethod': {'enum': ['ANNOTATION_BASED', 'CONFIG_BASED'], 'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'name': {'type': 'string', 'pattern': '[a-zA-Z]+[a-zA-Z0-9]*(-[a-zA-Z0-9]+)*', 'description': 'A project name such as my-project'}, 'group': {'type': 'string', 'pattern': '[a-z]+[a-z0-9]*((-|\\.)[a-z]+[a-z0-9]*)*', 'description': 'A group name such as com.my-group, used for build settings and package name'}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'lombokEnabled': {'type': 'boolean', 'description': 'Ignored for Kotlin projects'}}, 'minProperties': 2, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'minProperties': 2, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['projectId', 'changes', 'affectedAreas'], 'properties': {'changes': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'group': {'type': 'string'}, 'database': {'type': 'object', 'properties': {'type': {'enum': ['NONE', 'OTHER', 'MSSQL', 'MYSQL', 'MARIADB', 'ORACLE', 'POSTGRES', 'MONGODB', 'DERBY', 'H2', 'HSQL'], 'type': 'string'}, 'schemaType': {'enum': ['NONE', 'HIBERNATE', 'FLYWAY', 'LIQUIBASE'], 'type': 'string'}, 'tablePrefix': {'type': 'string'}, 'tableSuffix': {'type': 'string'}, 'namingStrategy': {'enum': ['NONE', 'UPPERCASE_ALL', 'UPPERCASE_TABLES', 'CAMELCASE_ALL', 'CAMELCASE_TABLES'], 'type': 'string'}, 'dateCreatedName': {'type': 'string'}, 'lastUpdatedName': {'type': 'string'}, 'mongoSchemaType': {'enum': ['NONE', 'MONGOCK'], 'type': 'string'}, 'dateFieldsEnabled': {'type': 'boolean'}, 'pluralizeTableName': {'type': 'boolean'}}, 'additionalProperties': False}, 'frontend': {'type': 'object', 'properties': {'buildTool': {'enum': ['NONE', 'VITE', 'WEBPACK'], 'type': 'string'}, 'framework': {'enum': ['NONE', 'THYMELEAF', 'JTE', 'ANGULAR', 'REACT'], 'type': 'string'}, 'htmxEnabled': {'type': 'boolean', 'description': 'Present only for Thymeleaf and JTE'}, 'cssFramework': {'enum': ['BOOTSTRAP', 'TAILWIND'], 'type': 'string'}, 'typescriptEnabled': {'type': 'boolean', 'description': 'Present only for Vite or Webpack with Thymeleaf and JTE'}}, 'additionalProperties': False}, 'language': {'enum': ['JAVA', 'KOTLIN'], 'type': 'string'}, 'buildType': {'enum': ['GRADLE', 'MAVEN'], 'type': 'string'}, 'planLevel': {'enum': ['FREE', 'PROFESSIONAL', 'ENTERPRISE'], 'type': 'string', 'description': 'The feature level assigned to the project'}, 'planStatus': {'enum': ['VALID', 'EXPIRED'], 'type': 'string', 'description': "Whether the project's plan is still valid"}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dependencies added to the generated Maven or Gradle build. Compatible versions are supplied by Spring Boot dependency management.', 'uniqueItems': True}, 'mailSettings': {'type': 'object', 'properties': {'from': {'type': 'string'}, 'host': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'username': {'type': 'string'}, 'connection': {'enum': ['TLS', 'SSL'], 'type': 'string'}, 'displayName': {'type': 'string'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'lombokEnabled': {'type': 'boolean', 'description': 'Whether Lombok is enabled; present only for Java projects'}, 'advancedOptions': {'type': 'object', 'properties': {'testSetup': {'enum': ['NONE', 'TESTCONTAINERS', 'PLAYWRIGHT', 'ALL'], 'type': 'string'}, 'springSession': {'enum': ['NONE', 'JDBC', 'REDIS'], 'type': 'string'}, 'hateoasEnabled': {'type': 'boolean'}, 'modularization': {'enum': ['NONE', 'MODULITH', 'MULTI_MODULE'], 'type': 'string'}, 'actuatorEnabled': {'type': 'boolean'}, 'mapStructEnabled': {'type': 'boolean'}, 'actuatorEndpoints': {'type': 'array', 'items': {'enum': ['auditevents', 'beans', 'caches', 'conditions', 'configprops', 'env', 'flyway', 'health', 'httpexchanges', 'info', 'integrationgraph', 'loggers', 'liquibase', 'metrics', 'mappings', 'modulith', 'quartz', 'scheduledtasks', 'sessions', 'shutdown', 'startup', 'threaddump', 'heapdump', 'logfile', 'prometheus'], 'type': 'string'}}, 'multiModulePrefix': {'type': 'boolean'}, 'serviceInterfaceEnabled': {'type': 'boolean'}}, 'description': 'Available with Bootify Professional. ', 'additionalProperties': False}, 'includeInputRow': {'type': 'boolean', 'description': 'Include inputRow and supporting form utilities; requires Thymeleaf, jte, Angular or React'}, 'includeFileHandling': {'type': 'boolean', 'description': 'Include file handling services and database storage'}, 'includeSearchFilter': {'type': 'boolean', 'description': 'Include frontend search filter utilities; requires a frontend framework'}, 'developerPreferences': {'type': 'object', 'properties': {'deployment': {'enum': ['NONE', 'HEROKU_GITHUB', 'HEROKU_GITLAB'], 'type': 'string'}, 'javaVersion': {'enum': [17, 21, 25], 'type': 'integer'}, 'openApiEnabled': {'type': 'boolean'}, 'packageStructure': {'enum': ['TECHNICAL', 'DOMAIN_DRIVEN', 'MIXED'], 'type': 'string', 'description': 'Package layout: TECHNICAL groups classes by technical type in packages such as domain, repos, service and rest; DOMAIN_DRIVEN groups all classes related to an entity in a package named after that entity; MIXED creates an entity package with technical subpackages.'}, 'applicationFormat': {'enum': ['YAML', 'PROPERTIES'], 'type': 'string'}, 'dockerComposeEnabled': {'type': 'boolean'}, 'includeAgentInstructions': {'type': 'boolean'}}, 'additionalProperties': False}, 'includePaginationAndSorting': {'type': 'boolean', 'description': 'Include frontend pagination and sorting utilities; requires a frontend framework'}}, 'description': 'Only settings whose values actually changed, including automatic effects, using final stored values in MCP format. Nested objects contain changed properties only. Empty when no settings changed; values that are no longer exposed are omitted.', 'additionalProperties': False}, 'projectId': {'type': 'string', 'description': 'The project ID returned by startProject'}, 'affectedAreas': {'type': 'array', 'items': {'enum': ['APP_MODULES', 'ENUMS', 'DATA_OBJECTS', 'ENTITIES', 'RELATIONS', 'INDEXES', 'REST_CONTROLLERS', 'FRONTEND_CONTROLLERS', 'SECURITY_CONFIGS'], 'type': 'string'}, 'description': 'Object lists changed directly or by automatic effects. Lists are not returned; use getProject with these details when needed. Empty for no list changes.', 'uniqueItems': True}, 'userProjectChanged': {'type': 'boolean', 'const': True, 'description': 'Present only once when the project appears to have been changed by the user since the preceding MCP call within the last two hours'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
TinyFn
Offers deterministic utility functions for mathematics, conversions, validation, hashing, encoding, arrays, dates, colors, and pa…
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Andreax
Offers pay-per-call AI services for inference, agent and workflow design, OCR and transcription, code generation and review, clas…
Vee3
Manages Clerk authentication infrastructure, including users, organizations, domains, sessions, tokens, OAuth, SSO, machines, per…
Courier
Provides notification delivery infrastructure for users, tenants, lists, templates, preferences, journeys, automations, brands, a…
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
IA-QA — 130+ QA & Dev Tools for AI Agents
Provides deterministic QA, evaluation, testing, code analysis, prompt and RAG checks, model comparison, and web security diagnost…
apis-io
Provides catalog search, comparison, scoring, enrichment, lists, and dataset exports for APIs, providers, specifications, workflo…