在测试已安装的完整插件之前,先测试各项能力。如果插件包含 MCP 服务器,请先在开发者模式下连接并评估该服务器。然后将插件及其技能一起打包,测试完整体验。仅包含技能的插件可以跳过第一节。
在整个开发过程中保留您的评估提示和结果,以便比较不同发布版本的行为。
测试 MCP 服务器(可选)
准备端点
确认以下事项:
- 可以通过公共 HTTPS 端点或 安全 MCP 隧道访问 MCP 服务器。
- 公共端点支持流式 HTTP,路径通常为
/mcp;或者 隧道能够访问为其配置的 stdio 或 HTTP MCP 服务器。 - 工具名称、描述、模式和注解齐全。
- 对于需要账户的工具,身份验证发现机制能够正常工作。
使用安全 MCP 隧道,在开发者模式下连接私有 MCP 服务器, 无需将服务器暴露到公共互联网。开发隧道或其他 HTTPS 转发服务也可以提供用于本地测试的端点。这些 测试方式不能替代 提交插件所需的公共 HTTPS 端点。
检查 MCP 服务器
使用 MCP Inspector 直接列出并调用工具:
npx @modelcontextprotocol/inspector@latest
使用有代表性的输入、边缘情况、缺少标识符的情况以及空结果来测试每个工具。检查模式验证、身份验证错误、注解、确认行为以及模型可读的结果。
启用开发者模式
在 ChatGPT 中:
- 打开 设置。
- 选择 安全与登录。
- 开启 开发者模式。
开发者模式是否可用可能取决于账户和工作空间策略。
添加 MCP 服务器
- 前往 ChatGPT 插件。
- 选择加号按钮。
- 输入向用户显示的名称和描述。
- 在 连接下选择连接方式:
- 对于公共端点,输入 MCP 服务器 URL,其中需包含
/mcp路径。 - 对于安全 MCP 隧道,选择 隧道,然后选择一个可用隧道
或输入其
tunnel_id。
- 对于公共端点,输入 MCP 服务器 URL,其中需包含
- 创建连接。
- 审查从服务器发现的工具和元数据。
如果 ChatGPT 无法连接,请使用 MCP Inspector 验证公共 HTTPS 端点,
或检查隧道的工作空间关联和 tunnel-client 状态。在继续之前,
请解决传输、初始化、模式或身份验证错误。
检查工具选择
开始新对话,并从工具菜单中添加 MCP 连接。创建包含以下内容的评估集:
- 应调用特定工具的直接请求。
- 表达相同目标的间接请求。
- 复用先前结果中标识符的后续请求。
- 需要授权或确认的写入操作。
- 不受支持且不应调用工具的请求。
对于每个请求,记录所选工具、参数、结果、错误以及确认行为。每当您更改工具名称、描述、模式或注解时,都应重新运行该评估集。
如果服务器返回可选的 UI,请同时测试组件和模型可读的结果。
通过 API Playground 进行测试
要查看原始请求和响应日志,请打开 API Playground:
- 选择 工具 → 添加 → MCP 服务器。
- 输入 HTTPS 端点并连接。
- 运行测试提示,并检查请求和响应数据。
刷新元数据
更改工具名称、描述、模式、注解、身份验证或 UI 资源后:
- 部署或重启 MCP 服务器。
- 在 ChatGPT 插件中打开该连接。
- 选择 刷新。
- 确认服务器对外提供的元数据已更改。
- 开始新对话,并重新运行受影响的测试。
此刷新流程适用于在开发者模式下连接的 MCP 服务器。 已发布的插件采用 持续审查 来处理工具更新。更改已提交的插件信息或导入的技能 仍需创建新版本、进行审查并发布。
打包插件之前,请确认以下事项:
- 工具列表与文档中描述的能力一致。
- 结构化结果符合各工具声明的输出模式。
- 身份验证失败时会返回有用的错误信息。
- 正向测试提示会选择预期工具,负向测试提示则不会。
- 可选 UI 渲染时不会出现控制台错误,并能正确恢复状态。
测试完整插件
MCP 服务器正常工作后,请从本地源打包并安装完整插件;仅包含技能的插件可以直接执行此步骤:
- 打包插件,其中包含其技能、清单, 以及适用时的 MCP 服务器连接。
- 将插件添加到本地市场,并从插件目录中安装。
- 开始新对话,并启用该插件。
- 从插件的使用场景清单中选取有代表性的请求并运行。
创建包含以下内容的评估集:
- 应使用某项技能的直接请求。
- 表达相同目标的间接请求。
- 依赖先前结果的后续请求。
- 不应使用插件的反例请求。
- 插件明确不支持的边界情况。
对于每个请求,检查插件是否遵循技能指令、使用预期资源、完成所有必要步骤,并生成有用的结果。记录任何遗漏的步骤、不必要的触发或不一致的结果。
对于包含 MCP 服务器的插件,还需确认技能调用了正确的工具、工具结果能返回工作流、安装后身份验证正常,以及用户能从头到尾完成每个结合技能与工具的工作流。
提交前,请确认:
- 每项技能都能被预期的请求触发。
- 措辞相似的请求会产生一致的行为。
- 不支持的请求不会触发插件。
- 安装后,随插件打包的文件及引用均能正确解析。
- 插件的入门提示所描述的工作流都是插件能够完成的。
- 对于包含 MCP 服务器的插件,随插件打包的技能与工具能按预期协同工作。