如果您已发布 Claude Code 插件或连接器,请根据其中包含的是技能、MCP 服务器还是两者兼有,选择相应的提交方式。
| 现有内容 | 提交方式 |
|---|---|
| 仅有技能,不含 MCP 服务器 | 上传仅含技能的插件。 |
| 公开的 HTTPS MCP 端点 | 创建远程 MCP 提交。如有技能,请一并包含在同一份草稿中。 |
| 本地 MCP 服务器 | 将其部署到公开的 HTTPS URL。如果无法部署,请联系您的 OpenAI 联系人,寻求本地 MCP 支持。 |
Claude 对 Claude Code 插件和 MCP 连接器采用不同的提交流程。OpenAI 使用统一的插件包,可包含技能、MCP 服务器或两者。Claude 市场的上架信息和审批结果不会随之迁移。
如果您的插件包含技能,请在通过任一路径提交前,参照 指令遵循指南 审查这些技能的指令。
提交仅含技能的插件
如果插件不需要 MCP 服务器,请选择此方式。
了解 OpenAI 的支持范围
| 您的 Claude 插件包含的内容 | 处理方式 |
|---|---|
skills | 保留每项技能及其 SKILL.md、脚本、参考资料和资源文件。直接上传的 Claude 归档文件必须至少在 skills/<skill-name>/SKILL.md 处包含一项技能。 |
| 在清单中声明的自定义技能目录 | 在归档文件中保留这些目录及其清单声明。 |
| 明确提及 Claude 的技能 | 将技能指令中针对 Claude 的表述替换为不限定提供商的措辞,例如“模型”。仅在指令确实适用于某个产品时,才保留该产品名称。 |
commands、commands/、agents 或 agents/ | 将可复用的行为转换为技能。将每个 Markdown 命令转换为一项技能,将可复用的智能体流程移入技能,并将有用的角色设定指令合并到相关技能中。 |
hooks 或 hooks/hooks.json | 调整命令钩子,使其适用于Codex 钩子运行时,包括 ChatGPT Work 和 Codex。钩子脚本必须在执行环境中可用,并在运行前获得信任。请勿在普通聊天中依赖钩子;Codex 不运行提示或智能体类型的钩子处理程序。 |
userConfig 或 ${user_config.*} | OpenAI 不运行 Claude 安装提示,也不展开 user_config 变量。请按照替换 Claude userConfig中的说明操作。如果插件需要凭据或持久保存的用户设置,请使用 MCP 服务器。 |
| 创建或更新 Claude 实时产物的技能 | OpenAI 目前不支持 Claude 实时产物。请移除要求创建、重新打开、刷新或更新产物的指令,改为以普通对话输出的形式返回其中的内容,例如将产物中的表格呈现为标准表格。产物专有的 HTML、持久化、刷新行为和交互不会保留。 |
bin/、settings、settings.json、CLAUDE.md 或 .claude/settings*.json | 在插件中保留必需的辅助程序和指令。使用相对于插件包的路径调用随包提供的可执行文件,并移除仅适用于 Claude 的设置。 |
outputStyles、lspServers、experimental.themes、experimental.monitors、channels 或 dependencies | 将必要的行为移入技能,然后移除 Claude 声明。如果核心工作流程需要接收传入的频道消息,请联系您的 OpenAI 合作伙伴。 |
.claude-plugin/plugin.json | 直接上传 Claude 归档文件时,请保留清单。提交门户会将其转换为 .codex-plugin/plugin.json。 |
.claude-plugin/marketplace.json、.mcp.json、mcpServers、.app.json 或 apps | 请勿依赖这些文件或声明。仅含技能的上传内容不包含 MCP 服务器配置,而且您不能通过引用的方式提交现有的 MCP 服务器集成。 |
准备并上传归档文件
- 确认归档文件的根目录或其唯一的顶层目录中包含
.claude-plugin/plugin.json,且其中的description非空,并且至少在skills/<skill-name>/SKILL.md处包含一项有效技能。 - 打开插件提交门户, 选择 创建插件,再选择 仅含技能,然后上传归档文件。
- 审查生成的
.codex-plugin/plugin.json。提交门户会在转换过程中补充缺失的 界面默认值,并规范化文本字段。 - 在干净的环境中测试导入的技能。确认每项技能都能找到其引用的文件和可执行文件,且不依赖未声明的本地软件包、文件或凭据。
- 填写完整的上架和审查字段,修复所有扫描发现的问题,然后提交草稿。
如果归档文件不符合直接上传的要求,请按照 打包插件中的说明创建 OpenAI 清单和插件包目录结构。请参阅构建技能 了解技能要求。
提交包含远程 MCP 服务器的插件
如果服务器具有 OpenAI 可访问的稳定、公开的 HTTPS URL,请选择此方式。该服务器之前可以在 Claude 插件中本地运行;此次提交的关键是您已将其部署为远程服务。
了解 OpenAI 的支持范围
| 您的 Claude 集成包含的内容 | 处理方式 |
|---|---|
| 远程 MCP 服务器 | 复用服务器实现。提交一个使用 Streamable HTTP 的稳定、公开的 HTTPS 端点。 |
本地 MCP 服务器或 Claude Desktop 扩展程序(.mcpb) | 将 MCP 服务器部署到公开的 HTTPS URL。如果无法部署,请联系您的 OpenAI 联系人,寻求本地 MCP 支持。提交门户不接受 .mcpb 文件。 |
| 技能或在清单中声明的自定义技能目录 | 将技能包含在同一份 包含 MCP 提交中。保留每个 SKILL.md 及其脚本、参考资料和资源文件。 |
| 明确提及 Claude 的技能 | 将技能指令中针对 Claude 的表述替换为不限定提供商的措辞,例如“模型”。仅在指令确实适用于某个产品时,才保留该产品名称。 |
commands、commands/、agents 或 agents/ | 将可复用的行为转换为技能。将每个 Markdown 命令转换为一项技能,将可复用的智能体流程移入技能,并将有用的角色设定指令合并到相关技能中。 |
hooks 或 hooks/hooks.json | 调整命令钩子,使其适用于Codex 钩子运行时,包括 ChatGPT Work 和 Codex。钩子脚本必须在执行环境中可用,并在运行前获得信任。请勿在普通聊天中依赖钩子;Codex 不运行提示或智能体类型的钩子处理程序。 |
userConfig 或 ${user_config.*} | OpenAI 不运行 Claude 安装提示,也不展开 user_config 变量。请按照替换 Claude userConfig中的说明,将各个值迁移到显式输入、OAuth、托管存储或 Codex 本地配置中。 |
| 创建或更新 Claude 实时产物的技能 | OpenAI 目前不支持 Claude 实时制品。请移除要求创建、重新打开、刷新或更新制品的指令,改为以常规对话输出返回其中的内容,例如将制品中的表格呈现为标准表格。制品特有的 HTML、持久化、刷新行为和交互不会保留。 |
.app.json、apps 或现有的 MCP 服务器集成 | 直接提交 MCP 服务器端点。您不能通过引用的方式提交现有的 MCP 服务器集成。 |
outputStyles、lspServers、experimental.themes、experimental.monitors、channels 或 dependencies | 将必要的行为移至技能或 MCP 工具中,然后移除 Claude 声明。如果核心工作流程需要接收传入的频道消息,请联系您的 OpenAI 合作伙伴。 |
准备并提交 MCP 服务器
- 使用 Streamable HTTP 将 MCP 服务器部署到其生产环境 HTTPS 端点。如果服务器会访问用户的私有数据或代用户 执行操作,请使用 OAuth 2.1。请参照用户身份验证,了解 受支持的产品要求和 MCP 授权规范。
- 添加准确的工具模式和安全注解。逐一测试工具,确保每个工具都能连接、完成身份验证、返回预期的结果结构,并在执行写入或破坏性操作时要求按预期进行确认。
- 将所有命令或智能体转换为技能,并确保这些技能不依赖未声明的本地软件包、文件或凭据。
- 打开插件提交门户, 选择 创建插件,再选择 包含 MCP,然后提交生产环境 端点。如适用,请将转换后的技能添加到同一份草稿中。
- 验证服务器域名;如果服务器要求登录,请配置身份验证。填写完整的上架信息和审查字段,修复扫描发现的所有问题,然后提交草稿。
提交前,请为以下两项设置步骤做好准备:
- 域名验证: 您必须能够在 MCP 主机或允许的父级主机上,
通过
/.well-known/openai-apps-challenge提供与门户给出的 Token 完全一致的内容。 门户提示您时,请完成验证挑战。请参阅 配置 MCP 提交信息。 - OAuth 和工作空间域名限制: 如果插件使用 OAuth,请提供
一个 UserInfo 端点,返回用户的
email声明和email_verified: true。声明并启用openid和email作用域。 请参阅 支持工作空间域名限制。
提交前, 请阅读远程 MCP 服务器审查要求。
替换 Claude userConfig
OpenAI 插件不会运行 Claude userConfig 安装提示,也不会展开
${user_config.*} 引用。请移除这些引用,并根据插件对各个值的使用方式,
逐一采用相应的替代方案。
| 该值控制的内容 | OpenAI 中的替代方案 |
|---|---|
| 每项任务都可能不同的选项 | 为技能或 MCP 工具添加明确的输入参数。仅在工作流程需要时询问该值。 |
| 远程服务的凭据 | 通过远程 MCP 服务器使用 OAuth 2.1。不要将机密信息放入技能归档、清单、指令或默认值中。 |
| 需要持久保存的偏好设置 | 将其存储在托管服务中,并与已通过身份验证的用户关联。让用户通过明确的工作流程或工具输入来更新它。 |
| Codex 本地脚本或钩子的设置 | 使用有文档说明的环境变量或配置文件。使用前先进行检查,缺失时返回包含解决办法的错误信息。不要让 ChatGPT 的核心工作流程依赖此本地设置。 |
| 对所有用户都相同的固定值 | 在技能指令或托管服务配置中提供不含机密信息的默认值。 |
如果仅包含技能的插件需要凭据或必须跨对话持久保存的设置,请添加 MCP 服务器。为远程服务器使用 OAuth 和托管存储。如果该值只影响当前任务,则让插件保持仅包含技能,并通过明确的技能输入收集该值。
满足提交要求
提交任一类型的插件前,请先在将拥有该插件的 OpenAI 组织中获取 应用管理 写入权限。您还必须完成个人或 企业身份验证。每个插件都必须完成 OpenAI 审查。
如果插件的核心价值依赖本地执行、任意访问用户计算机上的文件、访问硬件或应用、离线运行或接收传入的频道消息,请在提交前联系您的 OpenAI 合作伙伴。这些情况可能需要针对具体产品进行审查。