For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

疑難排解

排解外掛程式工具與選用使用者介面的問題。

如何判斷問題所在

當元件無法呈現、探索功能未能對提示詞做出預期回應,或身分驗證陷入循環時,請先找出問題出在哪一層:伺服器、元件,還是 ChatGPT 用戶端。以下檢查清單涵蓋最常見的問題及其解決方式。

伺服器、工具與探索功能的檢查適用於 ChatGPT 和 Codex 中的外掛程式。本頁的使用者介面、小工具狀態與用戶端身分驗證檢查則說明 ChatGPT 的行為。

伺服器端問題

  • 未列出任何工具: 確認伺服器正在執行,且你連線的是 /mcp 端點。如果你變更了連接埠,請更新 MCP 伺服器 URL 並重新啟動 MCP Inspector。
  • 只有結構化內容,沒有元件: 確認工具描述元中的 _meta.ui.resourceUri 指向已註冊且設有 mimeType: "text/html;profile=mcp-app" 的 HTML 資源(ChatGPT 也接受 _meta["openai/outputTemplate"] 作為選用的相容性別名),並確認載入該資源時沒有 CSP 錯誤。
  • 結構描述不符錯誤: 確認你的 Python 或 TypeScript 模型與 outputSchema 中宣告的結構描述一致。變更後請重新產生型別。
  • 回應緩慢: 當工具呼叫耗時超過幾百毫秒時,元件就會讓人感覺反應遲緩。請分析伺服器呼叫的效能,並盡可能快取結果。

小工具問題

  • 小工具無法載入: 開啟瀏覽器主控台(或 MCP Inspector 記錄),檢查是否有違反 CSP 的情況或缺少套件組合檔。確認 HTML 包含編譯後的 JavaScript,且套件組合檔包含所有相依套件。
  • 拖放或編輯結果未保留: 如果你依賴 ChatGPT 的小工具狀態保存功能,請在每次更新後呼叫 window.openai.setWidgetState,並在掛載時從 window.openai.widgetState 還原狀態。
  • 行動裝置上的版面配置問題: 如果你依賴 ChatGPT 的版面配置訊號,請檢查 window.openai.displayModewindow.openai.maxHeight 以調整版面配置。避免使用固定高度,或只能透過滑鼠懸停觸發的動作。

探索功能與進入點問題

  • 工具始終未觸發: 重新檢視中繼資料。以「當……時使用此工具」的句型改寫描述,更新起始提示詞,並使用你的標準測試提示詞集重新測試。
  • 選到了錯誤的工具: 為相似的工具補充能區分彼此的細節,或在描述中明確列出不允許使用的情境。可考慮將大型工具拆分成規模較小、用途明確的工具。
  • 啟動器中的排序不如預期: 更新目錄中的中繼資料,並確認外掛程式圖示與描述符合使用者的預期。

身分驗證問題

  • 401 錯誤: 在錯誤回應中加入 WWW-Authenticate 標頭,讓 ChatGPT 知道需要重新啟動 OAuth 流程。再次確認簽發者 URL 與對象宣告是否正確。
  • 用戶端註冊失敗: 如果你使用 CIMD,請確認授權伺服器的中繼資料包含 client_id_metadata_document_supported: true,且伺服器能擷取 ChatGPT 的用戶端中繼資料文件。若使用 private_key_jwt,請確認授權伺服器能擷取 ChatGPT 的公開 JWKS,並驗證已簽署的用戶端斷言。如果你使用 DCR,請確認授權伺服器提供 registration_endpoint,且新建立的用戶端至少啟用了一個登入連線。
  • 現有 MCP 伺服器連線傳回 invalid_client 確認動態註冊的 OAuth 用戶端仍然存在;如果該用戶端設有密鑰,也請確認授權伺服器接受該密鑰。ChatGPT 會重複使用這些憑證,因此請還原原有憑證,而非建立新的用戶端。存取 Token 過期則需要採取不同的修正方式。

部署問題

  • ngrok 通道逾時: 重新啟動通道,並在分享 URL 前確認本機伺服器正在執行。正式環境請使用穩定且提供健康檢查的託管服務供應商。
  • 透過 Proxy 時串流中斷: 確認負載平衡器或 CDN 允許伺服器傳送事件或串流 HTTP 回應通過,且不會進行緩衝。

何時尋求進一步協助

如果你已確認上述各項,但問題仍然存在:

  1. 收集記錄(伺服器記錄、元件主控台記錄、ChatGPT 工具呼叫逐字記錄)與螢幕截圖。
  2. 記下你送出的提示詞與任何確認訊息。
  3. 將詳細資訊提供給你的 OpenAI 合作夥伴聯絡人,讓對方能在內部重現問題。

清楚精簡的疑難排解記錄能縮短處理時間,讓你的 MCP 伺服器持續為使用者提供可靠的服務。