觀點 · 資訊分享

MCP Python SDK 1.28.0:WebSocket 與實驗性 Tasks 開始顯示棄用警告,v2 前先改

MCP 官方 Python SDK 發布 v1.28.0,新增 Python 3.14 支援,並讓 WebSocket 傳輸與實驗性 tasks API 開始跳出 DeprecationWarning,預告 v2 會移除。

發布
2026-06-16
篇幅
約 4 分鐘 · 1,661 字
結構
8 節 + 3 題常見問題
標籤
#MCP#Python SDK#棄用#Streamable HTTP
MCP Python SDK 1.28.0:WebSocket 與實驗性 Tasks 開始顯示棄用警告,v2 前先改

一句話看懂:MCP 官方 Python SDK 1.28.0 讓 WebSocket 傳輸與實驗性 tasks API 開始顯示棄用警告,v2 才會真正移除,用到的人現在就可以規劃替換。

MCP Python SDK v1.28.0 發布資訊圖卡:WebSocket、tasks 開始警告,v2 才會移除,先規劃替換

先用白話講:棄用警告是什麼意思?

想像社區公告欄貼了一張告示:「舊的後門下個月會封起來,請改走正門。」現在門還開著,但每次你走後門,管理員都會提醒你一次。

棄用(deprecation)就是這種提醒:功能暫時還能用,但官方已經決定未來要拿掉。MCP Python SDK 1.28.0 就對兩個介面開始發出這種警告。

發生什麼事

MCP 官方 Python SDK 在 2026 年 6 月 16 日發布 v1.28.0。官方公告的重點:

  • WebSocket 傳輸被棄用:包含 mcp.client.websocket.websocket_client 與 mcp.server.websocket.websocket_server。官方說 WebSocket 從來不是 MCP 規範的一部分,建議改用 streamable HTTP;TypeScript SDK 的 v2 也已移除它的 WebSocket 用戶端
  • 實驗性 tasks API 被棄用:包含 ClientSession.experimental、Server.experimental、ServerSession.experimental 與 experimental_task_handlers= 參數。官方說 Tasks(SEP-1686)已從 MCP 規範移除,預期之後會以獨立的 MCP 擴充回歸
  • 新增 Python 3.14 支援(1.x 分支)
  • 修正:工作結果資料中,空值的選填欄位改為省略

有什麼影響?

情況 影響
只是匯入模組 不會有警告
呼叫被棄用的介面 出現 DeprecationWarning
測試把警告視為錯誤 測試會失敗
升級到 v2 這些介面預計被移除

建議的處理順序

  1. 先查自己的專案有沒有用到上述介面:沒有的話,升級後什麼都不會發生
  2. 有用到 WebSocket:評估換成 streamable HTTP,並同步檢查對方的伺服器或用戶端是否支援
  3. 有用到 tasks:先確認是否真的需要,官方預期它會以獨立擴充回歸,但時程沒有說明
  4. 測試設定把警告當成錯誤的專案:先加上限定範圍的忽略,再逐步改寫

給開發者的技術細節

  • 先搜尋專案裡有沒有 websocket_client、websocket_server、.experimental、experimental_task_handlers
  • 若測試設定有 filterwarnings = ["error"],官方建議加上限定範圍的忽略規則,例如:
filterwarnings = [
  "error",
  "ignore:The experimental tasks API is deprecated:DeprecationWarning",
  "ignore:The WebSocket .* transport is deprecated:DeprecationWarning",
]
  • 長期做法:傳輸層改成 streamable HTTP,需要長時間工作的情境,等官方的 tasks 擴充定案再評估

我的看法

我自己有把一些本地工具接成 MCP 伺服器,這類 SDK 的棄用公告我一向當成「提早給你的緩衝期」。好處是 1.x 不會突然壞掉,壞處是如果不處理,等到 v2 才會一次碰到所有問題。

如果你用的是 WebSocket,現在就換成 streamable HTTP 會最省事,因為官方已經表態那是標準做法。tasks 則比較特別:它不是被放棄,而是從規範中移出去,之後會以擴充形式回來,所以不用急著自己重寫,但要避免把它綁進核心流程。

名詞小辭典

  • MCP:讓 AI 發現並呼叫外部工具的通用標準。
  • DeprecationWarning:Python 的棄用警告,表示某功能之後會被移除。
  • WebSocket:讓瀏覽器與伺服器保持雙向連線的通訊方式。
  • streamable HTTP:MCP 規範內建的 HTTP 傳輸方式,支援串流回應。

資料來源

常見問題

我一定要馬上改嗎?
不用。官方明說 1.x 不會移除任何東西,只是呼叫時會跳警告。但既然 v2 要移除,早點規劃遷移比較不會被打亂。
測試突然壞了怎麼辦?
如果你的測試設定把警告當成錯誤(filterwarnings = ["error"]),而且有走到這些介面,會失敗。官方建議加上限定範圍的忽略規則,例如針對 experimental tasks 或 WebSocket 的警告訊息。
streamable HTTP 是什麼?
MCP 規範內建的 HTTP 傳輸方式,伺服器用一般的 HTTP 請求與可串流的回應溝通,是官方建議取代 WebSocket 的做法。
LINE