Spring AI MCP 0.3.0(里程碑版本)发布

发布版本 | Christian Tzolov | 2024 年 12 月 29 日 | ...

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

仓库配置

将此 Spring 里程碑仓库添加到您的 POM

<repositories>
  <repository>
    <id>spring-milestones</id>
    <name>Spring Milestones</name>
    <url>https://repo.spring.io/libs-milestone-local</url>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>

主要功能

MCP 服务器增强功能

  • 引入了使用构建器模式的新 McpServer 工厂,以实现灵活配置
  • 添加了支持非阻塞操作和响应式的 McpAsyncServer
  • 将 McpSyncServer 实现为异步实现的同步包装器
  • 添加了运行时工具管理功能
  • 引入了服务器能力和实现信息支持

传输层改进

  • 实现了带有 SSE 端点和消息路由的 SseServerTransport
  • 添加了用于基于进程通信的 StdioServerTransport
  • 增强了传输错误处理和优雅停机机制
  • 将客户端传输重组到专门的传输包中

文档

  • 添加了全面的 MCP 参考文档
  • 包含了详细的客户端/服务器架构文档
  • 提供了传输实现和协议指南
  • 添加了会话管理和消息处理文档
  • 包含了错误处理和恢复策略指南
  • 添加了组件关系的架构图
  • 提供了带有使用示例的 API 文档

测试改进

  • 为服务器组件添加了广泛的测试覆盖
  • 实现了特定于传输的测试套件
  • 添加了客户端-服务器交互的集成测试

破坏性变更

包重组

  • 将传输相关的类重新定位到专门的包中
    • StdioClientTransport: o.s.ai.mcp.client.stdioo.s.ai.mcp.client.transport
    • SseClientTransport: o.s.ai.mcp.client.sseo.s.ai.mcp.client.transport
    • ServerParameters: o.s.ai.mcp.client.stdioo.s.ai.mcp.client.transport

API 变更

  • 将 StdioClientTransport.errorHandler 修改为私有,并带有 setter 方法
  • 更新 ServerCapabilities 使用构建器模式
    // Old
    new ServerCapabilities(experimental, logging, prompts, resources, tools)
    
    // New
    ServerCapabilities.builder()
        .experimental(experimental)
        .logging(logging)
        .prompts(listChanged)
        .resources(subscribe, listChanged)
        .tools(listChanged)
        .build()
    

模块重组

  • 为清晰起见,重命名了 artifact
    • spring-ai-mcp-coremcp
    • spring-ai-mcp-springspring-ai-mcp
    • spring-ai-mcpmcp-parent

其他改进

  • 通过移除不必要的 Schedulers.boundedElastic() 优化了调度器(scheduler)的使用

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您快速进步。

了解更多

获取支持

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

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部