mcpField
A
A simple MCP Server for controlling Chrome via Puppeteer

A simple MCP Server for controlling Chrome via Puppeteer

远程服务
github.com/ratiofu浏览器自动化361 周前更新
代码仓库

关于 A simple MCP Server for controlling Chrome via Puppeteer

Puppeteer MCP Server 通过 Puppeteer 控制已启用远程调试的 Chromium,供 AI 助手执行浏览器自动化。它还可读取页面原始 DOM 和控制台输出。

主要功能

  1. 01导航到指定网址
  2. 02列出已打开标签页网址
  3. 03使用 CSS 选择器点击元素
  4. 04截取页面截图
  5. 05提取 HTML 和控制台输出

适用场景

  1. 01自动浏览网页并点击控件
  2. 02检查页面 HTML 内容
  3. 03排查浏览器控制台错误

MCP 相关

该服务通过 MCP 向客户端提供浏览器自动化工具,并使用 stdin/stdout 管道通信;它通过 Chromium 的远程调试协议连接浏览器。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址http://localhost:7742/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Puppeteer MCP Server

一个通过 Puppeteer 提供浏览器自动化功能并具备智能浏览器管理能力的模型上下文协议(MCP)服务。此服务支持 AI 助手控制 Chromium 浏览器、截取屏幕截图、提取内容并与网页交互。

✨ 与其他实现的主要区别在于,此实现支持访问页面原始 DOM 内容和控制台!

MCP 客户端配置

将以下内容添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": [
        "-y",
        "@ratiofu/mcp-puppeteer"
      ]
    }
  }
}

注意:

  • 某些 MCP 客户端支持其他服务配置选项。请查阅 MCP 客户端文档,了解高级配置设置。
  • 如果你正在使用其他基于 Puppeteer 的 MCP 服务,可考虑使用 "puppeteer-ratiofu" 这样的唯一名称以避免冲突。一次只运行一个 Puppeteer MCP 服务;如果更改了服务名称,请相应更新任何本地 Agent 指引。

可用工具

  • navigate:导航到 URL
  • list_tab_urls:列出所有打开的标签页 URL
  • click:使用 CSS 选择器点击元素
  • take_screenshot:截取页面截图
  • get_html:提取页面 HTML 内容
  • get_console:获取浏览器控制台输出

前置条件

你需要运行已启用远程调试的 Chromium:

macOS
open -a "Chromium" --args --remote-debugging-port=9222
Linux
chromium --remote-debugging-port=9222
Windows
chromium --remote-debugging-port=9222

工作原理

当 MCP 客户端需要时,此服务会通过 npx 自动下载并运行。无需手动安装!它使用 Chromium 的远程调试协议来控制浏览器。

故障排除

Chromium 连接问题

错误:“无法连接到 Chromium”

请确保已启动 Chromium(见上文)。

你可以在浏览器中打开 http://localhost:9222/json,确认 Chromium 已就绪。

MCP 客户端问题

服务无响应:

  1. 确保 Chromium 正在运行且已启用调试端口(见“前置条件”部分)
  2. 检查 MCP 客户端配置是否与示例一致
  3. 确认已安装 Node.js 22+(node --version)

需要手动测试?

echo '{}' | npx @ratiofu/mcp-puppeteer

开发

本地开发:

git clone https://github.com/ratiofu/mcp-puppeteer
cd mcp-puppeteer
pnpm install
pnpm run build
pnpm start
开发脚本
pnpm run dev            # Auto-rebuild and restart
pnpm run test           # Run unit tests
pnpm run test:coverage  # Run tests with coverage
pnpm run quality        # Full quality pipeline (typecheck + lint + test coverage)
pnpm run lint           # Check code with Biome linter
pnpm run lint:fix       # Auto-fix linting and formatting issues
pnpm run inspector      # Test with MCP Inspector

架构

  • 管道传输:通过标准输入/标准输出与 MCP 客户端直接通信
  • Puppeteer Core:无需捆绑浏览器的浏览器自动化
  • 自动清理:进程退出时清理浏览器资源

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。