mcpField
P
Puppeteer

Puppeteer

本地服务
github.com/rotexhawk浏览器自动化189 周前更新

关于 Puppeteer

Puppeteer 是用于浏览器自动化的 MCP 服务,可让 LLM 客户端浏览网页、操作页面元素、运行 JavaScript 并截取屏幕。它还将浏览器控制台日志和截图作为资源提供。

主要功能

  1. 01访问网址并操作网页
  2. 02点击、悬停、填写和选择元素
  3. 03在浏览器中运行 JavaScript
  4. 04截取整页或元素截图
  5. 05读取控制台日志和截图

适用场景

  1. 01自动执行网页交互
  2. 02截取网页或元素的屏幕图像
  3. 03检查浏览器控制台输出

MCP 相关

它向 MCP 客户端提供浏览器自动化工具,以及控制台日志和截图资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"Mcp-Puppeteer-Server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Puppeteer

一个使用 Puppeteer 提供浏览器自动化功能的模型上下文协议服务。此服务可让大模型在真实浏览器环境中与网页交互、截取屏幕截图并执行 JavaScript。

组件

工具
  • 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 图片
    • 可通过截取时指定的屏幕截图名称访问

主要功能

  • 浏览器自动化
  • 控制台日志监控
  • 屏幕截图功能
  • JavaScript 执行
  • 基本网页交互(导航、点击、填写表单)

Puppeteer 服务的配置

以下是使用 Puppeter 服务的 Claude Desktop 配置:

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"]
    }
  }
}

构建

Docker 构建:

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

许可证

此 MCP 服务采用 MIT 许可证。这意味着你可以自由使用、修改和分发此软件,但须遵守 MIT 许可证的条款和条件。有关详情,请参阅项目代码库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。