Skip to content

MCP 服务器配置

Model Context Protocol (MCP) 是一种将模型连接到额外工具和上下文的协议。它是让 Codex 访问不同库的文档或与其他开发工具(如浏览器或 Figma)交互的绝佳选择。

MCP 服务器由 Codex CLI 和 Codex IDE 扩展同时支持。

配置概述

Codex 的 MCP 配置存储在 ~/.codex/config.toml 配置文件中,与其他 Codex 配置选项一起。

配置在 CLI 和 IDE 扩展之间共享。因此,一旦配置了 MCP 服务器,你可以在两个 Codex 客户端之间无缝切换。

配置 MCP 服务器有两种方式:

  1. 使用 CLI:如果安装了 Codex CLI,可以使用 codex mcp 命令配置 MCP 服务器
  2. 直接修改配置文件:或者,可以直接修改 config.toml 文件

使用 CLI 配置

添加 MCP 服务器

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

例如,要添加 Context7(一个免费的开发者文档 MCP 服务器),可以运行:

bash
codex mcp add context7 -- npx -y @upstash/context7-mcp

其他 CLI 命令

要查看所有可用的 MCP 命令,可以运行:

bash
codex mcp --help

终端 UI (TUI)

启动 codex 并运行 TUI 后,可以使用 /mcp 查看当前连接的 MCP 服务器。

使用 config.toml 配置

要更精细地控制 MCP 服务器选项,可以手动编辑 ~/.codex/config.toml 配置文件。如果使用 IDE 扩展,可以点击扩展右上角的齿轮图标,然后点击 MCP settings > Open config.toml 找到配置文件。

每个 MCP 服务器在配置文件中使用 [mcp_servers.<server-name>] 表配置。

STDIO 服务器配置

toml
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]

[mcp_servers.context7.env]
MY_ENV_VAR = "MY_ENV_VALUE"

流式 HTTP 服务器配置

toml
[features]
rmcp_client = true

[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"
bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
http_headers = { "X-Figma-Region" = "us-east-1" }

其他配置选项

toml
[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
enabled_tools = ["open", "screenshot"]
disabled_tools = ["screenshot"]  # 在 enabled_tools 之后应用
startup_timeout_sec = 20
tool_timeout_sec = 45
enabled = true

配置选项参考

选项类型说明
commandstringSTDIO 服务器的启动命令(必需)
argsarray传递给命令的参数(可选)
envobject按原样复制的环境变量键/值对(可选)
env_varsarray从父环境转发的变量名(可选)
cwdstring工作目录覆盖(可选)
urlstring流式 HTTP 服务器的端点(必需)
bearer_token_env_varstring提供 bearer token 的环境变量(可选)
http_headersobject静态 HTTP 头(可选)
env_http_headersobject从环境变量填充的 HTTP 头(可选)
startup_timeout_secnumber启动超时,默认 10 秒(可选)
tool_timeout_secnumber每个工具超时,默认 60 秒(可选)
enabled_toolsarray允许的工具列表(可选)
disabled_toolsarray拒绝的工具列表,在 enabled_tools 之后应用(可选)
enabledboolean启用/禁用服务器而不删除配置(可选)

常用 MCP 服务器

以下是一些在使用 Codex 时有用的常见 MCP 服务器:

  • Context7 - 开发者文档搜索
  • Figma - 设计工具集成
  • GitHub - GitHub API 交互
  • Chrome DevTools - 浏览器调试

将 Codex 作为 MCP 服务器运行

除了将 Codex 连接到 MCP 服务器外,你还可以将 Codex 本身作为 MCP 服务器运行。这样你可以将它连接到其他 MCP 客户端,例如使用 OpenAI Agents SDK 构建的代理。

要将 Codex 作为 MCP 服务器启动,可以使用以下命令:

bash
codex mcp-server

你可以使用 Model Context Protocol Inspector 启动 Codex MCP 服务器:

bash
npx @modelcontextprotocol/inspector codex mcp-server

发送 tools/list 请求,你会看到有两个可用的工具:

codex 工具

运行 Codex 会话。接受与 Codex Config 结构匹配的配置参数。

属性类型说明
prompt(必需)string启动 Codex 对话的初始用户提示
approval-policystringshell 命令的审批策略:untrusted、on-failure、never
base-instructionsstring用于替代默认指令的指令集
configobject覆盖 $CODEX_HOME/config.toml 中设置的单独配置
cwdstring会话的工作目录。如果是相对路径,相对于服务器进程的当前目录解析
include-plan-toolboolean是否在对话中包含计划工具
modelstring模型名称的可选覆盖(例如 o3、o4-mini)
profilestringconfig.toml 中指定默认选项的配置文件
sandboxstring沙箱模式:read-only、workspace-write 或 danger-full-access

codex-reply 工具

通过提供对话 ID 和提示继续 Codex 会话。

属性类型说明
prompt(必需)string继续 Codex 对话的下一个用户提示
conversationId(必需)string要继续的对话 ID

试用示例

使用 MCP inspector 和 codex mcp-server 构建一个简单的井字棋游戏,使用以下设置:

属性
approval-policynever
sandboxworkspace-write
promptImplement a simple tic-tac-toe game with HTML, Javascript, and CSS. Write the game in a single file called index.html.

点击 "Run Tool",你应该会看到 Codex MCP 服务器在构建游戏时发出的事件列表。

aicodex 文档网站