Back to MCP directory
publicPublicdnsLocal runtime

mcp-puppeteer

一个基于Puppeteer的浏览器自动化MCP服务,提供网页交互、截图和脚本执行能力

article

README

🚀 皮影戏工具集

皮影戏工具集是一个基于 Puppeteer 的 Model Context Protocol 服务器,它提供了强大的浏览器自动化功能。借助该服务器,LLM 能够在真实的浏览器环境中与网页进行交互,实现截取屏幕截图、执行 JavaScript 等操作,为网页自动化测试和数据采集等场景提供了便利。

🚀 快速开始

本工具集提供了一系列实用的组件和功能,可帮助您轻松实现浏览器自动化操作。以下将详细介绍各组件和功能的使用方法及配置示例。

✨ 主要特性

  • 浏览器自动化:可实现对浏览器的自动化控制,模拟用户在网页上的各种操作。
  • 控制台日志监控:能监控浏览器控制台输出的日志信息。
  • 屏幕截图功能:支持截取页面或特定元素的屏幕截图。
  • JavaScript 执行:可在浏览器控制台执行 JavaScript 代码。
  • 基本网页交互:涵盖导航、点击、表单填充等基本网页交互操作。

📦 安装指南

Docker 构建

docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .

💻 使用示例

工具组件

puppeteer_navigate

  • 功能:在浏览器中导航到任何 URL
  • 输入url(字符串)

puppeteer_screenshot

  • 功能:截取页面或特定元素的屏幕截图
  • 输入
    • name(字符串,必填):屏幕截图的名称
    • selector(字符串,可选):截取元素的 CSS 选择器
    • width(数字,可选,默认值:800):屏幕截图宽度
    • height(数字,可选,默认值:600):屏幕截图高度

puppeteer_click

  • 功能:点击页面上的元素
  • 输入selector(字符串):要点击的元素的选择器

puppeteer_hover

  • 功能:鼠标悬停在页面上的元素上
  • 输入selector(字符串):要悬停的元素的选择器

puppeteer_fill

  • 功能:填充输入字段
  • 输入
    • selector(字符串):输入字段的选择器
    • value(字符串):要填充的值

puppeteer_select

  • 功能:在 SELECT 标记中选择元素
  • 输入
    • selector(字符串):要选择的元素的选择器
    • value(字符串):要选择的值

puppeteer_evaluate

  • 功能:在浏览器控制台执行 JavaScript
  • 输入script(字符串):要执行的 JavaScript 代码

资源

服务器提供两种类型的资源:

  1. 控制台日志 (console://logs)
    • 浏览器控制台输出的文本格式,包括浏览器中的所有控制台消息。
  2. 屏幕截图 (screenshot://<name>)
    • 指定名称的 PNG 图像屏幕截图,可通过 screenshot 名称访问截取的屏幕截图。

📚 详细文档

使用 Puppeteer Server 的配置

Docker

注意:Docker 实现将使用无头 Chromium,而 NPX 版本将打开浏览器窗口。

{
  "mcpServers": {
    "puppeteer": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e",
        "DOCKER_CONTAINER=true",
        "mcp/puppeteer"
      ]
    }
  }
}

NPX

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

📄 许可证

此 MCP 服务器根据 MIT 许可证发布。这意味着您可以自由使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目仓库中的 LICENSE 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client