naftiko: 1.0.0-alpha2 info: label: Spring Framework - Project Bootstrapping description: Workflow capability for discovering Spring Boot options and generating new Spring Boot projects. Combines Spring Initializr metadata discovery and project generation. Used by developers, DevOps teams, and CI/CD pipelines to scaffold new Spring-based microservices and applications. tags: - Bootstrap - Code Generation - Developer Experience - Framework - Project Generation - Spring - Spring Boot created: '2026-05-02' modified: '2026-05-06' capability: consumes: - type: http namespace: spring-initializr baseUri: https://start.spring.io description: Official Spring Initializr project generation API resources: - name: metadata path: / description: Initializr metadata discovery operations: - name: get-metadata method: GET description: Get available dependencies, build tools, languages, and Java versions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dependencies path: /dependencies description: Available Spring Boot starters operations: - name: list-dependencies method: GET description: List all available Spring Boot starter dependencies inputParameters: - name: bootVersion in: query type: string required: false description: Filter by Spring Boot version outputRawFormat: json outputParameters: - name: result type: object value: $. - name: generate path: /starter.zip description: Project archive generation operations: - name: generate-project method: GET description: Generate a Spring Boot project ZIP archive inputParameters: - name: type in: query type: string required: false description: Build system (maven-project, gradle-project) - name: language in: query type: string required: false description: Language (java, kotlin, groovy) - name: bootVersion in: query type: string required: false description: Spring Boot version - name: groupId in: query type: string required: false description: Maven group ID - name: artifactId in: query type: string required: false description: Maven artifact ID - name: dependencies in: query type: string required: false description: Comma-separated dependency IDs - name: javaVersion in: query type: string required: false description: Java version (21, 17, 11) - name: packaging in: query type: string required: false description: Packaging type (jar, war) outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: project-bootstrapping-api description: Unified REST API for Spring Boot project discovery and generation. resources: - path: /v1/starters name: starters description: Spring Boot starter dependency discovery operations: - method: GET name: list-starters description: List all available Spring Boot starter dependencies call: spring-initializr.list-dependencies with: bootVersion: rest.bootVersion outputParameters: - type: object mapping: $. - path: /v1/options name: generation-options description: Project generation configuration options operations: - method: GET name: get-options description: Get all available options for Spring Boot project generation call: spring-initializr.get-metadata outputParameters: - type: object mapping: $. - path: /v1/projects/generate name: project-generation description: Spring Boot project generation operations: - method: GET name: generate-project description: Generate a Spring Boot project with the specified configuration call: spring-initializr.generate-project with: type: rest.type language: rest.language bootVersion: rest.bootVersion groupId: rest.groupId artifactId: rest.artifactId dependencies: rest.dependencies javaVersion: rest.javaVersion packaging: rest.packaging outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: project-bootstrapping-mcp transport: http description: MCP server for AI-assisted Spring Boot project bootstrapping and dependency discovery. tools: - name: discover-spring-boot-options description: Discover all available Spring Boot versions, build tools, languages, and Java versions from Spring Initializr hints: readOnly: true openWorld: true call: spring-initializr.get-metadata outputParameters: - type: object mapping: $. - name: find-spring-starters description: Find available Spring Boot starter dependencies, optionally filtered by a specific Spring Boot version hints: readOnly: true openWorld: true call: spring-initializr.list-dependencies with: bootVersion: tools.bootVersion outputParameters: - type: object mapping: $. - name: create-spring-boot-project description: Generate a new Spring Boot application project. Specify build tool (maven-project or gradle-project), language (java/kotlin/groovy), Spring Boot version, group ID, artifact ID, and comma-separated dependency IDs (e.g., 'web,data-jpa,security,actuator'). hints: readOnly: false destructive: false call: spring-initializr.generate-project with: type: tools.buildTool language: tools.language bootVersion: tools.bootVersion groupId: tools.groupId artifactId: tools.artifactId dependencies: tools.dependencies javaVersion: tools.javaVersion packaging: tools.packaging outputParameters: - type: object mapping: $.