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 社群所有即將舉行的活動。

檢視所有