
Puppeteer MCP Server

2025.03.14
18
TypeScript浏览器自动化网页测试数据抓取浏览器自动化
Puppeteer MCP Server 是一个基于 Puppeteer 的浏览器自动化服务,提供与浏览器实例交互的能力,支持导航网页、截图、点击元素、填写表单等多种操作。该服务可以连接到新的浏览器实例或现有的 Chrome 窗口,并具备智能的 Chrome 标签管理功能。
View on GitHub
Overview
基本能力
产品定位
Puppeteer MCP Server 是一个浏览器自动化服务,旨在通过 Puppeteer 提供高效的网页交互和操作能力。
核心功能
- 导航网页
- 截图
- 点击元素
- 填写表单
- 选择选项
- 悬停元素
- 执行 JavaScript
- 智能 Chrome 标签管理:
- 连接到活动的 Chrome 标签
- 保留现有的 Chrome 实例
- 智能连接处理
适用场景
- 网页自动化测试
- 网页数据抓取
- 自动化表单填写
- 网页截图生成
- 浏览器交互模拟
工具列表
- puppeteer_connect_active_tab: 连接到现有的 Chrome 实例(远程调试启用)
- puppeteer_navigate: 导航到指定 URL
- puppeteer_screenshot: 截取当前页面或特定元素的截图
- puppeteer_click: 点击页面上的元素
- puppeteer_fill: 填写输入字段
- puppeteer_select: 使用下拉菜单
- puppeteer_hover: 悬停在元素上
- puppeteer_evaluate: 在浏览器控制台中执行 JavaScript
常见问题解答
- 如何连接到现有的 Chrome 窗口?
关闭所有现有的 Chrome 实例,然后使用
--remote-debugging-port=9222
参数启动 Chrome,最后使用puppeteer_connect_active_tab
工具连接。 - 如何调试服务器?
服务器使用 Winston 进行日志记录,日志文件位于
logs/
目录下,包含详细的调试信息。
使用教程
使用依赖
确保已安装 Node.js 和 npm。
安装教程
选项 1: 通过 npm 安装
npm install -g puppeteer-mcp-server
或直接使用 npx 运行:
npx puppeteer-mcp-server
选项 2: 从源代码安装
- 克隆仓库或下载源代码
- 安装依赖:
npm install
- 构建项目:
npm run build
- 运行服务器:
npm start
调试方式
- 启动服务器后,检查日志文件
logs/mcp-puppeteer-YYYY-MM-DD.log
以获取详细的操作和错误信息。 - 使用
puppeteer_evaluate
工具执行 JavaScript 代码进行调试。 - 确保 Chrome 远程调试端口(默认 9222)未被占用。