Spring AI MCP 0.3.0 (Milestone) 现已发布。主要更新内容包括:
Major Features
MCP Server Enhancements
- 引入了新的 McpServer factory,采用 builder pattern 以实现灵活的配置
- 添加了具有 non-blocking 操作和反应式支持的 McpAsyncServer
- 实现 McpSyncServer 作为异步实现的 synchronous wrapper
- 增加了运行时工具管理功能
- 引入服务器功能和实施信息支持
Transport Layer Improvements
- 通过 SSE endpoints 和消息路由实现 SseServerTransport
- 添加了 StdioServerTransport 用于基于进程的通信
- 增强的传输错误处理和正常关闭机制
- 将客户端运输重组为专用运输包
Documentation
- 添加了全面的 MCP 参考文档
- 包括详细的客户端/服务器架构文档
- 提供传输实施和协议指南
- 添加了会话管理和消息处理文档
- 包括错误处理和恢复策略指南
- 添加了组件关系的架构图
- 提供带有使用示例的 API 文档
Testing Improvements
- 增加了对服务器组件的广泛测试覆盖范围
- 实施特定于传输的测试套件
- 添加了 client-server 交互的集成测试
Breaking Changes
Package Reorganization
- 将与传输相关的类重新定位到专用包:
- StdioClientTransport:
o.s.ai.mcp.client.stdio→o.s.ai.mcp.client.transport
- SseClientTransport:
o.s.ai.mcp.client.sse→o.s.ai.mcp.client.transport
- ServerParameters:
o.s.ai.mcp.client.stdio→o.s.ai.mcp.client.transport
API Changes
-
使用 setter 方法将 StdioClientTransport.errorHandler 修改为私有
-
更新了 ServerCapabilities 以使用 builder pattern:
// Old
new ServerCapabilities(experimental, logging, prompts, resources, tools)
// New
ServerCapabilities.builder()
.experimental(experimental)
.logging(logging)
.prompts(listChanged)
.resources(subscribe, listChanged)
.tools(listChanged)
.build()
Module Restructuring
- 为了清晰起见,重命名了 artifacts:
spring-ai-mcp-core→mcp
spring-ai-mcp-spring→spring-ai-mcp
spring-ai-mcp→mcp-parent
其他改进
- 通过删除不必要的
Schedulers.boundedElastic()来优化调度程序的使用
更新公告:https://spring.io/blog/2024/12/29/spring-ai-mcp-0