Token导航 LogoToken导航TokenDH.com
Chrome Devtool MCP Bridge logo
运维云端未说明官方级别未说明来源级核验

Chrome Devtool MCP Bridge

MCP Server

一款高性能的Rust桥接器,通过网络使用HTTP+SSE暴露基于stdio的模型上下文协议(MCP)服务器,专为远程AI代理和IDE访问Chrome DevTools MCP服务器设计。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
远程访问Rust云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

csplus3013

提供方

csplus3013

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🌉 MCP服务器网桥(V16)

高性能 铁锈桥 这暴露了基于stdio的 模型上下文协议(MCP) 网络上的服务器使用 HTTP+SSE (服务器发送的事件)。

专为制造 Chrome DevTools MCP服务器 远程AI代理和IDE可以访问,绕过客户端的本地Docker要求。

______________________________________________________________________

🚀 版本16核心功能

  • 保证孤儿清理:在会议上拆除桥梁执行 docker exec pkill -f chrome-devtools-mcp 以确保终止任何分离的节点MCP进程。
  • 不再有“节点军”:防止怠速累积 chrome-devtools-mcp 即使客户端在工具执行过程中崩溃,也会进行处理。
  • 快速恢复:清理是轻量级的(无需重新启动容器),因此重新连接是即时的,容器内存是稳定的。

以前推出(V11)

  • 确定性会话清理:修复了SSE生命周期边缘情况,即客户端断开连接可能导致孤立 chrome-devtools-mcp 节点进程正在运行。会话现在保证在SSE流结束时丢弃,从而确保子进程被终止。
  • 不再有“节点军”:防止客户端重复重新连接时累积空闲的MCP进程。

以前推出(V10)

  • SSE多路复用:产卵独特、孤立 docker exec 每个客户端的会话数。
  • 自动清理:当会话结束时,桥接部队会清除任何孤儿 chrome-devtools-mcp 容器内的流程使用 docker exec pkill -f chrome-devtools-mcp,防止了经典的“节点军”问题。
  • 超稳健的会话处理:通过以下方式支持会话ID X-Session-ID 标题、查询参数(?session_id=...),或标准MCP endpoint 活动。
  • 跨平台就绪:完全支持Windows(主机)到Docker(Linux)的通信。
  • 许可CORS:允许所有的起源、方法和标头--从 localhost、LAN IP和没有CORS飞行前故障的远程机器。
  • Chrome主机头修复:自动解析 host.docker.internal (以及任何主机名)在启动时连接到其IP。Chrome的DevTools协议HTTP服务器拒绝非IP Host HTTP 500的头文件——此修复程序可确保工具执行始终正常。
  • Smart 410消失了:过期会话POST返回 410 Gone + X-MCP-Reconnect: true 而不是令人困惑 404,因此客户知道要重新建立SSE流。

______________________________________________________________________

🛠 先决条件

1.配置Chrome浏览器(在Windows/主机上)

Chrome的远程调试器非常严格。你 必须 使用以下标志启动它,以便Docker能够访问它:

start chrome.exe --remote-debugging-port=9322 --remote-allow-origins=* --remote-debugging-address=0.0.0.0
\[!重要\] 在运行此命令之前,请关闭所有现有的Chrome窗口,否则新的标志将被忽略。

2.网络

  • Docker到主机:大桥使用 host.docker.internal,在启动时自动解析为IP。
  • 客户到桥:两者都有 localhost:3000 (本地机器)和 :3000 (远程机器)工作。

______________________________________________________________________

📦 部署

通过Docker Compose(推荐)

docker compose down
docker image rm mcp-server-bridge  # Clear cache
docker compose up -d --build mcp-bridge

⚠️ 重要提示:内存限制

由于底层内存随着时间的推移而积累 chrome-devtools-mcp 节点进程,强烈建议在您的 docker-compose.yml.

示例片段:

  mcp-server:
    image: chrome-devtools-mcp
    deploy:
      resources:
        limits:
          memory: 2048M  # Caps memory to 2GB to prevent background Node leak from crashing host

Rust桥本身非常轻便,可以安全地加盖 256M.

环境变量

变量默认值用途
MCP_ARGS""争论传递到内部进程。例子: --browser-url=http://host.docker.internal:9322
MCP_CONTAINERchrome-mcp-server目标容器 docker exec.
PORT3000桥接监听端口

______________________________________________________________________

🤖 客户端配置

根据您的客户端应用程序,在您的应用程序中使用以下JSON块之一 mcp_config.json:

本地(与网桥相同的机器)

{
  "mcpServers": {
    "chrome-devtools": {
      "type": "sse",
      "url": "http://localhost:3000/mcp"
    }
  }
}

远程(局域网上的不同机器)

{
  "mcpServers": {
    "chrome-devtools": {
      "type": "sse",
      "url": "http://:3000/mcp"
    }
  }
}

严格客户端(例如游标/反重力IDE)

如果你得到一个 "serverURL missing" 错误,使用 serverURL 按键:

{
  "mcpServers": {
    "chrome-devtools": {
      "type": "sse",
      "serverURL": "http://:3000/mcp"
    }
  }
}

______________________________________________________________________

🔍 验证与调试

第一步:健康检查

curl http://localhost:3000/health
# Response: {"status":"ok"}

步骤2:流测试

curl -v -N -H "Accept: text/event-stream" http://localhost:3000/mcp

成功: 你应该看看 event: endpoint 绝对URL包含 session_id.

步骤3:检查启动日志

docker compose logs -f mcp-bridge

步骤3.5:检查Chrome是否直接运行devtool容器

docker exec chrome-mcp-server node -e "const dns=require('dns');dns.lookup('host.docker.internal',(_,ip)=>{require('http').get('http://'+ip+':9322/json/version',r=>{let d='';r.on('data',c=>d+=c);r.on('end',()=>console.log(d))}).on('error',e=>console.log('ERROR:',e.message))})"
docker compose logs -f chrome-mcp-server

确认V11正在运行:

@@@ MCP BRIDGE VERSION 11 - SESSION CLEANUP FIX @@@
Resolved hostname to IP  original=http://host.docker.internal:9322  resolved=http://192.168.65.254:9322
mcp-server-bridge listening  addr=0.0.0.0:3000  mcp_args=["--browser-url=http://192.168.65.254:9322"]
\[!注意\] 你总会看到一个 POST rejected: missing session_id 警告每个客户端连接。这是 正常 --它是客户端在打开SSE之前探测现有会话。这不是一个错误。

步骤4:工具执行失败?

如果发现工具但调用失败:

  • 验证Chrome是否正在运行 --remote-debugging-port=9322 --remote-debugging-address=0.0.0.0
  • 检查一下 mcp_args 在启动日志中显示已解析的IP,而不是主机名
  • 在MCP容器内运行调试DNS测试:
  docker exec chrome-mcp-server node -e "require('http').get('http://:9322/json/version', r => { let d=''; r.on('data', c=>d+=c); r.on('end', ()=>console.log(d)) })"

______________________________________________________________________

🏗 从源代码构建

# Inside mcp-server-bridge directory
cargo build --release
tar -cvzf target/release/mcp-server-bridge_bin_v10.tar -C target/release mcp-server-bridge

目录标签

目录标签

远程访问Rust云端部署Rust桥接器本地部署HTTP+SSEChromeDevToolsDocker优化

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP