浏览器自动化服务

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

  • by ratiofu
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 ratiofu/mcp-puppeteer

使用说明

木偶MCP服务器

一种模型上下文协议(MCP)服务器,通过具有智能浏览器管理的Puppeteer提供浏览器自动化功能。该服务器使AI助手能够控制Chromium浏览器、截图、提取内容并与网页交互。

✨ 与其他实现相比,此实现的关键区别在于它允许访问页面和控制台的原始DOM内容!

MCP客户端配置

将此添加到MCP客户端配置中:

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

笔记:

  • 一些MCP客户端支持其他服务器配置选项。有关高级配置设置,请参阅MCP客户端的文档。
  • 如果您使用的是其他基于Puppeteer的MCP服务器,请考虑使用一个唯一的名称,如 "puppeteer-ratiofu" 以避免冲突。一次只能运行一个Puppeteer MCP服务器,如果更改服务器名称,请相应地更新任何本地代理指南。

可用工具

  • 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

视窗

chromium --remote-debugging-port=9222

运作原理

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

故障排除

铬连接问题

错误:“无法连接到Chromium”

确保您确实启动了Chromium(见上文)。

您可以通过打开来验证Chromium是否已准备就绪http://localhost:9222/json在您的浏览器中。

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客户端直接进行stdin/stdout通信
  • 木偶核心:无捆绑浏览器的浏览器自动化
  • 自动清理:进程退出时清理浏览器资源