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

Mcp-Puppeteer-Server

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

article

README

🚀 木偶师服务器

木偶师服务器是一个借助Puppeteer实现的模型上下文协议(Model Context Protocol)服务器,它具备强大的浏览器自动化功能。该服务器能让大语言模型(LLM)与网页进行交互、截取屏幕截图以及执行JavaScript代码,为用户模拟出真实的浏览器环境。

🚀 快速开始

以下是Claude Desktop使用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"]
    }
  }
}

✨ 主要特性

  • 浏览器自动化操作
  • 控制台日志监控
  • 屏幕截图功能
  • 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 | 从下拉列表中选择元素 | selector(字符串):下拉列表的选择器;value(字符串):要选择的值 | | puppeteer_evaluate | 在浏览器控制台执行JavaScript代码 | script(字符串):要执行的JavaScript代码 |

资源

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

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

📄 许可证

此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. 补齐环境变量后重启客户端