觀點 · 資訊分享
MCP 2026-07-28 新規格正式發布:無狀態核心上路,SSE 傳輸與 DCR 進入淘汰期
Model Context Protocol 在 7/28 正式發布新版規格:移除握手與 session、改用請求回應式的無狀態協定,並把動態客戶端註冊(DCR)與舊的 HTTP+SSE 傳輸列為棄用。四大 SDK 同步更新,有破壞性變更。
- 發布
- 2026-07-29
- 篇幅
- 約 4 分鐘 · 1,793 字
- 結構
- 7 節 + 3 題常見問題
- 標籤

一句話看懂:MCP 在 7 月 28 日正式發布新版規格:協定核心從「有狀態」變成「無狀態」,不用再握手、也不用 session;同時舊的 HTTP+SSE 傳輸與動態客戶端註冊進入淘汰期,升級要留意破壞性變更。

先用白話講:「無狀態」是什麼?
MCP 是 AI 工具與外部服務之間的通用插座。舊版的通訊像打電話:先撥通、自我介紹(握手),對方給你一個分機號碼(session 編號),之後每句話都要報分機,而且得轉回同一位接線生。
新版像寄明信片:每張明信片都寫好寄件人與內容,任何一個櫃台都能處理,不需要記得你上次說過什麼。所以伺服器好擴充,也更容易放在一般的負載平衡器後面。
發生什麼事
MCP 官方部落格在 7 月 28 日宣布,正式釋出 2026-07-28 版規格,同時發布可以馬上使用的 SDK。官方提到,第一級 SDK 每月下載量接近 5 億次,TypeScript 與 Python 兩個 SDK 的累計下載量都超過 10 億次。
重點有這些:
- 無狀態核心:取消 initialize 握手與 Mcp-Session-Id,每個請求在
_meta帶上協定版本、客戶端身分與能力;想事先知道伺服器能力,可選用新的server/discover - 多輪往返請求(MRTR):伺服器中途要問使用者(例如確認動作),不再佔著長連線,而是回傳「需要輸入」,由客戶端補上答案後重試
- 標頭路由:Streamable HTTP 請求必須帶
Mcp-Method與Mcp-Name,閘道、限流器與 WAF 不用解析 JSON 內容就能分流 - 可快取的列表:列表與資源讀取結果帶
ttlMs與cacheScope,並有固定排序,客戶端能快取工具清單 - 擴充套件:正式建立擴充套件框架,Tasks 與 MCP Apps、企業管理式授權(EMA)等並列
授權與棄用
| 項目 | 變更 |
|---|---|
| 授權伺服器的 iss 參數 | 應回傳,客戶端在兌換授權碼前必須驗證(RFC 9207),補上一個授權伺服器混淆的缺口 |
| 動態客戶端註冊(DCR) | 正式棄用,改走用戶端 ID 中繼資料文件(CIMD);DCR 暫時仍可用,之後版本會移除 |
| 憑證綁定 | 客戶端憑證綁定到發出它的授權伺服器,不可跨伺服器重複使用 |
| Roots、Sampling、Logging | 棄用,至少還能用 12 個月,新實作不該採用 |
| 舊的 HTTP+SSE 傳輸 | 正式棄用,有一年的過渡期 |
Tasks 也移出實驗性核心,變成 io.modelcontextprotocol/tasks 擴充套件,改用輪詢式的 tasks/get 與新的 tasks/update;變更通知改走單一的 subscriptions/listen 串流,客戶端依通知類型選擇訂閱。
給開發者的技術細節
新版的一次工具呼叫,是單一獨立請求(取自官方範例的簡化版):
POST /mcp HTTP/1.1
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: search
- SDK:TypeScript、Python、Go、C# 四個第一級 SDK 今天起都支援新規格;Rust SDK 是 beta
- 官方說明有遷移成本,尤其是依賴 session 識別碼的程式;需要跨呼叫保存狀態時,建議讓工具發出明確的代號(例如購物籃編號),由模型在後續呼叫帶回來
- 棄用政策:每個功能從棄用到最早能移除,至少間隔 12 個月
我的看法
這是 MCP 上線以來變動最大的一次,而且是破壞性的。好消息是官方把遷移路線、棄用期限講得很清楚:Roots、Sampling、Logging 與 SSE 傳輸都有至少 12 個月的緩衝,不會一夜之間失效。
如果你只是「使用」別人的 MCP 工具,多半只要等你用的工具與 SDK 更新;但如果你自己寫伺服器或客戶端,我會先盤點三件事:有沒有用到 session、有沒有依賴舊的 SSE 傳輸、授權流程是不是靠 DCR。這三塊最可能需要改。先在測試環境跑一遍,再逐步上線。
名詞小辭典
- MCP:AI 工具與外部服務之間的通用連接規格。
- 無狀態(Stateless):伺服器不用記住上一次的連線內容,每個請求都能獨立處理。
- SSE:伺服器持續推送資料給客戶端的一種連線方式。
- DCR/CIMD:兩種讓客戶端向授權伺服器登記身分的方式,新規格偏向後者。