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

故障排除

排查插件工具和可选 UI 的问题。

如何排查问题

出现组件无法渲染、发现机制未能识别提示、身份验证反复循环等问题时,请先确定问题出在哪一层:服务器、组件还是 ChatGPT 客户端。以下检查清单涵盖了最常见的问题及其解决方法。

服务器、工具和发现机制的检查适用于 ChatGPT 和 Codex 中的插件。本页的 UI、小组件状态和客户端身份验证检查描述的是 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 前确认本地服务器正在运行。对于生产环境,请使用稳定且支持健康检查的托管服务提供商。
  • 经过代理后流式传输中断: 确保您的负载均衡器或 CDN 允许服务器发送事件或流式 HTTP 响应通过,且不对其进行缓冲。

何时升级处理

如果您已检查以上各项,但问题仍然存在:

  1. 收集日志(服务器日志、组件控制台日志、ChatGPT 工具调用记录)和截图。
  2. 记录您发送的提示以及所有确认消息。
  3. 将详细信息分享给您在 OpenAI 的合作对接人,以便他们在内部复现问题。

清晰简明的故障排查记录有助于缩短处理时间,并确保您的 MCP 服务器为用户提供可靠的服务。