Configurable Puppeteer MCP Server

Configurable Puppeteer MCP Server

site icon
2025.03.09 1
JavaScript浏览器自动化网页交互浏览器自动化
mcp-configurable-puppeteer 是一个基于 Puppeteer 的 Model Context Protocol 服务器,提供可配置的浏览器自动化能力。它允许 LLMs 与网页交互,包括导航、截图、执行 JavaScript 以及基本的网页操作(如点击、悬停、填写表单等)。该服务器支持通过环境变量自定义 Puppeteer 的启动选项,适用于需要浏览器自动化的各种场景。
View on GitHub

Overview

基本能力

产品定位

mcp-configurable-puppeteer 是一个浏览器自动化工具,旨在为开发者和 LLMs 提供灵活的网页交互能力。

核心功能

  • 浏览器自动化:支持导航、点击、悬停、填写表单等基本网页操作。
  • 截图功能:可以捕获整个页面或特定元素的截图。
  • JavaScript 执行:允许在浏览器控制台中执行自定义 JavaScript 代码。
  • 控制台日志监控:提供浏览器控制台输出的实时监控。
  • 可配置性:通过环境变量 PUPPETEER_ARGS 自定义 Puppeteer 启动选项(如浏览器类型、窗口大小等)。

适用场景

  • 自动化测试:用于网页功能的自动化测试和验证。
  • 数据抓取:从网页中提取数据或监控网页内容变化。
  • 网页截图:生成网页或特定元素的截图,用于报告或存档。
  • 交互式演示:模拟用户操作,用于演示或教学。

工具列表

  1. puppeteer_navigate:导航到指定 URL。
  2. 输入:url(字符串)。

  3. puppeteer_screenshot:捕获页面或元素的截图。

  4. 输入:name(必填,截图名称)、selector(可选,CSS 选择器)、width(可选,默认 800)、height(可选,默认 600)。

  5. puppeteer_click:点击页面元素。

  6. 输入:selector(CSS 选择器)。

  7. puppeteer_hover:悬停页面元素。

  8. 输入:selector(CSS 选择器)。

  9. puppeteer_fill:填写输入字段。

  10. 输入:selector(CSS 选择器)、value(要填写的值)。

  11. puppeteer_select:选择下拉菜单选项。

  12. 输入:selector(CSS 选择器)、value(要选择的值)。

  13. puppeteer_evaluate:在浏览器控制台中执行 JavaScript。

  14. 输入:script(JavaScript 代码)。

常见问题解答

  1. 如何自定义浏览器类型?
  2. 通过 PUPPETEER_ARGS 环境变量设置 {"browser": "firefox"} 即可使用 Firefox。

  3. 如何调整浏览器窗口大小?

  4. 通过 PUPPETEER_ARGS 设置 {"defaultViewport": {"width": 1280, "height": 800}}

使用教程

使用依赖

确保已安装 Node.js 和 npm。

安装教程

  1. 通过 npx 安装: json { "mcpServers": { "puppeteer": { "command": "npx", "args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer"] } } }

  2. 指定分支或标签: json { "mcpServers": { "puppeteer": { "command": "npx", "args": ["-y", "github:afshawnlotfi/mcp-configurable-puppeteer#main"] } } }

调试方式

  1. 启动服务器后,使用提供的工具(如 puppeteer_navigatepuppeteer_screenshot)进行测试。
  2. 检查控制台日志(console://logs)以查看浏览器输出。
  3. 验证截图是否生成(screenshot://<name>)。

许可证

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