进阶
接入 MCP
用 MCP(Model Context Protocol)给 Codex 接上外部工具和数据源:命令行添加、config.toml 配置、OAuth 登录与常用选项。
MCP(Model Context Protocol)是一套开放协议,让 Codex 能调用外部工具,比如查询最新的开发文档、操作浏览器、读写数据库。Codex CLI、IDE 扩展和 ChatGPT 桌面应用共用同一份 MCP 配置,配一次三处都能用。
Codex 支持两种 MCP 服务器:
- STDIO:在本机以子进程方式启动(通过一条命令);
- Streamable HTTP:通过网址访问的远程服务器,支持 Bearer Token 和 OAuth 认证。
用命令行添加
codex mcp add <服务器名> --env VAR1=VALUE1 -- <启动命令>例如添加 Context7(一个免费的开发文档 MCP 服务器):
codex mcp add context7 -- npx -y @upstash/context7-mcp添加远程 HTTP 服务器:
codex mcp add example --url https://mcp.example.com管理命令
codex mcp list # 列出已配置的服务器
codex mcp get <服务器名> # 查看某个服务器的配置
codex mcp remove <服务器名> # 删除
codex mcp login <服务器名> # 对支持 OAuth 的 HTTP 服务器发起登录
codex mcp logout <服务器名> # 清除 OAuth 凭据
codex mcp --help # 查看全部子命令在 Codex 交互界面里输入 /mcp,可以查看当前会话里可用的 MCP 工具。
用 config.toml 配置
需要更细的控制时,直接编辑 ~/.codex/config.toml(或受信任项目里的 .codex/config.toml)。每个服务器一个 [mcp_servers.<名字>] 小节。
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
# 可选:给服务器设置环境变量
# env = { "MY_ENV_VAR" = "value" }| 字段 | 说明 |
|---|---|
command | 必填,启动服务器的命令 |
args | 可选,命令参数 |
env | 可选,给服务器设置的环境变量 |
env_vars | 可选,允许转发给服务器的环境变量名 |
cwd | 可选,启动时的工作目录 |
通用选项
| 字段 | 默认 | 说明 |
|---|---|---|
enabled | true | 设为 false 可临时停用,不用删配置 |
required | — | 设为 true 时,这个服务器启动失败会让 Codex 直接报错退出 |
startup_timeout_sec | 10 | 服务器启动超时(秒) |
tool_timeout_sec | 60 | 单次工具调用超时(秒) |
enabled_tools | — | 只允许使用这些工具 |
disabled_tools | — | 禁用这些工具(在 enabled_tools 之后生效) |
临时停用某个服务器也可以用命令行覆盖:
codex -c mcp_servers.context7.enabled=false注意事项
MCP 会消耗额度
每个启用的 MCP 服务器都会往每条消息里加上它的工具说明,占用上下文、消耗额度。官方建议:不用的服务器就停用。
- 只接你信任的服务器:MCP 工具能读写数据、调用外部服务,来源不明的服务器可能带来安全风险。
- 有破坏性的操作会先问你:如果工具声明了破坏性操作(比如删除),Codex 调用前一定会请求审批。
codex mcp-server已移除:老教程里"把 Codex 自己当作 MCP 服务器"的codex mcp-server命令已经删除,官方改为提供 Codex App Server。