浏览器控制协议服务

一个MCP服务器,允许Claude Code完全控制cmux的嵌入式浏览器,提供页面导航、元素交互、JavaScript执行等功能。

  • by jasonraz
  • JavaScript
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 jasonraz/cmux-browser-mcp

使用说明

cmux浏览器mcp

MCP(模型上下文协议)服务器,使Claude Code能够完全控制 cmux的嵌入式浏览器。

打开页面、点击按钮、填写表单、截图、运行JavaScript——全部 Claude Code,就在您的终端旁边。

先决条件

安装

git clone https://github.com/jasonraz/cmux-browser-mcp.git
cd cmux-browser-mcp
chmod +x install.sh
./install.sh

然后 重新启动克劳德代码.验证 /mcp --你应该看看 cmux-browser 上市的。

安装脚本将:

  1. 复制 server.mjs 和 package.json 到 ~/.claude/mcp-servers/cmux-browser/
  2. 跑 npm install 获取MCP SDK依赖关系
  3. 通过Claude Code注册服务器 claude mcp add

手动安装

如果你更喜欢自己做:

mkdir -p ~/.claude/mcp-servers/cmux-browser
cp package.json server.mjs ~/.claude/mcp-servers/cmux-browser/
cd ~/.claude/mcp-servers/cmux-browser && npm install
claude mcp add cmux-browser --scope user -- node ~/.claude/mcp-servers/cmux-browser/server.mjs

工具(43)

类别 工具
导航 browser_open, browser_open_split, browser_navigate, browser_back, browser_forward, browser_reload
检查 browser_snapshot, browser_screenshot, browser_get_url, browser_get
交互 browser_click, browser_fill, browser_type, browser_press, browser_hover, browser_select, browser_scroll, browser_check, browser_uncheck
等待 browser_wait
JavaScript browser_eval
搜索 browser_find, browser_is
调试 browser_console, browser_errors, browser_highlight
标签页 browser_tab
对话 browser_dialog
状态 browser_cookies, browser_storage, browser_state
下载 browser_download
注入 browser_add_script, browser_add_init_script, browser_add_style
框架 browser_frame
网络 browser_network, browser_offline
设备 browser_viewport, browser_geolocation
录制 browser_screencast, browser_trace
识别 browser_identify

工具说明

  • browser_click --支持 action: click (默认), dblclick, focus, scroll-into-view
  • browser_press --支持 action: press (默认), keydown, keyup
  • browser_screenshot --接受可选 --json 标志通过 json: true
  • browser_tab — action 接受 new, list, switch, close,或数字选项卡索引

运作原理

服务器封装cmux browser CLI子命令作为MCP工具,具有适当的 模式。Claude Code在启动时发现了这些工具,并可以直接调用它们。

核心工作流程是 快照→ ref → act:

  1. 打开 一个页面 browser_open
  2. 快照 可访问性树 browser_snapshot --返回元素 refs喜欢 [ref=e1], [ref=e2]
  3. 法案 关于元素: browser_click 参考 e1, browser_fill 参考 e3 带文本
  4. 验证 使用另一个快照或 browser_screenshot

截图

browser_screenshot 用途 cmux browser screenshot --out <path> 捕捉a PNG直接到磁盘并返回文件路径。克劳德代码可以 Read 这 PNG可以直观地查看它。

配置

环境变量 默认值 描述
CMUX_CLI_PATH /Applications/cmux.app/Contents/Resources/bin/cmux cmux CLI二进制文件的路径

版本兼容性

工具检查cmux capabilities 运行时的端点。如果您调用一个需要比您安装的cmux版本更新的工具,您将收到一条明确的错误消息,告诉您缺少哪些功能,而不是一个神秘的故障。

v1.1.x中存在的所有工具都可以继续工作,不会发生任何变化。

陷阱

  • CMUX_SURFACE_ID env 是:在cmux终端窗格中自动设置。MCP服务器 将其从子进程中删除,以便浏览器命令指向正确的曲面 而不是呼叫者的终端。这是自动处理的。

  • maxBuffer:服务器设置 maxBuffer 至50 MB execFile 呼吁 适应大的命令输出。

更新

git pull
./install.sh

然后重新启动Claude Code。

卸载

claude mcp remove cmux-browser --scope user
rm -rf ~/.claude/mcp-servers/cmux-browser

许可证

麻省理工学院