返回首頁

AI 標準與代理基礎設施

MCP 2026-07-28 拆除連線階段 session,工具伺服器改走無狀態 HTTP

MCP 新修訂移除初始化握手與 `Mcp-Session-Id`,讓單次請求可由任一伺服器實例處理。這是破壞性協定變更;在最終版與主要 SDK 完成同步前,部署者仍須保留版本協商及舊版回退。

Alec Wilson from Solihull, United Kingdom · CC BY-SA 2.0 · Image source
zh-Hant

Model Context Protocol(MCP)預定於 7 月 28 日定稿的新版,重寫了代理與工具伺服器之間的連線生命週期。舊版 Streamable HTTP 通常先執行 `initialize`,再以 `Mcp-Session-Id` 維持後續呼叫;新版移除兩者,要求每個請求攜帶協定版本、客戶端能力與身分資訊,並新增 `server/discover` 供客戶端查詢伺服器支援的版本及能力。實務上,請求不再黏著特定實例,遠端 MCP 服務可直接放在一般 round-robin 負載平衡器後方,減少共享 session store 與 sticky routing 的需求。

狀態並未完全消失,而是上移到應用層:需要跨呼叫保存購物車、瀏覽器或工作階段的工具,必須回傳明確 handle,再由模型於下一次呼叫傳回。伺服器向客戶端索取確認或額外輸入,也改成 Multi Round-Trip Requests;伺服器先回傳 `input_required`,客戶端取得使用者輸入後重送原請求。長任務則移至獨立 Tasks extension,透過 `tasks/get`、`tasks/update` 與 `tasks/cancel` 管理。

新版另要求 HTTP POST 帶有 `Mcp-Method`、`Mcp-Name`,方便閘道在不解析 JSON body 的情況下路由及限流;工具與資源清單加入 `ttlMs`、`cacheScope`,並統一 OpenTelemetry trace context。OAuth 部分增加 issuer 驗證及憑證按授權伺服器隔離等要求。

遷移風險不可低估:`ping`、舊式 logging 操作與多種通知被移除,Roots、Sampling、Logging 進入棄用期,斷線後也不再以 SSE event ID 恢復請求。截至本次資料擷取,官方 changelog 仍位於 draft 路徑,因此工程團隊應確認最終 schema、所用 SDK 的採用進度與降級行為,不宜只替換版本字串便直接上線。

來源

  1. The 2026-07-28 MCP Specification Release Candidate
  2. MCP 2026-07-28 Key Changes
  3. MCP 2026-07-28 RC Release