Model Context Protocol
如需完整文档索引,请参阅 llms.txt。文档页面的 Markdown 版本可通过在页面后追加
.md来获取 URL。
Model Context Protocol (MCP)将模型连接到工具和上下文。用它来 提供 ChatGPT 或 Codex 访问第三方文档,或让它 与你的浏览器或 Figma 等开发者工具交互。
ChatGPT web 可以使用由插件提供的、基于远程 MCP的工具。本地 Codex 客户端也可以直接连接到 MCP 服务器并共享其配置。
该 ChatGPT 桌面应用、 Codex CLI,以及 IDE 扩展支持 MCP 服务器,并 共享 MCP 同一 Codex 主机的配置。
下面列出的受支持服务器功能适用于 MCP 在 Codex 主机上配置的服务器。托管的插件工具可能具有不同能力。
受支持的 MCP 功能
Section titled “受支持的 MCP 功能”- STDIO 服务器:作为本地进程运行的服务器(由命令启动)。
- 环境变量
- Streamable HTTP 服务器:通过地址访问的服务器。
- Bearer 令牌认证
- OAuth 认证
- ChatGPT 用于受信任第一方服务器的会话认证
- 服务器说明: Codex 会读取 MCP
instructions初始化期间返回的字段,并将其作为服务器范围的指导,与服务器工具一起使用。
如果你为 MCP 构建或维护 Codex服务器,请使用 instructions 来描述适用于整个服务器的跨工具工作流、约束和速率限制。保持前 512 个字符自成一体,以便 Codex 决定如何使用服务器时能获得最重要的指导。
将 Codex 连接到 MCP 服务器
Section titled “将 Codex 连接到 MCP 服务器”Codex 会存储 MCP 配置于 config.toml 中,与其他 Codex 配置设置并列。默认情况下这是 ~/.codex/config.toml,但你也可以使用 MCP 将服务器限定到某个项目 .codex/config.toml (仅限受信任项目)。
该 ChatGPT 桌面应用、 Codex CLI,以及 IDE 扩展共享此配置。 配置好你的 MCP 服务器后,你可以在这些客户端之间切换,而无需 重新设置。
在 ChatGPT 桌面应用中配置
Section titled “在 ChatGPT 桌面应用中配置”- 打开 设置,然后选择 MCP 服务器。
- 选择 添加服务器。
- 输入名称,选择 STDIO 或 Streamable HTTP,并提供 服务器的命令或 URL。
- 保存服务器,然后选择 重启。
服务器列表会显示哪些服务器已启用,以及哪些需要 OAuth。选择
认证 当 OAuth 服务器需要登录时。在编辑器中,输入 /mcp
以查看已连接的服务器。
在 MCPweb 中使用基于 ChatGPT 的工具
Section titled “在 MCPweb 中使用基于 ChatGPT 的工具”在托管的 ChatGPT Work 聊天中,安装 插件 以使用 其捆绑的连接器和远程 MCP 工具。工作区管理员可以 控制哪些插件和工具可用。
ChatGPT web 不会读取本地 Codex 配置文件,也不会公开本地 Codex 命令菜单。通过 插件 在 ChatGPT Work中浏览和管理可用工具。
使用 CLI
Section titled “使用 CLI”进行配置 MCP 添加一个
Section titled “进行配置 MCP 添加一个”codex mcp add <server-name> --env VAR1=VALUE1 --env VAR2=VALUE2 -- <stdio server-command>服务器 MCP 例如,要添加 Context7(一个免费的开发者文档
codex mcp add context7 -- npx -y @upstash/context7-mcp服务器),你可以运行以下命令: CLI 其他
Section titled “服务器),你可以运行以下命令: CLI 其他”命令 codex mcp list 运行 MCP
以查看已配置的服务器。要查看所有可用的 codex mcp --help命令,请运行 OAuth。对于支持
codex mcp login <server-name>的服务器,运行
。 UI 终端TUI(
Section titled “。 UI 终端TUI(”) codex TUI在 /mcp 中,使用 MCP 查看你的活动
在 IDE 扩展中配置
Section titled “在 IDE 扩展中配置”- 打开齿轮菜单,然后选择 MCP 服务器。
- 选择 添加服务器。
- 输入名称,选择 STDIO 或 Streamable HTTP,并提供 服务器的命令或 URL。
- 保存服务器,然后选择 重启扩展。
该 MCP 服务器列表会显示哪些服务器已启用,以及哪些需要 OAuth。 选择 认证 当 OAuth 服务器需要登录时。
使用 config.toml
Section titled “使用 config.toml”配置 ~/.codex/config.toml 如需更精细的控制,请编辑
.codex/config.toml或项目范围的 。请参阅
配置参考 MCP 以获取每个受支持
选项的可搜索列表。 MCP 在配置文件中使用 [mcp_servers.<server-name>] 表来配置每个
STDIO 服务器
Section titled “STDIO 服务器”command(必需):启动服务器的命令。args(可选):传递给服务器的参数。env(可选):为服务器设置的环境变量。env_vars(可选):允许并转发的环境变量。cwd(可选):启动服务器所用的工作目录。experimental_environment(可选):设置为remote以便在远程执行器环境可用时,通过它启动 stdio 服务器。
env_vars 可以包含普通变量名,或带有来源的对象:
env_vars = ["LOCAL_TOKEN", { name = "REMOTE_TOKEN", source = "remote" }]字符串条目和 source = "local" 从 Codex的本地环境读取。
source = "remote" 从远程执行器环境读取,并且需要
远程 MCP stdio。
可流式传输 HTTP 服务器
Section titled “可流式传输 HTTP 服务器”url(必需):服务器地址。auth(可选):在已配置的 bearer token 和 authorization 标头之后尝试的身份验证。使用oauth(默认)表示存储的 MCP OAuth 凭据。使用chatgpt以便为当前 ChatGPT 受信任的 第一方 ChatGPT 来源使用会话,并将存储的 OAuth 作为回退。bearer_token_env_var(可选):要在Authorization中发送的 bearer token 的环境变量名称。http_headers(可选):标头名称到静态值的映射。env_http_headers(可选):标头名称到环境变量名称的映射(值从环境中获取)。
如果没有可解析的凭据来源, Codex 可以在没有
身份验证的情况下连接到服务器。单独运行 codex mcp login <server-name> 以启动 MCP
OAuth 登录。
其他配置选项
Section titled “其他配置选项”startup_timeout_sec(可选):服务器启动超时时间(秒)。默认值:10。tool_timeout_sec(可选):服务器运行工具的超时时间(秒)。默认值:60。enabled(可选):设置false以禁用服务器而不删除它。required(可选):设置true以便在此已启用服务器无法初始化时使启动失败。enabled_tools(可选):工具允许列表。disabled_tools(可选):工具拒绝列表(在enabled_tools之后应用)。default_tools_approval_mode(可选):此服务器中 工具的默认审批行为。支持的值为auto、prompt、writes和approve。writes模式会对未标记为只读的工具发出提示。tools.<tool>.approval_mode(可选):按工具覆盖审批行为。
如果你的 OAuth 提供方需要固定回调端口,请在 mcp_oauth_callback_port 中设置顶层 config.toml。如果未设置, Codex 会绑定到临时端口。
如果你的 MCP OAuth 流程必须使用特定回调 URL (例如远程 Devbox 入口 URL 或自定义回调路径),请设置 mcp_oauth_callback_url。 Codex 使用此值作为基础回调 URL,然后追加特定于服务器的回调 ID 以生成 OAuth redirect_uri 它在登录期间发送的内容。请向你的 redirect_uri 提供方注册完整派生的 OAuth ,包括追加的回调 ID 以及任何已配置的路径、查询或端口,而不是只注册不带该后缀的基础主机或路径。本地回调 URLs (例如 localhost)会绑定在本地接口上;非本地回调 URLs 会绑定在 0.0.0.0 上,以便回调可以到达主机。
如果 MCP 服务器公布了 scopes_supported, Codex 会在
登录期间优先使用这些 OAuth 服务器公布的作用域。否则, Codex 会回退到
中配置的作用域 config.toml。
config.toml 示例
Section titled “config.toml 示例”[mcp_servers.context7]command = "npx"args = ["-y", "@upstash/context7-mcp"]env_vars = ["LOCAL_TOKEN"]
[mcp_servers.context7.env]MY_ENV_VAR = "MY_ENV_VALUE"# Optional MCP OAuth callback overrides (used by `codex mcp login`)mcp_oauth_callback_port = 5555mcp_oauth_callback_url = "https://devbox.example.internal/callback"[mcp_servers.figma]url = "https://mcp.figma.com/mcp"bearer_token_env_var = "FIGMA_OAUTH_TOKEN"http_headers = { "X-Figma-Region" = "us-east-1" }[mcp_servers.chrome_devtools]url = "http://localhost:3000/mcp"enabled_tools = ["open", "screenshot"]disabled_tools = ["screenshot"] # applied after enabled_toolsdefault_tools_approval_mode = "prompt"startup_timeout_sec = 20tool_timeout_sec = 45enabled = true
[mcp_servers.chrome_devtools.tools.open]approval_mode = "approve"插件提供的 MCP 服务器
Section titled “插件提供的 MCP 服务器”已安装的插件可以在其插件清单中捆绑 MCP 服务器。这些
服务器从插件启动,因此用户配置不会设置它们的
传输命令。用户配置仍然可以控制 on/off 状态和工具策略
位于 plugins.<plugin>.mcp_servers.<server>下。
[plugins."sample@test".mcp_servers.sample]enabled = truedefault_tools_approval_mode = "prompt"enabled_tools = ["read", "search"]
[plugins."sample@test".mcp_servers.sample.tools.search]approval_mode = "approve"有用的 MCP 服务器示例
Section titled “有用的 MCP 服务器示例”服务器列表 MCP 仍在不断增长。以下是一些常见示例:
- OpenAI 文档 MCP:搜索和阅读 OpenAI 开发者文档。
- Context7:连接到最新的开发者文档。
- Figma 本地 和 远程:访问你的 Figma 设计。
- Playwright:使用 Playwright 控制和检查浏览器。
- Chrome Developer Tools:控制和检查 Chrome。
- Sentry:访问 Sentry 日志。
- GitHub:管理 GitHub 超出
git支持范围的内容(例如拉取请求和议题)。