Model Context Protocol(MCP)在 2026 年 7 月 28 日發布的新版規格,被社群暱稱為 MCP 2.0,也被 Simon Willison 稱為「MCP 問世以來最大的改變」。改動只有一件事,但影響遍及整個代理工具生態:MCP 從有狀態走向無狀態。
舊規格的痛:兩段式握手
舊版 MCP 基於 JSON-RPC 的有狀態設計:呼叫任何工具前,客戶端得先發一個初始化請求取得 Mcp-Session-Id,再用第二個請求夾帶這個 ID 呼叫工具。這在建置可橫向擴展的服務時是明確的負擔——Willison 指出,你得在伺服器端維護 session 狀態,還得煩惱「把同一個 session 路由到同一台後端機器」的 sticky routing 問題。
新設計:單一請求,資訊進標頭
2026-07-28 規格把整個流程壓縮成單一 HTTP 請求:協定版本、方法與工具名稱移入 Mcp-Protocol-Version、Mcp-Method、Mcp-Name 三個 HTTP 標頭,客戶端資訊塞進參數的 _meta 欄位。沒有 session、沒有握手,一個請求打完收工。
Cloudflare 的評價把意義講得最完整:這讓 MCP 基礎設施「像網路的其他部分一樣運作——無狀態、可快取、可路由、可全球擴展」,搭配同步更新的 TypeScript、Python、Go 與 C# SDK,MCP 已「完全生產就緒」。企業端也補上了授權拼圖:Enterprise-Managed Authorization 擴展進入穩定版,提供集中式身分驗證。
為什麼獨立開發者應該在乎
Willison 的觀點值得細讀,因為他同時是 MCP 的批評者與實作者。喜歡的部分:單一請求「從客戶端與伺服器端來看都乾淨太多」,大幅降低實作複雜度;MCP 工具「更容易審計與控制,簡單到連跑在筆電上的小模型」都能驅動——相較之下,給代理 shell 與 curl 權限「風險纏身」,MCP 讓人「更容易推理代理的能力與哪裡可能出錯」。
他也沒省略提醒:2025 年 4 月的提示注入問題仍是他心中的刺——「讓終端使用者自由混搭工具」的模式,等於把防範資料外洩的責任推給使用者。這段歷史後來發展成他著名的「致命三體」(Lethal Trifecta)論述。
實踐上他一週內交付了三個實作:零安裝的 mcp-explorer 檢查工具、在個人部落格 Datasette 上線的 datasette-mcp(含 execute_sql 等三個工具,SQL 暫限唯讀)、以及 LLM 的 llm-mcp-client 外掛。他的結論很直接:「在 LLM 上建置敏感應用時,我打算大幅加重對 MCP 的倚賴。」
對工具開發者的三個行動
第一,如果你的 MCP 伺服器還在舊式有狀態實作,遷移到 2026-07-28 規格能直接省掉 session 儲存與 sticky routing 的維運成本。第二,無狀態+可快取意味著 CDN 與邊緣節點可以直接服務 MCP 端點——把工具清單與 schema 快取在邊緣,是新的效能低垂果實。第三,提示注入的責任邊界沒有因為規格更新而消失:工具混搭越多,越要在伺服器端做輸出過濾與權限限縮。
參考來源
- MCP 2026-07-28 規格公告 — Model Context Protocol 官方部落格
- The Next Generation of MCP — Cloudflare Blog
- Stateless MCP has recaptured my interest — Simon Willison
本文由 AI 協助自上述來源整理,經人工審核後發布。
