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 社群的所有近期活動。

檢視全部