浏览 MCP与Skills教程与资源

Codex MCP 配置教程:接入官方文档、核对作用域与定位连接失败

从一个无需密钥的公开文档服务开始,完成登记、会话工具发现和带来源的查询。再区分项目配置、stdio 启动、工具审批与真正的外部权限,避免把‘添加成功’当成整条链路可用。

开始前

这次到底在修改哪个 Codex 的配置?

本文假设你已能启动 Codex CLI,并且能从这台机器访问公开 HTTPS 文档。主线连接 OpenAI Docs MCP:它提供文档查询和页面内容,不需要你的 OpenAI API Key,也不替你调用模型 API。不要把 API 中转站的 Base URL 填到这里。

默认用户配置是 ~/.codex/config.toml;若设置了 CODEX_HOME,则先确认实际配置根目录。可信项目还可以使用项目内 .codex/config.toml。CLI 与同一 Codex host 上的 IDE 使用共享配置,但 Windows 原生、WSL、SSH 远程主机不是天然的同一环境:分别运行的进程可能看到不同 Home、文件和网络。

先运行 codex --version 与 codex mcp list。若已经有 openaiDeveloperDocs,先用 get 核对,不要重加或用整份示例覆盖已有配置。以下操作仅增加这一个条目。

登记服务

保存配置基线,再添加一个 HTTP 端点

PowerShell

仅备份存在的用户配置,每次文件名独立

$codexConfigRoot = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $env:USERPROFILE '.codex' }
$codexConfigFile = Join-Path $codexConfigRoot 'config.toml'
if (Test-Path -LiteralPath $codexConfigFile) {
  $backupPath = $codexConfigFile + '.before-mcp-' + (Get-Date -Format 'yyyyMMdd-HHmmss-fff') + '-' + [guid]::NewGuid().ToString('N') + '.bak'
  Copy-Item -LiteralPath $codexConfigFile -Destination $backupPath
  Write-Output $backupPath
}
PowerShell / macOS / Linux 终端

添加并回读本例连接

codex --version
codex mcp add openaiDeveloperDocs --url https://developers.openai.com/mcp
codex mcp list
codex mcp get openaiDeveloperDocs
手工配置替代方案

与 add 命令对应的最小 TOML(两种方法选一种)

[mcp_servers.openaiDeveloperDocs]
url = "https://developers.openai.com/mcp"

macOS/Linux 可先用文件管理器复制已有 config.toml 并使用唯一备份名。上面的手工 TOML 没有额外添加审批选项;后文的 prompt 是明确的附加策略,不声称与最小 CLI 配置等价。

从登记到使用

让同一个问题留下三段可回查证据

  1. 01

    get 核对实际定义

    确认条目名称、HTTP URL 和启用状态与主线一致。若你编辑了项目配置,还应在项目中和项目外分别检查;不要从文件存在推断它已经被加载。

    这一步的证据是配置定义,尚不是一次成功的工具调用。
  2. 02

    重开 Codex 会话,再用 /mcp 查看

    在 TUI 中输入 /mcp,找到本例 Server 和当前会话看到的工具。IDE 修改后按其界面重启扩展。记录不可用项给出的原始错误,而不是只截一个名称。

    这一步证明本会话发现了哪些能力;其他终端里的 list 不能替代它。
  3. 03

    查询一个可以回查的具体问题

    输入:‘使用 openaiDeveloperDocs 查 Codex MCP 的 user 与 project 配置位置。返回两项路径、可信项目限制,以及对应官方文档 URL;找不到就说明,不要凭记忆补齐。’随后展开工具调用,核对确实使用了目标 Server、查询与结果相关,答案中的链接能回到原文。

    这是教学任务与预期核对方法,不是本站在读者设备完成后的成功记录。
权限与审批

对话里的‘只读’指令,不能证明系统权限隔离

本例 Server 按官方说明只提供文档能力。让模型回答‘能否用它改本地文件’,最多检查模型是否理解工具边界;不应拿删除真实 README 的请求做测试。即使它拒绝,也不能证明宿主的 Shell、文件工具或其他 Server 无权写入。

需要每次审阅 MCP 调用时,可在已有 Server 表中额外添加下面一行。它控制客户端审批,不改变外部账号权限。enabled_tools 可筛选实际发现的工具名,disabled_tools 再作排除;先看真实工具目录再填写,不复制猜测的名称。

