主题
MCP 服务器配置
Model Context Protocol (MCP) 是一种将模型连接到额外工具和上下文的协议。它是让 Codex 访问不同库的文档或与其他开发工具(如浏览器或 Figma)交互的绝佳选择。
MCP 服务器由 Codex CLI 和 Codex IDE 扩展同时支持。
配置概述
Codex 的 MCP 配置存储在 ~/.codex/config.toml 配置文件中,与其他 Codex 配置选项一起。
配置在 CLI 和 IDE 扩展之间共享。因此,一旦配置了 MCP 服务器,你可以在两个 Codex 客户端之间无缝切换。
配置 MCP 服务器有两种方式:
- 使用 CLI:如果安装了 Codex CLI,可以使用
codex mcp命令配置 MCP 服务器 - 直接修改配置文件:或者,可以直接修改 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配置选项参考
| 选项 | 类型 | 说明 |
|---|---|---|
command | string | STDIO 服务器的启动命令(必需) |
args | array | 传递给命令的参数(可选) |
env | object | 按原样复制的环境变量键/值对(可选) |
env_vars | array | 从父环境转发的变量名(可选) |
cwd | string | 工作目录覆盖(可选) |
url | string | 流式 HTTP 服务器的端点(必需) |
bearer_token_env_var | string | 提供 bearer token 的环境变量(可选) |
http_headers | object | 静态 HTTP 头(可选) |
env_http_headers | object | 从环境变量填充的 HTTP 头(可选) |
startup_timeout_sec | number | 启动超时,默认 10 秒(可选) |
tool_timeout_sec | number | 每个工具超时,默认 60 秒(可选) |
enabled_tools | array | 允许的工具列表(可选) |
disabled_tools | array | 拒绝的工具列表,在 enabled_tools 之后应用(可选) |
enabled | boolean | 启用/禁用服务器而不删除配置(可选) |
常用 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-policy | string | shell 命令的审批策略:untrusted、on-failure、never |
base-instructions | string | 用于替代默认指令的指令集 |
config | object | 覆盖 $CODEX_HOME/config.toml 中设置的单独配置 |
cwd | string | 会话的工作目录。如果是相对路径,相对于服务器进程的当前目录解析 |
include-plan-tool | boolean | 是否在对话中包含计划工具 |
model | string | 模型名称的可选覆盖(例如 o3、o4-mini) |
profile | string | config.toml 中指定默认选项的配置文件 |
sandbox | string | 沙箱模式:read-only、workspace-write 或 danger-full-access |
codex-reply 工具
通过提供对话 ID 和提示继续 Codex 会话。
| 属性 | 类型 | 说明 |
|---|---|---|
prompt(必需) | string | 继续 Codex 对话的下一个用户提示 |
conversationId(必需) | string | 要继续的对话 ID |
试用示例
使用 MCP inspector 和 codex mcp-server 构建一个简单的井字棋游戏,使用以下设置:
| 属性 | 值 |
|---|---|
| approval-policy | never |
| sandbox | workspace-write |
| prompt | Implement 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 服务器在构建游戏时发出的事件列表。