GitHub Repo
Open WebUI 社群提出 MCP 錯誤訊息修補,改善模型重試時取得的回饋
10 月 22 日的 Open WebUI 社群回報指出,MCP 工具失敗時,後端會將內容清單轉成 Python 字串表示,增加模型辨讀錯誤的困難。修補提案已更新並補上無文字內容的處理,但截至查核時尚未合併。

Open WebUI 社群於 10 月 22 日回報,v0.12.3 的 MCP 錯誤處理會把伺服器回傳的內容清單直接轉成字串,再送進模型的下一輪上下文。這讓工具失敗的回饋混入 Python 物件表示與額外欄位;回報者觀察到,模型可能因此重複送出相同形狀的錯誤參數。問題與修補提案在 23 日持續更新,截至查核時仍未合併。問題回報
回報中的觸發條件是:模型產生可解析的 JSON,但內容不符合工具 schema,例如漏掉必填的 sectioncode,或傳入錯誤型別。MCP 伺服器以 isError: true 回應後,Open WebUI 的 MCPClient.call_tool 將整個 content 清單交給例外物件;外層再以 str(e) 包成錯誤結果。原本位於文字區塊內的訊息,因而夾在引號、annotations 與 meta 等欄位之間。重現步驟與程式路徑
這涉及代理能否利用失敗回饋修正下一次操作。MCP 規格區分協定錯誤與工具執行錯誤,後者可透過 isError 搭配內容區塊傳回。從工程角度看,若客戶端沒有妥善擷取文字,伺服器即使提供有用原因,也可能降低模型辨識與修正參數的機會;但目前沒有量化測試證明此問題對整體任務成功率的影響。MCP 工具規格
對應的 PR #32942 擬改為擷取伺服器文字;若錯誤結果只有圖片、音訊或資源,則提供簡短錯誤訊息,避免空白回饋。這仍無法補回伺服器未揭露的原因:回報中的 .NET SDK 範例只傳回一般失敗訊息,修正客戶端格式也不會自動得知缺少哪個參數。部署團隊可先檢查實際送入模型的工具結果,並追蹤提案合併、正式版本及跨 SDK 驗證狀態。修補提案