Spring Framework · Capability
Spring Initializr API — Generation
Spring Initializr API — Generation. 2 operations. Lead operation: Generate Project Archive (TGZ). Self-contained Naftiko capability covering one Spring Framework business surface.
What You Can Do
GET
Generateprojecttgz
— Generate Project Archive (TGZ)
/v1/starter-tgz
GET
Generateproject
— Generate Project Archive
/v1/starter-zip
MCP Tools
generate-project-archive-tgz
Generate Project Archive (TGZ)
read-only
idempotent
generate-project-archive
Generate Project Archive
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Spring Initializr API — Generation
description: 'Spring Initializr API — Generation. 2 operations. Lead operation: Generate Project Archive (TGZ). Self-contained
Naftiko capability covering one Spring Framework business surface.'
tags:
- Spring Framework
- Generation
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SPRING_FRAMEWORK_API_KEY: SPRING_FRAMEWORK_API_KEY
capability:
consumes:
- type: http
namespace: spring-initializr-generation
baseUri: https://start.spring.io
description: Spring Initializr API — Generation business capability. Self-contained, no shared references.
resources:
- name: starter.tgz
path: /starter.tgz
operations:
- name: generateprojecttgz
method: GET
description: Generate Project Archive (TGZ)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: type
in: query
type: string
- name: language
in: query
type: string
- name: bootVersion
in: query
type: string
- name: groupId
in: query
type: string
- name: artifactId
in: query
type: string
- name: dependencies
in: query
type: array
- name: starter.zip
path: /starter.zip
operations:
- name: generateproject
method: GET
description: Generate Project Archive
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: type
in: query
type: string
description: Build system type
- name: language
in: query
type: string
- name: bootVersion
in: query
type: string
description: Spring Boot version (e.g., 3.3.0)
- name: baseDir
in: query
type: string
description: Base directory name within the ZIP
- name: groupId
in: query
type: string
- name: artifactId
in: query
type: string
- name: name
in: query
type: string
- name: description
in: query
type: string
- name: packageName
in: query
type: string
- name: packaging
in: query
type: string
- name: javaVersion
in: query
type: string
- name: dependencies
in: query
type: array
description: Comma-separated dependency IDs (e.g., web,data-jpa,security)
exposes:
- type: rest
namespace: spring-initializr-generation-rest
port: 8080
description: REST adapter for Spring Initializr API — Generation. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/starter-tgz
name: starter-tgz
description: REST surface for starter.tgz.
operations:
- method: GET
name: generateprojecttgz
description: Generate Project Archive (TGZ)
call: spring-initializr-generation.generateprojecttgz
with:
type: rest.type
language: rest.language
bootVersion: rest.bootVersion
groupId: rest.groupId
artifactId: rest.artifactId
dependencies: rest.dependencies
outputParameters:
- type: object
mapping: $.
- path: /v1/starter-zip
name: starter-zip
description: REST surface for starter.zip.
operations:
- method: GET
name: generateproject
description: Generate Project Archive
call: spring-initializr-generation.generateproject
with:
type: rest.type
language: rest.language
bootVersion: rest.bootVersion
baseDir: rest.baseDir
groupId: rest.groupId
artifactId: rest.artifactId
name: rest.name
description: rest.description
packageName: rest.packageName
packaging: rest.packaging
javaVersion: rest.javaVersion
dependencies: rest.dependencies
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: spring-initializr-generation-mcp
port: 9090
transport: http
description: MCP adapter for Spring Initializr API — Generation. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: generate-project-archive-tgz
description: Generate Project Archive (TGZ)
hints:
readOnly: true
destructive: false
idempotent: true
call: spring-initializr-generation.generateprojecttgz
with:
type: tools.type
language: tools.language
bootVersion: tools.bootVersion
groupId: tools.groupId
artifactId: tools.artifactId
dependencies: tools.dependencies
outputParameters:
- type: object
mapping: $.
- name: generate-project-archive
description: Generate Project Archive
hints:
readOnly: true
destructive: false
idempotent: true
call: spring-initializr-generation.generateproject
with:
type: tools.type
language: tools.language
bootVersion: tools.bootVersion
baseDir: tools.baseDir
groupId: tools.groupId
artifactId: tools.artifactId
name: tools.name
description: tools.description
packageName: tools.packageName
packaging: tools.packaging
javaVersion: tools.javaVersion
dependencies: tools.dependencies
outputParameters:
- type: object
mapping: $.