在 2025 年的开发者生态里,AI 辅助开发(AI Coding Assistant) 已经从“实验性功能”变成了主流工具链的一部分。
而在这些新兴生态中,OpenAI Codex CLIChrome DevTools MCP(Model Control Protocol) 的结合,正在悄然改变我们与 AI 协同编程的方式。

但一切看似未来感满满的工具,总有那么一刻——卡在 “MCP client failed to start: program not found” 这行错误上,让人瞬间回到现实。
今天,我们就来拆解这段让开发者头疼的信息,顺便把 Codex + DevTools 的完整调试体系摸个透。


一、场景回放:从 Codex CLI 启动说起

当你在命令行中运行:

codex

或指定 MCP client:

codex mcp list

屏幕上出现了熟悉的交互界面:

──────────────────────────────────────╮
│ >_ OpenAI Codex (v0.48.0-alpha.3)       │
│                                         │
│ model:     gpt-5   /model to change     │
│ directory: F:\codex-cli\finohopetex.com │
╰─────────────────────────────────────────╯

■ MCP client for `chrome-devtools` failed to start: program not found

没错,这个错误意味着 Codex CLI 尝试加载一个外部的 MCP(Model Control Protocol)客户端
但系统找不到它的可执行程序。


二、理解核心机制:MCP 客户端是什么?

MCP(Model Control Protocol) 是 Codex CLI 与外部“智能执行环境”(如 Chrome DevTools、VSCode、Docker、浏览器等)通信的协议层。

简而言之,它让 Codex 不只是一个“聊天助手”,而是一个能直接控制浏览器、执行脚本、调试前端页面的 AI Agent

在 Codex CLI 启动时,系统会尝试自动注册这些外部客户端:

MCP Client 作用说明
chrome-devtools 控制与调试 Chrome 浏览器(基于 DevTools Protocol)
vscode 与 VSCode 编辑器交互
shell 调用系统命令或运行脚本
docker 在容器环境中执行命令

而你的错误日志提示:

MCP client for chrome-devtools failed to start: program not found

说明 CLI 没有找到 Chrome DevTools 的对应入口程序。


三、问题根源:环境变量与执行路径

最常见的原因其实很简单:
Codex CLI 启动时未能正确定位 Chrome 的可执行路径

默认情况下,Codex MCP 使用 Puppeteer 启动 Chrome,需要设置:

PUPPETEER_EXECUTABLE_PATH="C:\Program Files\Google\Chrome\Application\chrome.exe"

你可以通过以下命令验证:

echo %PUPPETEER_EXECUTABLE_PATH%

如果为空,说明环境变量未生效。


四、解决方案:让 Chrome DevTools MCP 成功启动

✅ Step 1. 确认 Chrome 安装路径

在 Windows 上,默认路径是:

C:\Program Files\Google\Chrome\Application\chrome.exe

如路径不同,可手动设置:

setx PUPPETEER_EXECUTABLE_PATH "C:\Program Files\Google\Chrome\Application\chrome.exe"

小贴士:使用 setx 而不是 set,可以让环境变量永久生效。


✅ Step 2. 确保安装了 Chrome DevTools MCP 包

Codex 需要一个 npm 模块作为 DevTools 的桥梁:

npm install -g chrome-devtools-mcp

或者通过 npx 直接运行(推荐):

npx -y chrome-devtools-mcp@latest

安装后,你可以执行:

codex mcp list

如果一切正常,会看到类似输出:

chrome-devtools   enabled   connected

✅ Step 3. 启动并验证连接

在项目目录下执行:

codex --debug

你应该会看到:

[MCP] chrome-devtools connected
[Codex] Ready to receive commands...

此时,Codex CLI 就能调用 Chrome DevTools API,执行诸如:

codex run "打开控制台并检查 DOM 结构"

AI 将自动在浏览器中触发操作。


五、延伸阅读:Codex CLI 的“智能开发者模式”

实际上,Codex CLI + MCP 的组合就是一个多智能体(Multi-Agent)系统

  • Codex 本体(自然语言控制层)
  • MCP 客户端(执行器)
  • DevTools / Shell / VSCode 等(实际操作层)

这让你能够实现如下高级操作:

  • 自动抓取网页 DOM 并生成爬虫脚本;
  • 分析网页性能瓶颈;
  • 自动执行调试指令并生成报告;
  • 模拟开发者的点击、输入和交互操作。

换句话说,这不仅是一个 CLI,而是一种人机共编的新范式


💡 常见问题解答(FAQ)

Q1:Codex CLI 提示 “Unsupported Auth” 是什么原因?
A:部分 MCP 客户端(如 Chrome DevTools)不支持 CLI 授权方式,只需忽略或在 .codex/config 中关闭 Auth 校验。


Q2:我能在 macOS 或 Linux 下使用同样的方法吗?
A:完全可以。只需修改 Chrome 路径。例如:

export PUPPETEER_EXECUTABLE_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

Q3:Codex CLI 无法识别 MCP 包怎么办?
A:请确保 chrome-devtools-mcp 安装在全局(-g),或者你在 CLI 启动目录中能访问对应可执行文件。


最终解决方案:

在 Windows 11 上

.codex/config.toml通过更新和添加以下内容env和参数来配置 Chrome 安装位置并增加启动超时startup_timeout_ms:

[mcp_servers.chrome-devtools]
command = "cmd"
args = [
    "/c",
    "npx",
    "-y",
    "chrome-devtools-mcp@latest",
]
env = { SystemRoot="C:\\Windows", PROGRAMFILES="C:\\Program Files" }
startup_timeout_ms = 20_000

🧭 结语:AI 驱动的开发调试新时代

从 Codex CLI 到 Chrome DevTools MCP,这一套工具链的本质,不只是“让 AI 写代码”,
而是让 AI 理解、执行、调试、优化整条开发流程。

这次“failed to start” 的错误,只是一次调试的必经之路。
当你亲手解决它,你已经离“AI 协同开发”的理想状态又近了一步。

未来的开发者,不是写代码的人,而是能与 AI 一起写代码的人。