返回首頁

AI 開發工具與標準

GitHub MCP Server 先行支援無狀態新版協定,移除初始化握手與 Redis 工作階段

GitHub MCP Server 已提前支援預定 7 月 28 日定稿的 MCP 2026-07-28 規格。新版把協定核心改為無狀態請求,降低水平擴充成本,但自建客戶端與長任務實作仍須處理多項破壞性變更。

Farid mernissi · CC BY-SA 4.0 · Image source
zh-Hant

GitHub 於 7 月 23 日宣布,其 MCP Server 已支援即將發布的 MCP `2026-07-28` 規格。這次改版不是增加幾個工具欄位,而是重寫遠端 MCP 的連線生命週期:`initialize`/`initialized` 握手及 `Mcp-Session-Id` 被移除,協定版本、客戶端資訊與能力改由每次請求自行攜帶。請求因此可以交給任意伺服器執行,不再要求黏著式負載平衡或共用工作階段儲存。

GitHub 表示,採用新版後已刪除 Redis 工作階段,以及初始化時的資料庫寫入和每次呼叫的資料庫讀取。新的 `Mcp-Method`、`Mcp-Name` HTTP 標頭也讓閘道能做路由、限流及祕密掃描,而不必先解析完整 JSON-RPC 內容。工具清單和資源讀取結果另可附上 `ttlMs`、`cacheScope`,分散式追蹤則統一使用 W3C Trace Context。

無狀態不代表應用不能保存狀態。需要瀏覽器、購物籃或其他長流程上下文的工具,必須回傳明確控制代碼,再由模型於後續參數中帶回。伺服器要求使用者輸入時,也改成回傳 `InputRequiredResult`,客戶端收集答案後重新送出原呼叫;長任務則移入可選的 Tasks extension。

這些變更能簡化大規模 MCP 部署,但對自行實作協定的團隊仍是遷移事件。舊版實驗性 Tasks API、依賴工作階段的伺服器,以及比對特定錯誤碼的客戶端都可能需要修改。官方一級 SDK 已保留向後相容並提供測試支援;工程團隊接下來應以正式 conformance suite 驗證,而不能只以「能成功呼叫工具」判定相容。

來源

  1. GitHub MCP Server supports the next MCP specification
  2. The 2026-07-28 MCP Specification Release Candidate
  3. MCP Draft Specification