弹簧MCP桥
弹簧MCP桥 是一个自动将Spring Boot应用程序中的REST端点转换为MCP(消息对话协议)服务器的工具,允许Claude、Cursor和其他MCP兼容工具等AI助手直接与您的API交互。
\*它目前不包括身份验证。如果您的SpringBoot API需要身份验证,则需要修改处理程序代码以包含适当的头或令牌。
📖 概述
将现有的API与AI助手集成通常需要手动编码或复杂的配置。Spring MCP Bridge通过自动扫描Spring Boot项目并生成即用型MCP服务器来消除这种复杂性。
✨ 特性
- 自动扫描:发现所有REST端点(@RestController、@GetMapping等)
- 零配置:无需修改现有的Spring Boot代码
- 模型保存:将请求和响应模型作为MCP工具进行维护
- Javadoc提取:使用现有文档来增强MCP工具描述
- 完整的文件:生成README和清晰的使用说明
🚀 安装
# Clone the repository
git clone https://github.com/brunosantos/spring-mcp-bridge.git
# Enter the directory
cd spring-mcp-bridge🛠️ 用法
- 扫描您的Spring Boot项目:
python spring_boot_mcp_converter.py --project /path/to/spring-project --output ./mcp_server --name MyAPI- 运行生成的MCP服务器:
cd mcp_server
pip install -r requirements.txt
python main.py- 通过MCP客户端连接:
- 配置您的MCP客户端(Claude、Cursor等)以使用 http://localhost:8000 - MCP方案将在以下网址提供 http://localhost:8000/.well-known/mcp-schema.json
📋 参数
| 参数 | 描述 | 默认值 |
|---|---|---|
--project | Spring Boot项目的路径 | (必填) |
--output | 输出目录 | 。/mcp服务器 |
--name | 应用程序名称 | SpringAPI |
--debug | 启用调试日志记录 | False |
💻 示例
python spring_mcp_bridge.py --project ~/projects/my-spring-api --output ./mcp_server --name MyAPI该工具将:
- 扫描Spring Boot项目以查找REST控制器
- 识别模型类型、参数和返回类型
- 在Python/FastAPI中生成功能齐全的MCP服务器
- 创建描述所有端点的兼容MCP架构
🔄 运作原理
- 扫描:分析Java源代码以从REST端点提取元数据
- 转换:将Java类型转换为JSON模式类型以实现MCP兼容性
- 生成:创建一个将MCP调用映射到Spring REST调用的FastAPI应用程序
- 转发:将MCP客户端的请求路由到Spring Boot应用程序
🔍 支持Spring Boot功能
- REST控制器(
@RestController,@Controller) - HTTP方法(
@GetMapping,@PostMapping,@PutMapping,@DeleteMapping,@PatchMapping) - 请求参数(
@RequestParam) - 路径变量(
@PathVariable) - 申请机构(
@RequestBody) - Java模型和DTO
⚙️ 配置
生成的MCP服务器可以通过编辑 main.py 文件:
# The Spring Boot base URL - modify this to match your target API
SPRING_BASE_URL = "http://localhost:8080"🧪 测试
要测试MCP服务器,请执行以下操作:
- 确保您的Spring Boot应用程序正在运行
- 启动MCP服务器
- 访问
http://localhost:8000/docs查看FastAPI文档 - 检查MCP架构
http://localhost:8000/.well-known/mcp-schema.json - 与Claude等MCP客户端连接
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
👨💻 作者
布鲁诺·桑托斯
🙏 致谢
- 受FastAPI MCP和不断增长的MCP兼容工具生态系统的启发
- 感谢Spring Boot和FastAPI社区
