Skip to main content
Glama
linsipeng

agent-browser-mcp

by linsipeng

Hermes Chrome Bridge

让 Hermes 像 Codex Desktop 一样,安静地控制你正在使用的真实 Chrome:

  • 沿用现有 Chrome 登录态、Cookies 和标签页

  • 不抢鼠标、不抢键盘、不把窗口切到前台

  • 不依赖每次都要确认的 DevTools autoConnect 调试弹窗

  • 每个活跃 Hermes 任务使用不重复颜色的 Chrome 标签组

  • 后台桥接由 launchd 常驻,Hermes 重启后仍可继续使用

两个 Hermes 任务分别使用蓝色和红色 Chrome 标签组

本项目基于 MIT 许可的 agent-browser-mcp 扩展而来,增加了 Hermes 任务绑定、彩色标签组、常驻服务和可复用安装方案。

它解决什么问题

官方 Chrome DevTools 自动连接会显示“允许调试”确认,这是 Chrome 的安全边界, 并不适合无人值守任务。桌面鼠标自动化虽然不需要这个确认,却会抢占用户输入, 也难以并发。

Hermes Chrome Bridge 改用一次性人工安装的本地 Chrome 扩展作为信任边界。 扩展通过 loopback WebSocket/HTTP 桥与 MCP 服务通信,使用 Chrome API 和 CDP 在后台操作页面。Hermes 的当前 task_id 会在每次浏览器调用前自动绑定,因此 不同任务不会混用标签页,并会显示为不同颜色的标签组。

Related MCP server: Chrome DevTools MCP

效果

Hermes 任务 A ── 蓝色标签组 ── 后台操作真实 Chrome
Hermes 任务 B ── 粉色标签组 ── 后台操作真实 Chrome
你本人        ── 普通标签页 ── 鼠标键盘不受影响

同一个任务在不同 Chrome 窗口中会创建同名、同色的标签组。新标签默认在后台 打开;接管已有标签时会将其归入当前任务组。

系统要求

  • macOS

  • Google Chrome

  • Python 3.10+

  • 本地源码安装的 Hermes Agent

  • Hermes Python 环境通常位于 ~/.hermes/hermes-agent/venv

核心 MCP 服务也可用于 Claude Desktop、Cursor 等客户端;自动 task_id 绑定和 launchd 安装脚本目前针对 Hermes/macOS。

快速安装

git clone https://github.com/linsipeng/hermes-chrome-bridge.git
cd hermes-chrome-bridge
bash scripts/install-hermes-macos.sh

安装器会:

  1. 把当前仓库以 editable 模式装入 Hermes Python 环境;

  2. 尝试给 Hermes MCP 调度器应用任务绑定补丁;

  3. 安装并启动 com.hermes.chrome-bridge LaunchAgent。

如果 Hermes 不在默认目录:

HERMES_SOURCE=/path/to/hermes-agent \
PYTHON=/path/to/hermes/venv/bin/python \
bash scripts/install-hermes-macos.sh

一次性加载 Chrome 扩展

执行:

~/.hermes/hermes-agent/venv/bin/agent-browser-mcp extension-path

然后:

  1. 打开 chrome://extensions

  2. 开启“开发者模式”

  3. 点击“加载已解压的扩展程序”

  4. 选择上面命令输出的目录

  5. 打开任意正常的 http://https:// 页面

这是一次性的显式授权。之后不需要每次点击“允许调试”。

Hermes 配置

examples/hermes-config.yaml 合并进 ~/.hermes/config.yaml

mcp_servers:
  agent_browser:
    command: /absolute/path/to/agent-browser-mcp
    session_binding_tool: bind_hermes_session
    timeout: 120
    connect_timeout: 60
    tools:
      exclude:
        - capture_desktop_screenshot
        - mouse_move
        - mouse_click
        - mouse_drag
        - type_text
        - hotkey
        - pointer_info

建议排除物理输入工具,让 Hermes 默认只使用后台 DOM/CDP/Chrome API 控制。

重启并验证:

hermes gateway restart
hermes mcp test agent_browser
agent-browser-mcp doctor

主要 MCP 工具

  • bind_hermes_session:绑定 Hermes 任务和标签组

  • list_tabs:查看真实标签页及任务归属

  • switch_tab:接管已有标签并加入当前任务组

  • open_new_tab:后台打开并自动分组

  • release_hermes_session:释放标签组,可选择关闭组内标签

  • scan_page:读取简化后的页面内容

  • execute_js:在真实页面执行 JavaScript

  • cdp_command / cdp_batch:调用 Chrome DevTools Protocol

  • get_cookies:读取当前真实 Chrome 会话 Cookies

  • capture_page_screenshot:后台页面截图

服务管理

launchctl print gui/$(id -u)/com.hermes.chrome-bridge
agent-browser-mcp doctor
hermes mcp test agent_browser

卸载常驻桥:

bash scripts/uninstall-hermes-macos.sh

卸载脚本不会自动撤销 Hermes 源码补丁,以免覆盖用户的其他本地修改。

架构与经验

安全说明

这个扩展能控制你的真实 Chrome,因此需要 cookiesdebuggertabs<all_urls> 等高权限。请只安装你审查过的源码,不要安装来源不明的二次打包版本。

桥接服务只监听 127.0.0.1:18765/18766。不要把这些端口转发到局域网或公网。 项目不会上传 Cookies;但任何能在本机调用该 MCP 的程序,都可能获得浏览器操作能力。

已知限制

  • chrome:// 等 Chrome 内部页面无法被普通扩展脚本控制。

  • Chrome 扩展仍需用户首次手动加载,这是有意保留的安全授权步骤。

  • Hermes 上游升级可能导致补丁上下文变化;安装器会停止并提示手动处理,不会强改。

  • Windows/Linux 可以运行 MCP 和扩展桥,但常驻服务安装脚本尚未提供。

致谢

底层 TMWebDriver、页面简化和扩展桥来自 335234131/agent-browser-mcp, 原项目使用 MIT License。本仓库保留相同许可证。

License

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/linsipeng/hermes-chrome-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server