浏览器自动化工具

通过Chrome扩展和Go二进制文件实现的浏览器自动化工具,支持MCP协议和HTTP API,适用于网页操作和脚本执行。

  • by Dragac7
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 Dragac7/browser-mcp-extension

使用说明

浏览器mcp扩展

通过MCP(模型上下文协议)和HTTP API实现浏览器自动化,由Chrome扩展+Go二进制提供支持。

该系统有三个组成部分:

  • Chrome扩展程序(MV3): 将脚本注入网页,并通过WebSocket与Go二进制文件通信。
  • 转到二进制: 公开用于AI代理的MCP服务器(stdio)和用于curl/脚本的HTTP API。
  • JS脚本: 页面级自动化脚本(单击、键入、导航、观察等)。

先决条件

  • 转到1.24+
  • 铬或铬

快速开始

# Build the binary
make build

# Wrap JS scripts into the extension (required before first run)
make sync-scripts

加载Chrome扩展程序

  1. 打开 chrome://extensions/ 在Chrome浏览器中
  2. 启用“开发人员模式”
  3. 点击“加载解包”并选择 extension/ 目录

扩展通过配置端口上的WebSocket连接到Go二进制文件。 在任何MCP工具或HTTP端点工作之前,必须加载并连接扩展。

运行模式

# MCP server on stdio (for AI agents)
make mcp

# HTTP API + WebSocket server (for curl/scripting)
make serve

使用Claude代码进行设置

创建一个 .mcp.json 要使用浏览器自动化的项目中的文件:

{
  "mcpServers": {
    "browser-automation": {
      "command": "/absolute/path/to/browser-mcp-extension/browser-cmd",
      "args": ["--mcp"]
    }
  }
}

替换 /absolute/path/to/browser-mcp-extension/browser-cmd 以及构建二进制文件的实际路径。然后重新启动Claude Code以启动MCP服务器。

配置

所有配置都是通过环境变量进行的。看 env.example 对于违约。

变量 默认值 描述
WS_PORT 9001 Chrome扩展程序连接到的WebSocket端口
WS_TOKEN (空) WebSocket身份验证的可选承载令牌
HTTP_PORT 9082 HTTP API服务器端口
JS_SCRIPTS_PATH ./resources/js_scripts JS脚本目录路径
OBSERVATIONS_DIR (空) 页面快照目录。空=仅在内存中

MCP工具

在MCP模式下运行时可用的工具(./browser-cmd --mcp):

工具 说明
browser_navigate 导航到URL
browser_navigate_back 返回浏览器历史记录
browser_snapshot 捕获页面状态(交互元素、可见文本)
browser_get_state 获取当前页面的URL和标题
browser_click 按索引单击元素
browser_type 在元素中键入文本
browser_hover 将鼠标悬停在元素上
browser_press_key 按键盘键
browser_select_option 在下拉列表中选择一个选项
browser_scroll 滚动页面
browser_drag 在元素之间拖放
browser_fill_form 一次填写多个表单字段
browser_wait_for 等待文本出现在页面上
browser_evaluate 执行任意JavaScript
browser_take_screenshot 截图
browser_tabs 列出、创建、选择或关闭选项卡
browser_execute_script 执行一个命名的JS脚本
browser_list_scripts 列出可用的JS脚本

HTTP API

HTTP API绑定到 127.0.0.1 只有。终点:

方法 路径 描述
得到 /api/state 当前页面状态
职位 /api/observe 运行观察脚本并返回快照
职位 /api/execute 执行命名脚本
职位 /api/execute-raw 执行原始JavaScript
得到 /api/scripts 列出可用脚本
得到 /api/screenshot 截图
得到 /api/tabs 列出浏览器选项卡

发展

make test    # Unit tests
make vet     # Go vet
make e2e     # E2E tests (runs headful Chromium via playwright-go)
make clean   # Remove binary, observations, wrapped scripts
make help    # Show all available commands