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 社区所有即将举行的活动。

查看所有