关于 Springboot Bootstrap Mcp
Springboot Bootstrap Mcp 提供 MCP 工具,用于查询 Spring Initializr 选项并生成定制的 Spring Boot 项目。开发者可将项目保存为 ZIP 文件,或直接解压到目录。
主要功能
- 01获取 Spring Initializr 配置选项
- 02自定义构建工具、语言和依赖
- 03将项目保存为 ZIP 文件
- 04将项目直接解压到目录
- 05提供原生二进制文件和 JAR
适用场景
- 01生成 Spring Boot REST API 项目
- 02创建包含数据库依赖的微服务
- 03将项目解压到目录以便 IDE 打开
MCP 相关
向 MCP 客户端提供查询 Spring Initializr 选项和下载已配置 Spring Boot 项目的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Spring Boot Bootstrap MCP 服务
一个使用 Spring Initializr 引导创建 Spring Boot 项目的 Model Context Protocol(MCP)服务。此服务为 AI 助手提供工具,用于发现可用的 Spring Boot 配置并生成自定义项目模板。
功能
可用工具
-
getSpringBootInitDetails
- 从 Spring Initializr 获取所有可用的配置选项
- 返回可用的 Spring Boot 版本、依赖项、Java 版本等
- 首先使用此工具来发现有效的参数值
-
downloadSpringBootProject
- 将配置完整的 Spring Boot 项目下载为 ZIP 文件,或直接解压到目录
- 智能路径检测:如果路径以
.zip结尾,则保存为 ZIP 文件;否则将所有文件解压到目录 - 支持自定义构建工具、语言、依赖项等
- 如果需要,会自动创建父目录
- 解压后的项目可立即在 IDE 中打开
快速开始
1. 下载服务
前往 Releases 页面,下载适用于你平台的版本:
选项 A:原生二进制文件(推荐——启动速度极快)
启动速度最快(约 87ms),无需安装 Java!
- Windows:下载
app-bootstrap.exe - macOS:下载
app-bootstrap(macOS 二进制文件) - Linux:下载
app-bootstrap(Linux 二进制文件)
保存到:C:/mcp-servers/(Windows)或 ~/mcp-servers/(Mac/Linux)
macOS/Linux:将二进制文件设为可执行:
chmod +x ~/mcp-servers/app-bootstrap
选项 B:JAR 文件(需要 Java 21+)
下载 app-bootstrap-0.0.1-SNAPSHOT.jar
保存到:C:/mcp-servers/app-bootstrap.jar(Windows)或 ~/mcp-servers/app-bootstrap.jar(Mac/Linux)
2. 配置你的 MCP 客户端
选择下方的客户端并添加配置:
GitHub Copilot(VS Code)
编辑:%APPDATA%\Code\User\mcp.json(Windows)或 ~/Library/Application Support/Code/User/mcp.json(Mac/Linux)
原生二进制文件(推荐——速度最快):
{
"mcpServers": {
"springboot-bootstrap": {
"command": "C:/mcp-servers/app-bootstrap.exe",
"args": []
}
}
}
JAR 文件:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "C:/mcp-servers/app-bootstrap.jar"]
}
}
}
Claude Desktop
编辑:%APPDATA%\Claude\claude_desktop_config.json(Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json(Mac)
原生二进制文件(推荐——速度最快):
{
"mcpServers": {
"springboot-bootstrap": {
"command": "C:/mcp-servers/app-bootstrap.exe",
"args": []
}
}
}
macOS/Linux 原生二进制文件:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "/Users/username/mcp-servers/app-bootstrap",
"args": []
}
}
}
JAR 文件:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "C:/mcp-servers/app-bootstrap.jar"]
}
}
}
其他 MCP 客户端(Cline、Zed、Cody、Continue.dev)
原生二进制文件(推荐——速度最快):
{
"mcpServers": {
"springboot-bootstrap": {
"command": "/path/to/app-bootstrap",
"args": []
}
}
}
JAR 文件:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "/path/to/app-bootstrap.jar"]
}
}
}
路径示例:
- Windows 原生二进制文件:
C:/mcp-servers/app-bootstrap.exe - Mac/Linux 原生二进制文件:
/Users/username/mcp-servers/app-bootstrap - JAR:
/Users/username/mcp-servers/app-bootstrap.jar
3. 重启客户端
重启 VS Code、Claude Desktop 或你的 MCP 客户端,以加载服务。
4. 开始使用
尝试这样的提示词:
# Download as ZIP file
Create a Spring Boot REST API with PostgreSQL and JPA, save to C:/projects/myapi.zip
# Extract directly to directory (ready to open in IDE)
Create a Spring Boot REST API with PostgreSQL and JPA, extract to C:/projects/myapi
详细文档
其他安装方式
选项 1:下载预构建版本(推荐——已在上方的快速开始中介绍)
请参阅上方的快速开始部分,了解最简单的入门方式。
可用格式:
- 原生二进制文件:启动速度极快(约 87ms),无需安装 Java
- JAR 文件:传统 Java 归档文件,需要 Java 21+
选项 2:从源代码构建
如果你想从源代码构建或为项目做贡献:
构建前提条件
- Java 21 或更高版本
- Gradle(通过包装器提供)
- GraalVM(可选,用于构建原生映像)
构建步骤
标准 JAR:
# Windows
.\gradlew.bat clean bootJar
# Linux/Mac
./gradlew clean bootJar
构建的 JAR 文件位于:build/libs/app-bootstrap-0.0.1-SNAPSHOT.jar
Native Image(需要 GraalVM):
# Windows
.\gradlew.bat nativeCompile
# Linux/Mac
./gradlew nativeCompile
本机二进制文件位于:
- Windows:
build/native/nativeCompile/app-bootstrap.exe - Linux/Mac:
build/native/nativeCompile/app-bootstrap
Native Image 的优势:
- 超快启动:约 87 毫秒,而 JVM 需要 2-5 秒
- 更低的内存占用:约为 JVM 内存用量的 1/4
- 无需 Java:独立可执行文件
- 非常适合:无服务器、容器、命令行工具
配置
服务配置(可选)
服务已预先配置,可直接使用。默认设置位于 src/main/resources/application.properties:
spring.main.web-application-type=none
spring.main.banner-mode=off
spring.application.name=app-bootstrap
spring.ai.mcp.server.name=spring-bootstrap-mcp
spring.ai.mcp.server.version=0.0.1
spring.ai.mcp.server.stdio=true
spring.ai.mcp.server.type=SYNC
spring.ai.mcp.server.annotation-scanner.enabled=true
logging.file.name=./mcp-springboot-bootstrap-stdio-server.log
注意:src/main/resources/application.json 中提供了适用于响应式应用的备用 WebFlux 配置(需要从源代码构建)。
特定客户端的配置详情
上面的快速开始部分涵盖了大多数用例。本节提供更多详情和故障排除信息。
GitHub Copilot(VS Code)- 扩展配置
配置文件位置:
- Windows:
%APPDATA%\Code\User\mcp.json - macOS:
~/Library/Application Support/Code/User/mcp.json - Linux:
~/.config/Code/User/mcp.json
完整配置示例:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "C:/mcp-servers/app-bootstrap.jar"],
"env": {}
}
}
}
Mac/Linux 示例:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "/Users/username/mcp-servers/app-bootstrap.jar"]
}
}
}
#### Step 3: Restart VS Code
#### Step 4: Use with Copilot Chat
Open Copilot Chat and use prompts like:
使用 PostgreSQL 和 JPA 创建 Spring Boot REST API,并保存到 C:/projects/myapi.zip
### 2. Claude Desktop
#### Step 1: Get the JAR file
**Option A: Download pre-built release (Recommended)**
- Download from [Releases page](../../releases/latest)
- Save to a location like `C:/mcp-servers/app-bootstrap-0.0.1-SNAPSHOT.jar` (Windows)
- Or `~/mcp-servers/app-bootstrap-0.0.1-SNAPSHOT.jar` (macOS/Linux)
**Option B: Build from source**
```bash
.\gradlew.bat clean bootJar # Windows
./gradlew clean bootJar # Linux/Mac
步骤 2:配置 Claude Desktop
编辑 Claude Desktop 配置文件:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
添加此配置:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": [
"-jar",
"C:/mcp-servers/app-bootstrap-0.0.1-SNAPSHOT.jar"
]
}
}
}
macOS/Linux 示例:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": [
"-jar",
"/Users/username/mcp-servers/app-bootstrap-0.0.1-SNAPSHOT.jar"
]
}
}
}
重启 Claude Desktop 后,即可使用这些工具。
其他 MCP 客户端 - 扩展配置
Cline、Zed Editor、Sourcegraph Cody、Continue.dev 及其他兼容 MCP 的客户端配置:
{
"mcpServers": {
"springboot-bootstrap": {
"command": "java",
"args": ["-jar", "/path/to/app-bootstrap.jar"]
}
}
}
将 /path/to/app-bootstrap.jar 替换为实际的文件路径。
使用示例
示例 1:基本 Web 应用(解压)
Create a basic Spring Boot web application with Java 21 and extract it to C:/projects/demo
AI 将会:
- 调用
getSpringBootInitDetails()获取可用选项 - 选择合适的默认值(Spring Web、最新的 Spring Boot 版本等)
- 使用该配置调用
downloadSpringBootProject() - 将所有文件直接解压到
C:/projects/demo(可直接在 IDE 中打开)
示例 2:带数据库的微服务(ZIP 下载)
I need a Spring Boot microservice with:
- Spring Boot 3.5.9
- Java 21, Gradle
- Dependencies: Web, Data JPA, PostgreSQL, Lombok, Actuator
- Group: com.mycompany
- Artifact: user-service
- Save to: C:/microservices/user-service.zip
结果:下载可分发或存档的 ZIP 文件。
示例 3:响应式应用(解压)
Create a Spring Boot WebFlux application with MongoDB and extract to C:/projects/reactive-api
结果:所有项目文件均已解压,可直接导入 IDE。
示例 4:快速开始开发
I need a REST API with Spring Boot, PostgreSQL, and Lombok. Extract it to C:/workspace/api-project so I can start coding immediately.
结果:项目已解压并准备就绪——只需在 VS Code 或 IntelliJ 中打开该目录!
工具参数
getSpringBootInitDetails
无需参数。返回包含所有可用配置选项的 JSON。
downloadSpringBootProject
| 参数 | 必填 | 描述 | 示例 |
|---|---|---|---|
type | 是 | 构建工具类型 | gradle-project、maven-project |
language | 是 | 编程语言 | java、kotlin、groovy |
bootVersion | 是 | Spring Boot 版本(必须与元数据中的格式完全一致) | 3.5.9、2.7.18.RELEASE |
groupId | 是 | Maven group ID | com.example |
artifactId | 是 | 项目/artifact ID | demo |
name | 是 | 项目显示名称 | Demo Application |
description | 否 | 项目描述 | Demo project for Spring Boot |
packageName | 是 | 基础包名称 | com.example.demo |
packaging | 是 | 打包类型 | jar、war |
javaVersion | 是 | Java 版本 | 17、21、23 |
dependencies | 是 | 以逗号分隔的依赖项 ID | web,data-jpa,postgresql |
configurationFileFormat | 否 | 配置文件格式 | properties、yaml |
downloadPath | 是 | 输出路径 | 见下方 ⬇️ |
重要:Spring Boot 版本格式
⚠️ 关键:Spring Boot 使用不同的版本格式:
- Spring Boot 3.x:语义化版本(例如,
3.5.9、3.4.2、3.3.7) - Spring Boot 2.x:包含
.RELEASE后缀(例如,2.7.18.RELEASE、2.6.15.RELEASE)
务必先调用 getSpringBootInitDetails(),以获取准确的版本格式。不要猜测或自行假定格式!
| downloadPath | 是 | 输出路径 | 见下方 ⬇️ |
downloadPath 的行为
downloadPath 参数决定项目的交付方式:
- 以
.zip结尾 → 保存为 ZIP 文件- 示例:
C:/projects/myapp.zip - 用途:归档、分享,或稍后手动解压
- 示例:
API 调用示例
供参考,实际的 Spring Initializr API 调用如下所示:
https://start.spring.io/starter.zip?type=gradle-project&language=java&bootVersion=3.5.9&groupId=com.example&artifactId=demo&name=demo&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.demo&packaging=jar&javaVersion=17&configurationFileFormat=properties&dependencies=web,postgresql
此 URL 结构展示了如何将所有参数传递给 Spring Initializr。MCP 工具会根据你的输入自动构建此 URL。
- 不以
.zip结尾 → 将所有文件解压到目录中- 示例:
C:/projects/myapp - 用途:可立即在 IDE 中打开,马上开始编码
- 所有项目文件都会按正确的结构解压
- 示例:
常见依赖项
一些常用的依赖项 ID:
web- Spring Web(REST API)webflux- Spring WebFlux(响应式)data-jpa- Spring Data JPAdata-mongodb- Spring Data MongoDBpostgresql- PostgreSQL 驱动程序mysql- MySQL 驱动程序h2- H2 数据库lombok- Lombokactuator- Spring Boot Actuatorsecurity- Spring Securityvalidation- 验证cloud-config-client- Spring Cloud Config 客户端cloud-eureka-client- Eureka 服务发现客户端
使用 getSpringBootInitDetails() 获取包含说明的完整列表。
故障排查
未找到 JAR 文件
# Rebuild the project
.\gradlew.bat clean bootJar
连接错误
- 确保可以访问互联网,以连接到
start.spring.io - 检查防火墙设置
MCP 客户端中未显示工具
- 确认 MCP 配置中的 JAR 路径正确
- 完全重启 MCP 客户端
- 查看日志
./mcp-springboot-bootstrap-stdio-server.log
下载时出现权限错误
- 确保下载目录存在,并且你拥有写入权限
- 使用绝对路径(例如,
C:/projects/app.zip,而不是./app.zip)
开发
自动发布
每次推送到 main 分支或创建版本标签时,都会自动触发 GitHub Actions 工作流,以完成以下操作:
- 使用 GraalVM 为 Windows、macOS 和 Linux 构建原生可执行文件
- 构建传统 JAR 文件
- 创建包含所有构建产物的 GitHub 发布
- 将原生二进制文件和 JAR 上传到发布中
对于带有版本标签的发布(例如 v1.0.0):
git tag v1.0.0
git push origin v1.0.0
工作流会自动创建发布,其中包含:
app-bootstrap.exe(Windows 原生版本)app-bootstrap(Linux 原生版本)app-bootstrap(macOS 原生版本)app-bootstrap-0.0.1-SNAPSHOT.jar(传统 JAR)
最终用户无需手动构建! 只需从 Releases 页面下载即可。
项目结构
src/main/java/org/springboot/bootstrap/
├── AppBootstrapApplication.java # Main application
├── config/
│ └── RestClientConfig.java # RestClient configuration
└── tools/
└── SpringInItTools.java # MCP tools implementation
添加新工具
- 在
SpringInItTools.java中添加新方法 - 使用
@McpTool注解,并设置名称和说明 - 推送到 main 分支(自动构建和发布)
- 通过注解扫描自动发现工具
测试
# Run tests
.\gradlew.bat test
# Run application locally (for testing)
.\gradlew.bat bootRun
技术栈
- Spring Boot:3.5.9
- Spring AI MCP Server:1.1.2
- Java:21
- 构建工具:Gradle
- HTTP 客户端:Apache HttpClient 5
- 原生镜像:支持 GraalVM Native Image,实现超快启动
- CI/CD:使用 GitHub Actions 进行多平台原生构建
贡献
- Fork 此仓库
- 创建功能分支
- 进行更改
- 充分测试
- 提交拉取请求
许可证
本项目按现状提供,仅用于演示目的。
支持
如有问题或疑问:
- 查看上文的故障排除部分
- 查看
./mcp-springboot-bootstrap-stdio-server.log中的日志 - 确保使用 Java 21 或更高版本
相关链接
使用 Spring Boot 和 Spring AI MCP Server 构建,倾注 ❤️
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。