我最近把 Codex CLI 的基础命令、只读分析、测试和 Review 依次跑了一遍。MCP 是下一步会遇到的功能:它可以把外部工具和上下文接到 Codex 里。
这篇先不接真实业务系统,也不执行网上复制来的安装命令。我只用本机 codex mcp 帮助输出,加上官方文档里的配置形式,把最小使用路径理清楚。
MCP 全称是 Model Context Protocol。对 Codex 来说,可以把它理解为一套连接工具的协议:Codex 负责提出调用,MCP 服务器负责提供工具或上下文。
常见的连接方式有两种:
本地进程不等于没有风险。它通常会继承你明确传给它的环境变量,也可能根据工具实现读取文件、访问网络或执行操作。连接之前,先确认服务器来源和它暴露的工具范围。
我本机的版本是:
|
1 |
codex-cli 0.147.0 |
先不要直接照抄旧文章里的参数,执行:
|
1 |
codex mcp --help |
当前帮助里列出的 MCP 子命令是:
|
1 |
list get add remove login logout |
几个常用命令可以这样记:
|
1 2 3 4 5 6 7 8 |
# 查看已经配置的服务器 codex mcp list # 查看某一个服务器的配置 codex mcp get <server-name> # 删除配置,不是卸载服务器软件 codex mcp remove <server-name> # 需要 OAuth 的服务器使用登录流程 codex mcp login <server-name> |
codex mcp list --json 可以输出 JSON,适合排查配置或留作脱敏记录。本文没有执行 list,因为它可能暴露当前机器上的服务器名称、地址或环境变量名;文章素材不需要读取本机配置。
官方文档给出的 CLI 形式是:
|
1 |
codex mcp add <server-name> --env VAR1=VALUE1 --env VAR2=VALUE2 -- <stdio-server-command> |
例如,假设你已经审过一个本地服务器文件,并且它需要一个环境变量名为 MCP_DEMO_TOKEN 的令牌,可以写成:
|
1 |
codex mcp add local-demo --env MCP_DEMO_TOKEN=$env:MCP_DEMO_TOKEN -- node C:\path\to\server.mjs |
这里有两个容易混淆的地方:
上面的路径和环境变量只是格式示例,本次没有执行它,也没有下载或启动任何 MCP 服务器。
如果使用配置文件,默认位置是:
|
1 |
~/.codex/config.toml |
Windows 下通常对应当前用户目录里的 .codex\config.toml。项目也可以使用项目范围的 .codex/config.toml,但官方文档注明这只适用于受信任项目。
一个只展示结构的例子如下:
|
1 2 3 4 5 6 7 |
[mcp_servers.local_demo] command = "node" args = ["C:\\path\\to\\server.mjs"] env_vars = ["MCP_DEMO_TOKEN"] startup_timeout_sec = 10 tool_timeout_sec = 60 default_tools_approval_mode = "prompt" |
env_vars 表示允许转发哪些环境变量,示例只写变量名,不写令牌内容。default_tools_approval_mode = "prompt" 表示工具调用默认需要确认,适合刚接入时先观察行为。
如果你使用灵链云API为 Codex 提供模型服务,MCP 服务器仍然是单独的一层配置。模型服务地址、API Key 和 MCP 工具权限不要混在同一个截图或配置片段里,排查时也要分开确认。
如果服务器已经有 HTTP 地址,CLI 形式是:
|
1 |
codex mcp add remote-demo --url https://mcp.example.com/mcp |
如果需要从环境变量读取 Bearer Token,可以写成:
|
1 2 3 |
codex mcp add remote-demo ` --url https://mcp.example.com/mcp ` --bearer-token-env-var MCP_REMOTE_TOKEN |
这只是配置格式示例,mcp.example.com 并不是本文推荐的服务地址。使用 OAuth 的服务器,先添加配置,再按服务器要求执行:
|
1 |
codex mcp login remote-demo |
不要把 Token 放在 URL 查询参数里,也不要把 Authorization 头复制进 README 或截图。令牌应放在本机环境变量或受控配置中。
灵链云API的 Base URL、可用模型和服务规则也应以官网当前说明为准。它解决的是模型服务配置,不能替代 MCP 服务器自身的来源审核和工具权限检查。
我会按下面的顺序检查,先确认配置,再确认工具:
|
1 2 3 |
codex mcp list codex mcp get local-demo codex |
进入 Codex TUI 后,可以输入:
|
1 |
/mcp |
官方文档说明,/mcp 用来查看当前活动的 MCP 服务器。看到服务器不代表每个工具都应该直接调用,第一次使用时仍要看清工具名称、参数和审批提示。
MCP 配置里可以做几层收缩:
刚开始接入时,我会先选一个没有密钥、没有客户数据的测试目录,只开放读取或查询类工具。能看到调用过程以后,再决定是否需要写入、网络访问或其他权限。
本文真实验证的是本机 codex-cli 0.147.0 的 codex mcp --help、add --help、list --help 和 remove --help 输出。
我没有执行 npx -y ... 形式的远程服务器命令,没有添加服务器,也没有声称 /mcp 已经显示了某个工具。要写“连接成功”,至少还需要固定服务器版本、记录启动结果、检查工具列表,并用无害输入完成一次调用。
Codex MCP 的入门路径可以压缩成四步:先看本机帮助,再选择 STDIO 或 HTTP,使用环境变量管理凭据,最后用 list、get 和 TUI 的 /mcp 核对实际状态。
不要因为一条 codex mcp add 命令很短,就跳过服务器来源、工具范围和审批设置。MCP 接入的是工具权限,排查时应该把它当成配置变更来对待。