浏览器自动化工具

MCP Browser 是一个基于 Model Control Protocol (MCP) 的无头浏览器接口,提供浏览器自动化、实时事件订阅和 WebSocket 通信功能,适用于 AI 代理集成和实时浏览器交互。

  • by neoforge-dev
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 neoforge-dev/mcp-browser

使用说明

MCP浏览器

模型控制协议(MCP)的无头浏览器界面。

特性

  • 使用Playwright实现无头浏览器自动化
  • 用于浏览器交互的Web UI
  • WebSocket通信用于实时更新
  • 实时浏览器事件订阅系统
  • 与人工智能代理的MCP集成

先决条件

  • Python 3.13+
  • 紫外线 用于依赖关系管理
  • Docker(用于容器化使用)

安装

单线安装

只需一个命令即可在Mac上安装MCP浏览器:

curl -sSL https://raw.githubusercontent.com/neoforge-dev/mcp-browser/main/install_one_line.sh | bash

此命令将下载并运行具有适当行尾处理的安装程序,以避免常见问题。

手动安装

对于手动安装:

  1. 克隆此存储库
  2. 运行安装程序脚本:
git clone https://github.com/neoforge-dev/mcp-browser.git
cd mcp-browser
./install.sh

XQuartz要求

MCP浏览器需要XQuartz(X11)才能进行正确的可视化。安装程序将:

  1. 检查XQuartz是否已安装,必要时进行安装
  2. 尝试以各种方式启动X11服务器
  3. 如果自动方法失败,提示您手动启动它

如果您遇到问题,请参阅 XQuartz问题的故障排除 部分。

地方发展

使用uv进行设置

# Clone the repository
git clone https://github.com/yourusername/mcp-browser.git
cd mcp-browser

# Install dependencies
uv venv .venv
source .venv/bin/activate
uv pip install -e .

# Install Playwright browsers
python -m playwright install

本地运行

对于没有Xvfb的简单测试:

./simple_test.sh

对于使用Xvfb的完整测试(需要X11):

./test_local.sh

Docker部署

使用Docker Compose构建和运行:

# Set your MCP secret
export MCP_SECRET=your_secret_key

# Build and run
docker-compose up --build

或者使用提供的脚本:

./run.sh

配置

可以设置以下环境变量:

  • MCP_SECRET:MCP身份验证的密钥
  • SERVER_PORT:运行服务器的端口(默认值:7665)
  • PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD:设置为1可跳过浏览器下载并在无头模式下运行

API终点

  • GET /:Web用户界面
  • GET /api/status:获取浏览器和MCP客户端状态
  • WebSocket /ws:用于实时通信的WebSocket端点
  • WebSocket /ws/browser/events:浏览器事件订阅的WebSocket端点
  • GET /api/browser/subscribe:订阅浏览器事件
  • GET /api/browser/unsubscribe:取消订阅浏览器事件
  • GET /api/browser/subscriptions:列出活动事件订阅

事件订阅

MCP浏览器支持通过WebSockets进行实时事件订阅。这允许客户端在浏览器事件发生时接收它们,包括:

  • 页面事件(导航、加载、错误)
  • DOM事件(突变、更改)
  • 控制台事件(日志、警告、错误)
  • 网络事件(请求、响应、错误)

有关事件订阅系统的详细文档和示例,请参阅:

许可证

麻省理工学院