跳转到内容

Model Context Protocol

身份 非官方简体中文镜像
翻译状态 AI 翻译
来源版本 官方未提供
同步日期 2026-07-31
官方原文 learn.chatgpt.com

如需完整文档索引,请参阅 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 主机上配置的服务器。托管的插件工具可能具有不同能力。

  • STDIO 服务器:作为本地进程运行的服务器(由命令启动)。
    • 环境变量
  • Streamable HTTP 服务器:通过地址访问的服务器。
    • Bearer 令牌认证
    • OAuth 认证
    • ChatGPT 用于受信任第一方服务器的会话认证
  • 服务器说明: Codex 会读取 MCP instructions 初始化期间返回的字段,并将其作为服务器范围的指导,与服务器工具一起使用。

如果你为 MCP 构建或维护 Codex服务器,请使用 instructions 来描述适用于整个服务器的跨工具工作流、约束和速率限制。保持前 512 个字符自成一体,以便 Codex 决定如何使用服务器时能获得最重要的指导。

Codex 会存储 MCP 配置于 config.toml 中,与其他 Codex 配置设置并列。默认情况下这是 ~/.codex/config.toml,但你也可以使用 MCP 将服务器限定到某个项目 .codex/config.toml (仅限受信任项目)。

该 ChatGPT 桌面应用、 Codex CLI,以及 IDE 扩展共享此配置。 配置好你的 MCP 服务器后,你可以在这些客户端之间切换,而无需 重新设置。

  1. 打开 设置,然后选择 MCP 服务器
  2. 选择 添加服务器
  3. 输入名称,选择 STDIOStreamable HTTP,并提供 服务器的命令或 URL。
  4. 保存服务器,然后选择 重启

服务器列表会显示哪些服务器已启用,以及哪些需要 OAuth。选择 认证 当 OAuth 服务器需要登录时。在编辑器中,输入 /mcp 以查看已连接的服务器。

在 MCPweb 中使用基于 ChatGPT 的工具

Section titled “在 MCPweb 中使用基于 ChatGPT 的工具”

在托管的 ChatGPT Work 聊天中,安装 插件 以使用 其捆绑的连接器和远程 MCP 工具。工作区管理员可以 控制哪些插件和工具可用。

ChatGPT web 不会读取本地 Codex 配置文件,也不会公开本地 Codex 命令菜单。通过 插件 在 ChatGPT Work中浏览和管理可用工具。

Terminal window
codex mcp add <server-name> --env VAR1=VALUE1 --env VAR2=VALUE2 -- <stdio server-command>

服务器 MCP 例如,要添加 Context7(一个免费的开发者文档

Terminal window
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>的服务器,运行

codex TUI在 /mcp 中,使用 MCP 查看你的活动

  1. 打开齿轮菜单,然后选择 MCP 服务器
  2. 选择 添加服务器
  3. 输入名称,选择 STDIOStreamable HTTP,并提供 服务器的命令或 URL。
  4. 保存服务器,然后选择 重启扩展

该 MCP 服务器列表会显示哪些服务器已启用,以及哪些需要 OAuth。 选择 认证 当 OAuth 服务器需要登录时。

配置 ~/.codex/config.toml 如需更精细的控制,请编辑 .codex/config.toml或项目范围的 。请参阅 配置参考 MCP 以获取每个受支持

选项的可搜索列表。 MCP 在配置文件中使用 [mcp_servers.<server-name>] 表来配置每个

  • 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。

  • 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 登录。

  • startup_timeout_sec (可选):服务器启动超时时间(秒)。默认值: 10
  • tool_timeout_sec (可选):服务器运行工具的超时时间(秒)。默认值: 60
  • enabled (可选):设置 false 以禁用服务器而不删除它。
  • required (可选):设置 true 以便在此已启用服务器无法初始化时使启动失败。
  • enabled_tools (可选):工具允许列表。
  • disabled_tools (可选):工具拒绝列表(在 enabled_tools之后应用)。
  • default_tools_approval_mode (可选):此服务器中 工具的默认审批行为。支持的值为 autopromptwritesapprovewrites 模式会对未标记为只读的工具发出提示。
  • 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

[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 = 5555
mcp_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_tools
default_tools_approval_mode = "prompt"
startup_timeout_sec = 20
tool_timeout_sec = 45
enabled = true
[mcp_servers.chrome_devtools.tools.open]
approval_mode = "approve"

已安装的插件可以在其插件清单中捆绑 MCP 服务器。这些 服务器从插件启动,因此用户配置不会设置它们的 传输命令。用户配置仍然可以控制 on/off 状态和工具策略 位于 plugins.<plugin>.mcp_servers.<server>下。

[plugins."sample@test".mcp_servers.sample]
enabled = true
default_tools_approval_mode = "prompt"
enabled_tools = ["read", "search"]
[plugins."sample@test".mcp_servers.sample.tools.search]
approval_mode = "approve"

服务器列表 MCP 仍在不断增长。以下是一些常见示例: