Puppeteer

Puppeteer

site icon
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> 资源。

许可证

该项目遵循 MIT 开源许可条款。