Spring Boot项目生成工具

一个基于Spring Initializr的Spring Boot项目生成工具,提供AI助手支持,用于发现Spring Boot配置选项并生成定制化项目模板。

  • by akshay-harale
  • Java
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 akshay-harale/springboot-bootstrap-mcp

使用说明

Spring Boot引导MCP服务器

一个模型上下文协议(MCP)服务器,用于使用Spring Initializr引导Spring Boot项目。该服务器为AI助手提供工具,以发现可用的Spring Boot配置并生成定制的项目模板。

特性

可用工具

  1. getSpringBootInit详细信息

    • 从Spring Initializr检索所有可用的配置选项
    • 返回可用的Spring Boot版本、依赖项、Java版本等
    • 首先使用它来发现有效的参数值
  2. 下载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将:

  1. 呼叫 getSpringBootInitDetails() 获取可用选项
  2. 选择适当的默认值(Spring Web、最新的Spring Boot版本等)
  3. 呼叫 downloadSpringBootProject() 随着配置
  4. 将所有文件直接提取到 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数据JPA
  • data-mongodb -春季数据MongoDB
  • postgresql -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工作流,该工作流:

  1. 使用GraalVM为Windows、macOS和Linux构建本机可执行文件
  2. 构建传统的JAR文件
  3. 创建包含所有工件的GitHub版本
  4. 将本机二进制文件和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

添加新工具

  1. 在中添加新方法 SpringInItTools.java
  2. 用注释 @McpTool 带有名称和描述
  3. 推送到主分支(自动构建和发布)
  4. 通过注释扫描自动发现工具

测试

# 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操作

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

许可证

本项目按原样提供,用于演示目的。

支持

对于问题或疑问:

  • 检查上面的故障排除部分
  • 查看日志 ./mcp-springboot-bootstrap-stdio-server.log
  • 确保您使用的是Java 21或更高版本

相关链接


建于❤️ 使用Spring Boot和Spring AI MCP服务器