浏览器自动化服务

一个基于Puppeteer的浏览器自动化服务,提供网页交互、截图、JavaScript执行等功能,适用于网页测试和数据抓取场景。

  • by rotexhawk
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 rotexhawk/mcp-puppeteer-server

使用说明

操纵者

使用Puppeteer提供浏览器自动化功能的模型上下文协议服务器。此服务器使LLM能够在真实的浏览器环境中与网页交互、截图和执行JavaScript。

组件

工具

  • puppeteer_navigation

    • 导航到浏览器中的任何URL
    • 输入: url (字符串)
  • 木偶戏

    • 捕获整个页面或特定元素的屏幕截图
    • 输入:
      • name (string,必填):屏幕截图的名称
      • selector (string,可选):用于截图元素的CSS选择器
      • width (数字,可选,默认值:800):截图宽度
      • height (数字,可选,默认值:600):截图高度
  • 木偶戏

    • 点击页面上的元素
    • 输入: selector (string):用于单击元素的CSS选择器
  • 木偶戏

    • 将元素悬停在页面上
    • 输入: selector (string):用于悬停元素的CSS选择器
  • 木偶戏

    • 填写输入字段
    • 输入:
      • selector (string):输入字段的CSS选择器
      • value (string):要填充的值
  • 木偶师_选择

    • 选择带有Select标签的元素
    • 输入:
      • selector (string):用于选择元素的CSS选择器
      • value (string):要选择的值
  • 木偶师_评价

    • 在浏览器控制台中执行JavaScript
    • 输入: script (string):要执行的JavaScript代码

资源

服务器提供对两种资源的访问:

  1. 控制台日志 (console://logs)

    • 文本格式的浏览器控制台输出
    • 包括来自浏览器的所有控制台消息
  2. 截图 (screenshot://<name>)

    • 捕获的屏幕截图的PNG图像
    • 可通过捕获期间指定的屏幕截图名称访问

主要特点

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

使用Puppeteer服务器的配置

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

码头工人

备注 docker实现将使用无头铬,而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文件。