MCP Spring Boot 服务器
这个项目包含一个Spring Boot微服务,实现了HTTP SSE传输 模型上下文协议(MCP) 通过桥接向客户暴露如VS Code等自定义工具 mcp-remote。
主要特点
- Spring Boot 3 使用MVC(
spring-boot-starter-web)。 - Spring AI 1.0.3 与……一起 *启动器;开始者*
spring-ai-starter-mcp-server-webmvc以便未来与大型语言模型(LLM)供应商进行集成。 - 交通 HTTP Server-Sent Events(HTTP服务器发送事件) 兼容MCP(
GET /mcp/sse以打开流并POST /mcp/sse用于从客户端发送JSON-RPC消息)。 - 工具注册(
ToolCatalog) 示例的实施time它返回IANA时区的当前日期和时间。 - 详细记录日志以观察会话和MCP消息的生命周期。
如何执行
./mvnw spring-boot:run该应用程序展示在 http://localhost:8080/。
与mcp-remote的集成
- 在你的本地机器上启动这个服务。
- 配置
mcp-remote指向SSE终端点:
- GET http://localhost:8080/mcp/sse 以打开流。 - POST http://localhost:8080/mcp/sse 用于发送消息(包括头部信息) X-MCP-Session 在响应中返回的标识符 GET)。
- Copilot 或 VS Code 将能够通过以下方式发现可用工具:
tools/list并用它们来执行tools/call。
终点(或“终端点”)
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | (中文可译为)“获取”或“发送GET请求” /mcp/sse | 打开一个SSE流并接收 notifications/ready |
| 帖子(发布) | /mcp/sse | 向服务器发送JSON-RPC 2.0消息 |
发展
- 使用Java 17。
- 其中包含了用于管理SSE(服务器发送事件)会话的组件
McpSessionRegistry)和信息(McpProtocolService)。 - 要添加新的MCP工具,请创建一个
@Component以实施McpTool并且目录会自动进行展示。
注: 在这种环境下,Maven Central 的工件不可用,因此首次编译可能需要访问内部仓库或在可联网的环境下运行 Maven。
