Chrome DevTools MCP 桥接工具

一个轻量级桥接工具,使沙箱中的MCP客户端能够与外部运行的chrome-devtools-mcp通信,并自动启动无头Chrome。适用于解决沙箱环境中的MCP客户端无法启动Chrome的问题。

  • by JMY1993
  • JavaScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 JMY1993/chrome-devtools-mcp-bridge

使用说明

[中文] | 简体中文 | 日语 | 韩语 | 法语 | 阿拉伯语 | 俄语 | 西班牙语

Chrome开发者工具MCP桥接器

一个微型桥梁,使得沙盒中的MCP客户端能够与外部运行的chrome-devtools-mcp进行通信,同时Chrome以无头模式自动启动。该软件包仅包含一个主程序,但带有两个子命令:

  • `chrome-devtools-mcp-bridge` 主机 — 运行一个 TCP 服务;对于每个连接,它会启动一个 `chrome-devtools-mcp` 实例和一个无头模式的 Chrome,然后通过管道将 TCP 与 MCP 标准输入输出(stdio)连接起来。
  • chrome-devtools-mcp-bridge 连接 — 将标准输入/输出(stdin/stdout)连接到 TCP 服务;非常适合期望使用标准输入输出的 MCP 客户端(例如,Codex CLI)。

为什么

  • 修复沙箱化MCP客户端(例如,在Ubuntu/容器中的Codex)中的问题,其中 chrome-devtools-mcp 由于操作系统沙盒限制,无法启动 Chrome。人们通常搜索的错误信息包括:
    • “一些MCP客户端允许对MCP服务器进行沙箱化处理……作为临时解决方案,可以禁用沙箱化……或者使用--connect-url参数。”
    • “无法从 http://localhost:9222/json/version 获取浏览器的 WebSocket URL:获取失败”
    • “浏览器已经在运行,路径为 /home/me/.cache/chrome-devtools-mcp/chrome-profile。如需运行多个浏览器实例,请使用 --isolated 参数。”
  • 在WSL Linux和Windows主机之间建立桥梁:运行 host 在Windows上, connect 从WSL(Windows Subsystem for Linux)驱动Windows Chrome DevTools。

默认值

  • 主机:127.0.0.1
  • 端口:8211
  • MCP 命令:npx -y -p chrome-devtools-mcp@latest chrome-devtools-mcp
  • Chrome:自动检测到(google-chrome/chromium…);无头模式=新;临时配置文件。

快速入门(使用 npx,无需安装)

  1. 启动桥(在沙箱外部): npx -y chrome-devtools-mcp-bridge@latest host

  2. 连接您的MCP客户端(在沙盒/容器内): codex mcp add chrome-devtools -- npx -y chrome-devtools-mcp-bridge@latest connect

提示:在受限环境中将 npx 缓存保留在本地 XDG_CACHE_HOME=$PWD/.cache NPM_CONFIG_CACHE=$PWD/.npm-cache npx -y chrome-devtools-mcp-bridge@latest host

不使用别名——保持简单:仅使用“host”和“connect”。

守护进程与nohup

  • 建议使用 --daemon(写入 PID,支持 --log-file)。
  • 或者,如果你必须使用的话,可以使用 nohup/setsid:
    • nohup npx -y chrome-devtools-mcp-bridge@latest host > mcp-bridge.log 2>&1 & echo $! > mcp-bridge.pid
    • setsid npx -y chrome-devtools-mcp-bridge@latest host >/dev/null 2>&1 < /dev/null &

Env/标志

  • --host / --port:覆盖默认值
  • --no-sandbox:以 --no-sandbox 模式启动 Chrome(仅限开发使用)
  • --chrome-bin(可翻译为:“--Chrome二进制文件”或保持原样,因为“bin”在计算机术语中常指“二进制文件”,但在此上下文中,若“chrome-bin”是特定软件或命令的一部分,可能直接保留原样以避免歧义) 明确的Chrome可执行文件
  • --mcp-cmd(注:这个短语本身在中文中没有直接对应的翻译,它可能是一个特定命令或参数的标识,根据上下文,可以理解为“--mcp 命令”或“--mcp 指令”,具体含义需结合使用场景来确定。) 覆盖 MCP 启动器(默认:npx)
  • --mcp-args "...": 额外参数(默认通过 npx 拉取 chrome-devtools-mcp)。原生 类似 chrome-devtools-mcp 的标志 --isolated / --connect-url=... 穿过;经过 保持不变,因此您可以在需要时选择退出自动启动的Chrome。您可以 在桥接选项之后,也可以添加任何额外的 chrome-devtools-mcp 标志 (例如。, chrome-devtools-mcp-bridge host -- --isolated --foo=bar) 并且他们会 请原样转发。

WSL ↔ Windows(可翻译为“Windows 10/11的WSL ↔ Windows”以更具体说明,但根据语境,简化为“WSL ↔ Windows”也可接受) 如果在WSL(Windows Subsystem for Linux)和Windows之间正确设置了主机/端口路由,这可以将WSL的MCP(可能是指某种服务或应用)桥接到Windows的Chrome浏览器。在现代的WSL2环境中,Windows的回环接口会被镜像,因此localhost通常可以正常工作;否则,请使用Windows主机的IP地址(通过ipconfig.exe获取),并在Windows防火墙中允许该端口。