mcp-chrome-bridge 完整安装指南:3 条命令装好 Native Messaging 主机,扩展即连本地服务
【免费下载链接】mcp-chromeChrome MCP Server is a Chrome extension-based Model Context Protocol (MCP) server that exposes your Chrome browser functionality to AI assistants like Claude, enabling complex browser automation, content analysis, and semantic search.项目地址: https://gitcode.com/gh_mirrors/mc/mcp-chrome
装好 mcp-chrome-bridge 之后,你的 Chrome 扩展立刻能通过 Native Messaging 主机和本机 Node 服务双向通信:在扩展里点一下 Connect,浏览器就自动拉起一个本地进程,替你处理 MCP 请求、读写本地 SQLite、驱动浏览器自动化。它就是浏览器扩展本地通信的桥,这篇文章带你从零把这座桥架起来。
⚡ 快速上手:3 条命令装好并注册
前提只有一个:Node.js 20 或以上(node -v确认主版本 ≥ 20)。然后打开终端,按顺序敲:
npm install -g mcp-chrome-bridge mcp-chrome-bridge register mcp-chrome-bridge doctor第 1 条装包。postinstall 钩子会先给 run_host 脚本、index.js、cli.js 三个文件补 755 执行权限,再自动尝试用户级注册——大多数机器到这一步就已注册成功,所以注册不需要管理员权限。
第 2 条手动补注册。它做两件事:把当前 Node 可执行文件的绝对路径写进 node_path.txt,再把 manifest 清单文件写进系统对应目录。为什么锁定 Node 路径?因为主机依赖 better-sqlite3 这类原生模块,对 Node ABI 版本敏感,后面机制一节会展开。
第 3 条体检。doctor 逐项检查清单文件、执行权限、Node 版本、端口 12306 的连通性,每项给出 OK / WARN / ERROR;看到 ERROR 就直接加--fix重跑,它会自动修权限、重建日志目录并重新注册。
注册前它会先探测你装了哪些浏览器(Windows 查注册表,macOS 看 /Applications/,Linux 用 which),探测不到时默认 Chrome 和 Chromium 各注册一份,逻辑见 浏览器探测配置。
✅ 一分钟验证:确认扩展和主机已连通
3 步确认扩展连接本地服务真的通了。
看清单文件。用户级清单在这几个目录:
- Linux:
~/.config/google-chrome/NativeMessagingHosts/com.chromemcp.nativehost.json - macOS:
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/ - Windows:
%APPDATA%\Google\Chrome\NativeMessagingHosts\
打开它,确认 4 个字段齐全:name 是
com.chromemcp.nativehost,type 是stdio,path 指向 run_host 脚本,allowed_origins 里只有扩展 IDhbdgbgagpkpjffpklnamcljpakneikee。- Linux:
看扩展权限。在 chrome://extensions 确认扩展已启用,权限列表里包含
nativeMessaging——没有这个权限,chrome.runtime.connectNative会直接报权限错误,后面的流程根本走不到。点 Connect。扩展发起 connectNative 调用,Chrome 按清单拉起 run_host 脚本,本机服务随后监听 127.0.0.1:12306。连接成功,安装即完成。
🩹 看到报错怎么办:按错误信息对号入座
先别慌,chrome native messaging host 安装出的故障基本都能对号入座:
| 报错现象 | 处理动作 |
|---|---|
Permission denied或Native host has exited(macOS/Linux) | 启动脚本丢了执行位,pnpm 全局安装尤其常见。跑mcp-chrome-bridge fix-permissions给 3 个关键文件补 755 权限,或直接mcp-chrome-bridge doctor --fix自动修 |
Windows 报Access denied,注册表 NativeMessagingHosts 读写失败 | 系统策略限制了注册表访问。以管理员身份重开终端再执行 register;也可用reg query "HKCU\Software\Google\Chrome\NativeMessagingHosts\com.chromemcp.nativehost" /ve回读当前值确认指向 |
| doctor 报 Node 版本 ERROR(主版本 < 20) | 换 Node 20+ 后重跑mcp-chrome-bridge register,它会把新 Node 路径写进 node_path.txt,主机下次启动就换上新版本 |
| 连接无反应、扩展日志一片空白 | 去看包装脚本日志(见文末速查表),Chrome 每次拉起主机都会生成一份;拿不准就mcp-chrome-bridge report导出脱敏报告再排查 |
native host 权限修复的完整手动步骤见 安装手册,各命令参数的定义见 CLI 源码。
幕后机制:Chrome 如何找到并拉起你的主机
把 manifest.json 理解成主机的门牌。Chrome 不会满硬盘找你,它只按固定目录翻门牌,门牌上写清三件事:
- name:门牌号
com.chromemcp.nativehost,Chrome 靠它在 NativeMessagingHosts 目录里定位清单 - path:门铃的位置,指向 run_host.sh(Windows 是 run_host.bat)而不是 index.js 本体
- allowed_origins:门禁白名单,只有
hbdgbgagpkpjffpklnamcljpakneikee这一个扩展 ID 能按门铃,其他扩展一律被拒之门外
为什么 path 要指向包装脚本?因为 Chrome 拉起进程时的 PATH 环境很不可靠,run_host 包装脚本 内置了一套按优先级找 Node 的算法:先看 CHROME_MCP_NODE_PATH 环境变量,再读注册时写下的 node_path.txt,然后依次试 Volta、asdf、fnm、nvm、常见安装目录,最后才退回 PATH。找到后 exec 真正的 index.js,并把整个选型过程记进包装日志。
doctor 命令用的是同一套查找顺序,所以mcp-chrome-bridge doctor的输出就是 Chrome 实际行为的预演——这正是它能提前揪出"注册成功但 Chrome 拉不起来"这类隐蔽问题的原因,实现见 诊断脚本。
进阶选项:系统级注册与多浏览器
用户级注册只对当前系统用户生效。想让整机所有账户都能用,加--system走系统级:macOS/Linux 前缀 sudo,Windows 直接以管理员身份打开终端再敲命令(CLI 会自动检测提权,已提权时不带参数也会走系统级分支)。系统级清单落在 /Library/Google/Chrome/NativeMessagingHosts/、/etc/opt/chrome/native-messaging-hosts/ 或 Program Files 下的对应目录,Windows 还会写 HKLM 注册表。
sudo mcp-chrome-bridge register --system多浏览器场景不用重装:register -b chromium只注册 Chromium,-b all两个都注册,--detect只注册探测到的浏览器;doctor 和 report 同样支持-b指定目标。
速查表:常用命令与日志位置
| 命令 | 用途 |
|---|---|
mcp-chrome-bridge register | 用户级注册,自动探测已装浏览器 |
mcp-chrome-bridge register --system | 系统级注册(需管理员/sudo) |
mcp-chrome-bridge register -b <chrome|chromium|all> | 指定目标浏览器 |
mcp-chrome-bridge doctor | 诊断清单、权限、Node、端口;加--fix自动修复 |
mcp-chrome-bridge fix-permissions | 修复 3 个关键文件的执行权限 |
mcp-chrome-bridge update-port <port> | 修改本地服务端口(默认 12306) |
mcp-chrome-bridge report | 导出脱敏诊断报告,--include-logs tail附带日志 |
| 平台 | 包装脚本日志目录 |
|---|---|
| macOS | ~/Library/Logs/mcp-chrome-bridge/ |
| Linux | ${XDG_STATE_HOME:-~/.local/state}/mcp-chrome-bridge/logs/ |
| Windows | %LOCALAPPDATA%\mcp-chrome-bridge\logs\ |
日志文件名带时间戳(如native_host_wrapper_unix_20261103_140000.log),脚本内置轮转,每类最多保留 5 份。排查时优先看最新的 stderr 日志,Node 崩溃的堆栈都在里面。
【免费下载链接】mcp-chromeChrome MCP Server is a Chrome extension-based Model Context Protocol (MCP) server that exposes your Chrome browser functionality to AI assistants like Claude, enabling complex browser automation, content analysis, and semantic search.项目地址: https://gitcode.com/gh_mirrors/mc/mcp-chrome
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考