Spring AI MCP 0.3.0 (Milestone) 发布
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
- StdioClientTransport:
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→mcpspring-ai-mcp-spring→spring-ai-mcpspring-ai-mcp→mcp-parent
其他改进
- 通过删除不必要的
Schedulers.boundedElastic()来优化调度程序的使用