Spring AI MCP 0.3.0 (Milestone) 发布

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

我们很高兴地宣布 Spring AI MCP `0.2.0` milestone 版本已发布。

仓库配置

将此 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 工厂,采用 builder 模式实现灵活配置
  • 添加了 McpAsyncServer,支持非阻塞操作和响应式编程
  • 实现了 McpSyncServer 作为异步实现的同步包装器
  • 增加了运行时工具管理功能
  • 引入了服务器功能和实现信息支持

传输层改进

  • 实现了 SseServerTransport,包含 SSE 端点和消息路由
  • 添加了 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()
    

模块重构

  • 重命名工件以提高清晰度
    • spring-ai-mcp-coremcp
    • spring-ai-mcp-springspring-ai-mcp
    • spring-ai-mcpmcp-parent

其他改进

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

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有