An MCP (Model Context Protocol) server that provides access to Spring Initializr functionality, allowing AI assistants to generate and download Spring Boot projects programmatically.
This project implements an MCP server that wraps the Spring Initializr API, enabling AI assistants (like Claude) to create Spring Boot projects with custom configurations. Instead of manually visiting start.spring.io, you can now ask your AI assistant to generate projects with specific dependencies, Java versions, and project structures.
- Generate Spring Boot Projects: Create new Spring Boot projects with custom configurations
- Flexible Configuration: Support for different project types (Maven/Gradle), languages (Java/Kotlin/Groovy), and Java versions
- Dependency Management: Add popular Spring Boot dependencies automatically
- Native Compilation: Fast startup times with GraalVM native compilation
- Cross-Platform: Native binaries available for Linux, Windows, and macOS (x64 and ARM64)
- Automatic Extraction: Optional extraction of downloaded ZIP files
- Dynamic Metadata: Automatically fetches latest Spring Boot versions and dependencies
When generating a project, you can specify:
- Project Type:
maven-project
,gradle-project
,gradle-project-kotlin
- Language:
java
,kotlin
,groovy
- Java Version:
17
,21
,24
(defaults to17
) - Packaging:
jar
,war
(defaults tojar
) - Dependencies: Hundreds of Spring Boot starters and dependencies
- Project Metadata: Group ID, Artifact ID, name, description, package name
- Download Options: Custom download location and automatic ZIP extraction
Download the appropriate binary for your platform from the Releases page:
- Linux x64:
springinitializr-mcp-linux-x64
- Windows x64:
springinitializr-mcp-windows-x64.exe
- macOS x64:
springinitializr-mcp-macos-x64
- macOS ARM64:
springinitializr-mcp-macos-arm64
Requirements:
- Java 24
- GraalVM (for native compilation)
git clone https://github.com/hpalma/springinitializr-mcp.git
cd springinitializr-mcp
./gradlew build
./gradlew nativeCompile
Add the MCP server to your Claude Desktop configuration:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
:
{ "mcpServers": { "springinitializr": { "command": "/path/to/springinitializr-mcp-binary" } } }