MCP Browser

MCP Browser

NeoForge 浏览器 MCP 服务器 - 用于测试前端

neoforge-dev

浏览器自动化
访问服务器

README

MCP 浏览器

用于模型控制协议 (MCP) 的无头浏览器接口。

特性

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

前提条件

  • Python 3.13+
  • 用于依赖管理的 uv
  • 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 设置

# 克隆存储库
git clone https://github.com/yourusername/mcp-browser.git
cd mcp-browser

# 安装依赖
uv venv .venv
source .venv/bin/activate
uv pip install -e .

# 安装 Playwright 浏览器
python -m playwright install

本地运行

对于没有 Xvfb 的简单测试:

./simple_test.sh

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

./test_local.sh

Docker 部署

使用 Docker Compose 构建和运行:

# 设置您的 MCP 密钥
export MCP_SECRET=your_secret_key

# 构建并运行
docker-compose up --build

或者使用提供的脚本:

./run.sh

配置

可以设置以下环境变量:

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

API 端点

  • GET /: Web UI
  • 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 事件(突变、更改)
  • 控制台事件(日志、警告、错误)
  • 网络事件(请求、响应、错误)

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

许可证

MIT

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
@kazuph/mcp-fetch

@kazuph/mcp-fetch

用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。

精选
本地
JavaScript
DuckDuckGo MCP Server

DuckDuckGo MCP Server

一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。

精选
Python
YouTube Transcript MCP Server

YouTube Transcript MCP Server

这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。

精选
Python
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
Tavily MCP Server

Tavily MCP Server

使用 Tavily 的搜索 API 提供 AI 驱动的网络搜索功能,使 LLM 能够执行复杂的网络搜索、获得问题的直接答案以及搜索最近的新闻文章。

精选
Python
mcp-pinterest

mcp-pinterest

用于图像搜索和信息检索的 Pinterest 模型上下文协议 (MCP) 服务器

精选
TypeScript
Crawlab MCP Server

Crawlab MCP Server

官方
Python