
Puppeteer

2025.03.19
0
JavaScript浏览器自动化浏览器自动化
mcp-puppeteer 是一个基于 Model Context Protocol 的服务,利用 Puppeteer 提供浏览器自动化能力。该服务使 LLMs 能够与网页交互,包括截图、执行 JavaScript 代码以及基本的网页操作(如导航、点击、表单填写等)。
View on GitHub
Overview
基本能力
产品定位
mcp-puppeteer 是一个浏览器自动化工具,旨在通过 Puppeteer 提供网页交互和自动化能力。
核心功能
- 浏览器自动化:支持导航、点击、悬停、表单填写等基本网页操作。
- 截图功能:可以捕获整个页面或特定元素的截图。
- JavaScript 执行:在浏览器控制台中执行自定义 JavaScript 代码。
- 控制台日志监控:实时获取浏览器控制台输出。
适用场景
- 网页自动化测试
- 网页内容抓取
- 网页截图生成
- 动态网页交互模拟
工具列表
- puppeteer_navigate:导航到指定 URL。
- puppeteer_screenshot:捕获页面或元素的截图。
- puppeteer_click:点击页面上的元素。
- puppeteer_hover:悬停在页面上的元素。
- puppeteer_fill:填写表单字段。
- puppeteer_select:选择下拉菜单选项。
- puppeteer_evaluate:在浏览器控制台中执行 JavaScript。
常见问题解答
- Docker 和 NPX 版本的区别:Docker 版本使用无头 Chromium,而 NPX 版本会打开浏览器窗口。
- 截图存储:截图通过
screenshot://<name>
访问,其中<name>
是截图时指定的名称。
使用教程
使用依赖
- 安装 Docker 或 Node.js(用于 NPX 版本)。
安装教程
Docker 安装
docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .
NPX 安装
npx -y @modelcontextprotocol/server-puppeteer
调试方式
- 检查 Docker 容器是否正常运行:
docker ps
- 查看控制台日志:访问
console://logs
资源。 - 验证截图功能:使用
puppeteer_screenshot
工具并检查screenshot://<name>
资源。