使用说明
Spring Boot引导MCP服务器
一个模型上下文协议(MCP)服务器,用于使用Spring Initializr引导Spring Boot项目。该服务器为AI助手提供工具,以发现可用的Spring Boot配置并生成定制的项目模板。
特性
可用工具
-
getSpringBootInit详细信息
- 从Spring Initializr检索所有可用的配置选项
- 返回可用的Spring Boot版本、依赖项、Java版本等
- 首先使用它来发现有效的参数值
-
下载SpringBootProject
- 将完全配置的Spring Boot项目下载为ZIP文件,或直接提取到目录中
- 智能路径检测:如果路径以结尾
.zip,另存为ZIP文件;否则将所有文件提取到目录 - 支持构建工具、语言、依赖关系等的自定义
- 如果需要,自动创建父目录
- 提取的项目可以立即在IDE中打开
快速开始
1.下载服务器
去 发布页面 并下载适合您平台的版本:
选项A:原生二进制(推荐-超快速启动)
无需安装Java,启动时间最快(约87ms)!
- 视窗:下载
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副本(VS代码)
编辑: %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"]
}
}
}
克劳德桌面版
编辑: %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 - 罐子:
/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
本机映像(需要GraalVM):
# Windows
.\gradlew.bat nativeCompile
# Linux/Mac
./gradlew nativeCompile
本机二进制文件将位于:
- 窗户:
build/native/nativeCompile/app-bootstrap.exe - Linux/Mac:
build/native/nativeCompile/app-bootstrap
原生图像的好处:
- 超快速启动:约87毫秒,而JVM为2-5秒
- 较低的内存:约占JVM内存使用量的1/4
- 不需要Java:独立可执行文件
- 非常适合:无服务器、容器、CLI工具
配置
服务器配置(可选)
服务器已预先配置并准备好使用。默认设置为 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
备注:另一种WebFlux配置可在以下网址获得 src/main/resources/application.json 对于反应式应用程序(需要从源代码构建)。
客户端特定配置详细信息
上面的快速入门部分涵盖了大多数用例。本节提供更多详细信息和故障排除。
GitHub副本(VS代码)-扩展
配置文件位置:
- 视窗:
%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桌面
编辑Claude Desktop配置文件:
- 视窗:
%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中打开目录即可!
刀具参数
getSpringBootInit详细信息
无需参数。返回包含所有可用配置选项的JSON。
下载SpringBootProject
| 参数 | 必填 | 说明 | 示例 |
|---|---|---|---|
type |
是 | 构建工具类型 | gradle-project, maven-project |
language |
是 | 编程语言 | java, kotlin, groovy |
bootVersion |
是的 | Spring Boot版本(元数据中的精确格式) | 3.5.9, 2.7.18.RELEASE |
groupId |
是 | Maven组ID | com.example |
artifactId |
是 | 项目/工件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使用不同的版本格式:
- 弹簧靴3.x:语义版本控制(例如。,
3.5.9,3.4.2,3.3.7) - 弹簧靴2.x:包括
.RELEASE后缀(例如。,2.7.18.RELEASE,2.6.15.RELEASE)
总是打电话 getSpringBootInitDetails() 第一 以获得确切的版本格式。不要猜测或假设格式!
| downloadPath |是的| 输出路径 |见下文⬇️ |
下载路径行为
这 downloadPath 参数决定了项目的交付方式:
- 以...结束
.zip→ 另存为ZIP文件- 例子:
C:/projects/myapp.zip - 用例:存档、共享或稍后手动提取
- 例子:
API调用示例
作为参考,以下是实际的Spring Initialzer 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数据JPAdata-mongodb-春季数据MongoDBpostgresql-PostgreSQL驱动程序mysql-MySQL驱动程序h2-H2数据库lombok-龙目岛actuator-弹簧靴执行器security-春季安全validation-验证cloud-config-client-Spring云配置客户端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)
终端用户无需手动构建! 只需从下载 发布页面.
项目结构
src/main/java/org/springboot/bootstrap/
├── AppBootstrapApplication.java # Main application
├── config/
│ └── RestClientConfig.java # RestClient configuration
└── tools/
└── SpringInItTools.java # MCP tools implementation
添加新工具
- 在中添加新方法
SpringInItTools.java - 用注释
@McpTool带有名称和描述 - 推送到主分支(自动构建和发布)
- 通过注释扫描自动发现工具
测试
# Run tests
.\gradlew.bat test
# Run application locally (for testing)
.\gradlew.bat bootRun
技术栈
- Spring Boot: 3.5.9
- Spring AI MCP服务器: 1.1.2
- Java: 21
- 构建工具:Gradle
- HTTP客户端:Apache HttpClient 5
- 原生映像:GraalVM原生映像支持超快速启动
- CI/CD:用于多平台原生构建的GitHub操作
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 彻底测试
- 提交拉取请求
许可证
本项目按原样提供,用于演示目的。
支持
对于问题或疑问:
- 检查上面的故障排除部分
- 查看日志
./mcp-springboot-bootstrap-stdio-server.log - 确保您使用的是Java 21或更高版本
相关链接
建于❤️ 使用Spring Boot和Spring AI MCP服务器