GitHub Repo
OpenHands 1.22.0 修補雲端 MCP 設定覆寫,加入遠端連線檢查
新版避免新增或編輯單一 MCP 伺服器時,意外移除其他已儲存設定。遠端連線檢查同步接入雲端後端,但並行寫入與完整工具執行仍須驗證。

OpenHands 於 9 月 22 日發布 1.22.0,修補 Agent Canvas 連接雲端後端時,新增或編輯一個 MCP 伺服器可能移除其他設定的問題,並加入遠端 MCP 連線檢查。兩項變更直接影響代理啟動後能取得哪些工具。[版本公告](https://github.com/OpenHands/OpenHands/releases/tag/v1.22.0)
官方文件說明,OpenHands 會讀取設定、連接遠端伺服器或啟動 stdio 程序,再把工具註冊給代理。因此,設定遺失可能表現為對話缺少工具,而不只是管理頁面少了一張卡片。[MCP 文件](https://docs.openhands.dev/openhands/usage/settings/mcp-settings)
覆寫問題源於前後端對更新資料的解讀不同。Canvas 原本只傳送正在修改的單一項目;雲端端點卻把不含 null 刪除標記的映射視為完整目錄替換,只有含刪除標記時才採局部合併。結果是加入伺服器 B,可能同時刪掉已儲存的 A。[修補說明](https://github.com/OpenHands/OpenHands/pull/17467)
新版在新增或修改前,先讀取既有目錄,再合併並回傳完整設定,讓未修改項目的遮蔽憑證由後端還原。讀取失敗就停止寫入;清除或轉換認證方式時,則明確傳送 auth: null,避免舊憑證被補回。這條路徑多出一次設定讀取請求,雙分頁同時修改仍由最後寫入者覆蓋。[修補說明](https://github.com/OpenHands/OpenHands/pull/17467)
連線檢查則改走雲端應用伺服器的 POST /api/v1/mcp/test,可顯示工具數量或連線、逾時及憑證錯誤。此功能針對遠端伺服器;在沙箱內啟動的 stdio 服務仍不提供同樣的測試判定,部署也需要後端實作對應端點。[連線測試變更](https://github.com/OpenHands/OpenHands/pull/17276)
管理介面的連線結果仍只是診斷訊號。官方架構把工具探索、結構轉換、註冊與執行分成不同步驟;據此,能列出工具並不足以證明每項操作都可完成,驗證也應涵蓋回傳資料是否能轉成代理可讀的觀察結果。[SDK 架構](https://docs.openhands.dev/sdk/arch/mcp)
設定修補的作者回報七個檔案、七十項測試通過,並驗證伺服器端憑證還原,但明載尚未完成完整雲端操作流程的實測。工程團隊升級後,應依序加入兩個服務、重新載入設定,再開新對話驗證兩邊工具都能呼叫;更換服務網址時也要重新確認憑證,因為既有還原邏輯依端點身分比對。[驗證紀錄與限制](https://github.com/OpenHands/OpenHands/pull/17467)