返回 MCP 目录
public公开dns本地运行

Puppeteer

基于Puppeteer的浏览器自动化MCP服务

article

README

🚀 木偶师服务器

木偶师服务器是一个基于Puppeteer的模型上下文协议(MCP)服务器,它提供强大的浏览器自动化功能。借助此服务器,大语言模型(LLMs)能够与网页进行交互、截取屏幕截图并执行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 (字符串):要点击的元素的CSS选择器

puppeteer_hover

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

puppeteer_fill

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

puppeteer_select

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

puppeteer_evaluate

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

资源说明

服务器提供以下两种资源:

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

📚 详细文档

使用Puppeteer服务器的配置

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 License授权。这意味着您可以在不受限制的情况下使用、修改和分发软件,但需遵守MIT License的条款和条件。如需更多信息,请参阅项目仓库中的LICENSE文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端