返回市场
MCP操作 puppeteer 扩展

MCP操作 puppeteer 扩展

作者:gpaul-faldin2 星标更新:2025-03-20

项目介绍

Puppeteer-Extra MCP 服务器

这是一个使用 Puppeteer-Extra 和 Stealth 插件提供增强浏览器自动化能力的 Model Context Protocol 服务器。该服务器使 LLM 能够以更接近人类行为的方式与网页进行交互,并避免被识别为自动化工具。

特性

  • 使用 Puppeteer-Extra 增强的浏览器自动化
  • 隐身模式以避免机器人检测
  • 页面和元素的截图功能
  • 控制台日志记录和 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 图像
    • 通过捕获时指定的截图名称访问

开发

安装

# 克隆仓库
git clone <repository-url>
cd puppeteer_extra

# 安装依赖
npm install

# 复制环境文件
cp .env.example .env.development

本地运行

# 开发模式(非无头浏览器)
npm run dev

# 生产模式(无头浏览器)
npm run prod

构建

npm run build

Docker

构建 Docker 镜像

docker build -t mcp/puppeteer-extra .

使用 Docker 运行

docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer-extra

Claude Desktop 配置

Docker

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

NPX

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": ["-y", "MCP_puppeteer_extra"]
    }
  }
}

许可证

此 MCP 服务器采用 MIT 许可证。