跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

MCP 服务器

让 Codex 通过 Model Context Protocol 使用外部工具和上下文:支持的特性、用 CLI、config.toml、桌面应用和 IDE 配置 STDIO 与可流式 HTTP 服务器。

Model Context Protocol(MCP)把模型与工具和上下文连接起来,让 Codex 能访问第三方文档,或与浏览器、Figma 这类开发者工具交互。ChatGPT 桌面应用、Codex CLI 和 IDE 扩展支持 MCP 服务器,并对同一个 Codex 主机共享 MCP 配置,配置一次,在这些客户端之间切换无需重新设置。

支持的特性

  • STDIO 服务器:作为本地进程(由命令启动)运行的服务器,支持环境变量
  • 可流式 HTTP 服务器:通过地址访问的服务器,支持 bearer token 认证、OAuth 认证(包括 Client ID Metadata Documents(CIMD)和 Dynamic Client Registration(DCR))、以及对受信任第一方服务器的 ChatGPT 会话认证
  • 服务器指令:Codex 读取 MCP 初始化时返回的 instructions 字段,并把它作为服务器范围的指引与服务器的工具一起使用。如果你为 Codex 构建或维护 MCP 服务器,用 instructions 写跨工具的工作流、约束和速率限制,并让前 512 个字符自成一体,这样 Codex 在决定如何使用服务器时最重要的指引就可用

连接 Codex 与 MCP 服务器

Codex 把 MCP 配置与其他 Codex 配置一起存在 config.toml 里:默认是 ~/.codex/config.toml,也可以用项目的 .codex/config.toml 为项目限定 MCP 服务器(仅受信任的项目)。

用 CLI 配置

添加 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

其他命令:codex mcp list 列出已配置的服务器;codex mcp --help 查看所有 MCP 命令;支持 OAuth 的服务器用 codex mcp login <server-name>;在 codex TUI 里用 /mcp 查看活动的 MCP 服务器。

在桌面应用和 IDE 扩展里配置

桌面应用:打开 Settings,选 MCP servers > Add server,输入名称,选 STDIO 或 Streamable HTTP,提供服务器的命令或 URL,保存后选 Restart;服务器列表显示哪些已启用、哪些需要 OAuth,需要登录时点 Authenticate;在输入框里输入 /mcp 查看已连接的服务器。IDE 扩展:打开齿轮菜单选 MCP servers,步骤相同,保存后选 Restart extension。

用 config.toml 配置

要更细粒度的控制,编辑 ~/.codex/config.toml 或项目范围的 .codex/config.toml,用 [mcp_servers.<server-name>] 表配置每个 MCP 服务器;每个受支持的 MCP 选项见配置参考。

STDIO 服务器:command(必填,启动服务器的命令)、args(可选,传给服务器的参数)、env(可选,为服务器设置的环境变量)、env_vars(可选,允许并转发的环境变量)、cwd(可选,启动服务器的工作目录)、experimental_environment(可选,设为 remote 时在有远程执行器环境的情况下通过它启动 stdio 服务器)。

可流式 HTTP 服务器:url(必填,服务器地址);auth(可选,在已配置的 bearer token 和授权头之后尝试的认证:oauth(默认)用已存储的 MCP OAuth 凭据,chatgpt 对受信任的第一方 ChatGPT 源使用当前 ChatGPT 会话,OAuth 作为回退);bearer_token_env_var(可选,保存要在 Authorization 里发送的 bearer token 的环境变量名);http_headers(可选,请求头名称到静态值的映射);env_http_headers(可选,请求头名称到环境变量名的映射,值从环境里取);http_headers_helper(可选,打印请求头名到字符串值的 JSON 对象的本地命令,如 {"X-Auth": "temporary-token"},仅支持从本地环境发起的 HTTP MCP 连接)。Codex 缓存连接的辅助命令头,同源 POST 返回 401 或 403 后刷新一次,仅在辅助命令返回变化的值时重试;显式的 bearer token 和 OAuth 凭据优先于辅助命令提供的 Authorization 头。

把某个 MCP 服务器配置为 required = true 时,它初始化失败会导致 codex exec 以错误退出(见「非交互模式」)。官方原文还有关于工具过滤、超时和启用/禁用单个服务器的选项,以配置参考为准。