Spring AI MCP 0.6.0 (里程碑) 发布

版本发布 | Christian Tzolov | 2025 年 1 月 23 日 | ...

我们很高兴地宣布 Spring AI MCP 0.6.0 里程碑版本发布。

重大变更 ⚠️

  • McpClient.using() - 请改用 McpClient.sync()McpClient.async()
  • McpServer.using() - 请改用 McpServer.sync()McpServer.async()
  • McpServer.ToolRegistration - 请改用 McpServerFeatures.SyncToolRegistrationMcpServerFeatures.AsyncToolRegistration
  • McpServer.ResourceRegistration - 请改用 McpServerFeatures.SyncResourceRegistrationMcpServerFeatures.AsyncResourceRegistration
  • McpServer.PromptRegistration - 请改用 McpServerFeatures.SyncPromptRegistrationMcpServerFeatures.AsyncPromptRegistration
  • ToolHelper.toToolRegistration() - 请改用 ToolHelper.toSyncToolRegistration()

请遵循 0.6.0 迁移指南了解新的 API 变更。

主要特性与改进

协议版本协商

  • 实现了 MCP 客户端与服务器之间的协议版本协商
  • 在客户端和服务器中增加了对多个协议版本的支持
  • 实现了当请求不支持的版本时回退到最新版本的机制
  • 增加了对版本协商的全面测试覆盖

可配置的 SSE 端点

  • 在服务器传输中使 SSE 端点路径可配置
  • 增加了对 WebFluxSseServerTransport、WebMvcSseServerTransport 和 HttpServletSseServerTransport 的定制支持
  • 保持与默认 "/sse" 端点的向后兼容性
  • 使 Java SDK 的行为与 Python SDK 的 SseServerTransport 保持一致

错误修复 🐛

传输层改进

  • 在传输层增加了入站处理的清理逻辑
  • 增强了传输的可靠性和资源管理

改进与重构 🔧

API 重构

  • 分离了异步和同步客户端交互
  • 引入了新的客户端创建模式
    // Synchronous client API
    McpClient.sync(transport).build();
    
    // Asynchronous client API
    McpClient.async(transport).build();
    
  • 使 RequestHandler 能够感知响应类型
  • 弃用了旧版客户端构建器模式

代码质量与结构

  • 使 mcp-test 中的抽象测试与 mcp-core 对齐
  • 改进了方法作用域定义
  • 增强了代码组织和可维护性

获取 Spring 时事通讯

通过 Spring 时事通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助力您加速前进。

了解更多

获取支持

Tanzu Spring 通过一份简单的订阅即可为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部