觀點 · 資訊分享
GitHub MCP Server 搶先支援 7/28 新規格:連線不再要先「握手」,砍掉 Redis 工作階段
MCP 預定 7/28 發布的新規格把協定核心改成無狀態,拿掉 initialize 握手與 session。GitHub 官方的 MCP 伺服器提前跟上,並說明改版後省掉了哪些資料庫讀寫。
- 發布
- 2026-07-23
- 篇幅
- 約 4 分鐘 · 1,936 字
- 結構
- 8 節 + 3 題常見問題
- 標籤

一句話看懂:新版 MCP 規格預定 7 月 28 日發布,最大的變化是通訊變成「無狀態」;GitHub 官方的 MCP 伺服器已經搶先支援,還順手砍掉了一整套 Redis 工作階段。

先用白話講:「有狀態」和「無狀態」差在哪?
MCP 是 AI 工具和外部服務之間的通用插座。舊版的通訊像打電話:先撥過去、說一句「你好,我是某某工具」(這叫 initialize 握手),對方給你一個分機號碼(session 編號),之後每一句話都要先報分機號,而且一定得轉回同一位接線生。
新版像寄明信片:每一張明信片上都寫好寄件人和內容,任何一個櫃台人員拿到都能直接處理,不需要記得你上一次說過什麼。這就是「無狀態」。
發生什麼事
GitHub 在 7 月 23 日的更新日誌說,MCP 協定將在 7 月 28 日改成無狀態,而 GitHub MCP Server 已經搶在正式發布前支援最新規格。
這份規格的內容其實早就公開了:MCP 官方部落格在 5 月 21 日發布「候選版」(Release Candidate),內容鎖定,最終版預定 7 月 28 日發布,中間給 SDK 與客戶端十週的時間驗證。GitHub 表示,官方 SDK 的第一級版本都保留向下相容,也都已推出 beta,所以單純使用者不用另外做什麼。
GitHub 這次改了三件事
| 改動 | 白話說明 |
|---|---|
| 移除 Redis session | 初始化時不用再寫資料庫,每次呼叫也不用讀資料庫,速度更快 |
| 不再拆封每個請求 | 以前為了記錄與機密掃描,得先看請求內容;新規格保證有 HTTP 標頭可讀,就不必逐一拆開 |
| 升級登入提示實作 | 新協定裡每個步驟都是獨立的 HTTP 請求,官方 Go SDK 提供包裝,讓新舊客戶端都能用 |
新規格還改了什麼?
依官方候選版說明,無狀態是由六項提案一起達成的,另外還有幾個值得注意的地方:
- 請求要帶
Mcp-Method、Mcp-Name標頭,閘道與負載平衡器不用拆開內容就能依操作分流 - 伺服器中途要問使用者(例如確認刪除檔案)時,不再佔著一條長連線,而是回傳「需要輸入」的結果,由客戶端補上答案再重送一次
- Roots、Sampling、Logging 三項功能被標示為棄用;官方的功能生命週期政策規定,從棄用到最早能移除,至少間隔 12 個月
- 這次有破壞性變更,例如找不到資源時的錯誤碼從 -32002 改成 JSON-RPC 標準的 -32602
給開發者的技術細節
舊規格要先握手、拿 session 編號;新規格是單一獨立請求(下面是官方範例的簡化版):
POST /mcp HTTP/1.1
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: search
Content-Type: application/json
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": { "name": "search", "arguments": { "q": "otters" } } }
版本與客戶端資訊改放在每個請求的 _meta 裡。需要跨呼叫記狀態的服務,改用「明確的代號」:由工具發一個代號(例如購物籃編號)給模型,模型在之後的呼叫自己帶回來。
GitHub 另外提到,MCP 現在有官方的一致性測試套件;把測試套件、草稿規格和任一第一級 SDK 交給 Copilot,AI 輔助改寫時就有嚴格的驗證可以對照。
我的看法
這個改動對「只是用 MCP」的人影響很小,但對「自己架 MCP 伺服器」的人影響很大。以前要擴充到多台機器,就得搭配共用的 session 儲存或固定導向同一台,現在這層麻煩在協定層就消失了,通常也更適合放在無伺服器或一般的負載平衡器後面。
要提醒的是,這是破壞性改版,不是隨便升級的小更新。自己寫了 MCP 伺服器或客戶端的人,我會等 7 月 28 日正式版出來,再對照一致性測試跑一遍,確認再動手,而且記得先看用的 SDK 有沒有支援。GitHub 先把踩過的地方寫成公開說明,這種做法對跟進的人很有幫助。
名詞小辭典
- MCP(Model Context Protocol):AI 工具與外部服務之間的通用連接規格。
- Session(工作階段):伺服器為了記住某位使用者而保留的連線狀態資料。
- Redis:一種常用來暫存資料的高速資料庫,常被拿來存 session。
- Elicitation(登入或補充資訊提示):伺服器在執行途中,請使用者補充資訊或確認的機制。