附加策略

加到已有 [mcp_servers.openaiDeveloperDocs] 表内

default_tools_approval_mode = "prompt"

writes 模式依赖工具的只读标注决定哪些动作提示,因此不等于操作系统只读沙盒。具体业务只读要由 Server、凭证或系统权限强制约束。测试关闭本例 enabled=false 后工具是否消失,只能证明本连接的曝光状态,不能外推到其他工具。

本地进程的不同点

只有你需要本地 Server 时,才走 stdio 这条支线

Codex 官方文档以 Context7 展示 stdio。它由第三方维护,可能下载执行 npm 包,且本地进程仍可联网。本例用于看清 command/args,不是主线必装项;运行前先完成安装前审查。下面遵循官方示例使用未固定版本的包,正式长期使用应换成已审查的确切版本。

macOS / Linux

官方 stdio 示例

codex mcp add context7 -- npx -y @upstash/context7-mcp
Windows 原生终端

npx.cmd 通过 cmd 启动

codex mcp add context7 -- cmd.exe /d /c npx.cmd -y @upstash/context7-mcp
Windows TOML 替代写法

与上一命令对应,不额外改变审批

[mcp_servers.context7]
command = "cmd.exe"
args = ["/d", "/c", "npx.cmd", "-y", "@upstash/context7-mcp"]

若日志显示找不到 npx,先在相同用户环境查 Get-Command npx.cmd(macOS/Linux 用 command -v npx)。不要把 command 写成整段带空格的命令。GUI 与终端 PATH 不一致时,优先使用已核实的绝对可执行路径;路径含空格应保持一个参数,不自己拆成多个数组项。

按证据定位

是哪一段失败,就检查哪一段

list/get 查不到刚加的条目

原因
可能在不同用户、CODEX_HOME、Windows/WSL 或不同主机操作,也可能配置解析失败。
怎么改
核对启动 Codex 的实际环境和配置位置,先修复原始解析错误。不要重复在多个位置加同名定义。

CLI 定义正确,会话 /mcp 仍无工具

原因
会话未重新加载、项目不受信任、工具被筛选,或连接发现失败。
怎么改
重开该会话,检查可信项目和 enabled/enabled_tools 设置;保留 Server 状态中的原始错误,以区别加载与连接。

公开 Docs MCP 报 401 或出现登录网页

原因
主线不要求 API Key;错误可能来自错误 URL、代理或被替换的请求路径。
怎么改
先确认 URL、响应来源和网络。不要向未知登录页交出 OpenAI Key,也不要用 OAuth login 掩盖端点问题。

stdio 等待后超时,或启动即退出

原因
包下载慢、依赖不存在、命令路径错误与协议输出错误都会出现类似表象。
怎么改
先读退出码与 stderr,确定进程是否启动;只在确认是合理启动耗时后调整 startup_timeout_sec。增加超时不能修复无效命令。

工具调用成功但答案没有可用来源

原因
返回内容、查询范围或模型整理过程未满足任务。
怎么改
回读工具结果中的原始页面,再按同一问题复测。不要把 HTTP 200 或工具图标当作答案正确证据。
恢复与停用

本地删除、会话重载和提供方撤权分别处理

本例无 OAuth 授权,remove 后核对定义与新会话工具均不再出现即可。若手工放在项目配置中,删除对应表并检查用户层是否还存在同名条目;不要删除其他 Server。若可见定义变化与预期不符,先查配置层,不要整体恢复旧备份覆盖期间的新修改。

其他采用 OAuth 的 Server 可用 codex mcp logout 名称清除本地凭证,但这不等于提供方已经撤销授权或使所有访问令牌立即失效。完整撤权还应在提供方账户撤销应用访问,并按其令牌生命周期核对;本地命令不能替你证明服务端状态。

撤销本例

删除配置后重开会话核对

codex mcp remove openaiDeveloperDocs
codex mcp list

# 在重新打开的 Codex TUI 内输入:
/mcp
一手依据

资料与核对范围

资料核对日:2026-10-10。以下来源支持协议与配置说明;文中的命令、练习和预期结果不代表本站已在所有客户端和系统完成实测。