使用说明

项目简介

Puppeteer MCP Server 是一个基于 Model Context Protocol (MCP) 标准构建的服务器应用,它利用 Puppeteer 库提供强大的浏览器自动化功能。此服务器作为 LLM (大型语言模型) 应用的后端,允许 LLM 通过 MCP 协议调用预定义的工具,从而实现对网页的程序化控制和数据获取。例如,LLM 可以指示服务器导航到特定网页、截取网页内容、填写表单、点击按钮等,极大地增强了 LLM 与 Web 内容交互的能力。

主要功能点

  • 网页导航: 支持打开指定 URL 的网页,让 LLM 可以访问互联网内容。
  • 网页截图: 允许 LLM 捕获当前网页或特定元素的截图,用于视觉信息获取和分析。
  • 元素操作: 提供点击网页元素、填写表单、选择下拉选项和悬停鼠标等功能,模拟用户在浏览器中的交互行为。
  • JavaScript 执行: 支持在浏览器环境中执行 JavaScript 代码,实现更复杂的页面动态操作和数据提取。
  • 连接现有 Chrome 浏览器: 可以连接到已运行并开启远程调试的 Chrome 浏览器实例,灵活利用已有的浏览器环境。
  • 资源管理: 通过 MCP 协议提供对浏览器控制台日志和屏幕截图等资源的管理和访问,方便 LLM 获取和利用这些信息。

安装步骤

Option 1: Install from npm (全局安装)

打开终端并执行以下命令,全局安装 'puppeteer-mcp-server':

npm install -g puppeteer-mcp-server

安装完成后,你可以直接在终端中使用 'puppeteer-mcp-server' 命令启动服务器。

Option 2: Install from source (从源代码安装)

  1. 克隆或下载仓库源代码到本地。
  2. 在项目根目录下,使用 npm 安装项目依赖:
npm install
  1. 构建项目:
npm run build
  1. 启动服务器:
npm start

服务器配置

要将 Puppeteer MCP Server 集成到 MCP 客户端 (例如 Claude),你需要在客户端的 MCP 服务器配置文件中添加服务器信息。以下是针对不同安装方式的配置示例,你需要根据你的安装方式选择合适的配置,并将其添加到 MCP 客户端的配置文件中。

对于通过 npm 全局安装的情况:

{
  "mcpServers": {
    "puppeteer": {
      "command": "puppeteer-mcp-server",  // 启动服务器的命令,全局安装后可以直接使用命令名
      "args": []                           // 启动参数,这里为空
    }
  }
}

对于使用 npx 运行(无需全局安装)的情况:

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",                     // 使用 npx 命令运行
      "args": ["-y", "puppeteer-mcp-server"] // npx 的参数,-y 表示自动确认安装,puppeteer-mcp-server 是要运行的包名
    }
  }
}

对于从源代码安装的情况(假设项目路径为 '/path/to/puppeteer-mcp-server'):

{
  "mcpServers": {
    "puppeteer": {
      "command": "node",                    // 使用 node 命令运行 JavaScript 文件
      "args": ["/path/to/puppeteer-mcp-server/dist/index.js"] //  指向编译后的服务器入口文件路径
    }
  }
}

请将 '/path/to/puppeteer-mcp-server' 替换为你实际的项目安装路径。

基本使用方法

  1. 启动 Puppeteer MCP Server。根据你的安装方式,在终端运行相应的命令启动服务器 ('puppeteer-mcp-server', 'npx puppeteer-mcp-server' 或 'npm start')。
  2. 配置 MCP 客户端。将上述 服务器配置 部分提供的 JSON 配置信息添加到你的 MCP 客户端的配置文件中。
  3. 在 MCP 客户端中使用工具。现在,你可以在 MCP 客户端中调用 Puppeteer MCP Server 提供的工具了。例如,你可以使用 'puppeteer_navigate' 工具让 LLM 指示服务器打开特定的网页,使用 'puppeteer_screenshot' 工具截取网页截图,或者使用其他工具与网页进行交互。
  4. 连接到现有 Chrome 浏览器 (可选)。 如果你需要连接到已经运行的 Chrome 浏览器,请先手动启动 Chrome 浏览器,并确保在启动时添加了 '--remote-debugging-port=9222' 参数。然后,你可以使用 'puppeteer_connect_active_tab' 工具连接到这个已有的 Chrome 实例。

信息

分类

网页与API