Puppeteer MCP 服务器使用说明
项目简介
Puppeteer MCP 服务器是一个基于 Model Context Protocol 构建的后端应用,它利用 Puppeteer 库为大型语言模型(LLMs)提供浏览器自动化能力。通过此服务器,LLMs 可以与网页进行交互,例如导航、点击、填写表单、执行 JavaScript,并获取网页截图和控制台日志等资源,从而扩展 LLMs 在 Web 环境中的应用能力。
主要功能点
- 网页自动化操作:支持 LLMs 控制浏览器进行网页导航、元素点击、悬停、表单填写和元素选择等操作。
- 网页截图:允许 LLMs 捕获整个网页或特定元素的屏幕截图。
- JavaScript 执行:支持 LLMs 在浏览器环境中执行 JavaScript 代码。
- 控制台日志监控:提供对浏览器控制台日志的访问,方便 LLMs 获取网页运行时的信息。
- HTTP 请求:支持 LLMs 发起 HTTP 请求,与外部服务进行数据交互。
- 请求语义搜索:允许 LLMs 基于语义相似性搜索特定页面内的 HTTP 请求记录。
安装步骤
- 环境准备:确保已安装 Docker 或 Node.js 和 npm。
- 下载仓库:克隆该 GitHub 仓库到本地: 'git clone https://github.com/jwaldor/mcp-scrape-copilot.git'
- Docker 镜像构建 (可选,如果选择 Docker 方式运行服务器):
- 进入仓库根目录:'cd mcp-scrape-copilot'
- 构建 Docker 镜像:'docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .'
服务器配置
在 MCP 客户端(如 Claude Desktop)中配置连接 Puppeteer MCP 服务器。以下是 Docker 和 NPX 两种运行方式的配置示例:
Docker 配置
{ "mcpServers": { "puppeteer": { "command": "docker", "args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer"] } } }
注释:使用 Docker 运行 Puppeteer MCP 服务器。'command' 指定运行命令为 'docker','args' 包含 'docker run' 命令及其参数。'-i' 和 '--rm' 参数用于交互式运行并在容器退出后自动删除,'--init' 确保容器内的进程管理,'-e DOCKER_CONTAINER=true' 设置环境变量以告知服务器在 Docker 环境中运行,'mcp/puppeteer' 是构建好的 Docker 镜像名称。
NPX 配置
{ "mcpServers": { "puppeteer": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-puppeteer"] } } }
注释:使用 NPX 运行 Puppeteer MCP 服务器。'command' 指定运行命令为 'npx','args' 包含 'npx' 命令及其参数。'-y' 参数表示自动同意安装依赖包,'@modelcontextprotocol/server-puppeteer' 是要运行的 npm 包名称。
基本使用方法
- 启动服务器:
- Docker 方式:确保 Docker 已经启动,然后在终端运行上述 Docker 配置中的 'command' 和 'args' 命令,或者直接使用 'docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer'。
- NPX 方式:确保 Node.js 和 npm 已经安装,然后在终端运行上述 NPX 配置中的 'command' 和 'args' 命令,或者直接使用 'npx -y @modelcontextprotocol/server-puppeteer'。
- 配置客户端:将上述 Docker 配置或 NPX 配置添加到 MCP 客户端的配置文件中。
- LLM 调用:在 LLM 客户端中,即可通过 MCP 协议调用 Puppeteer 服务器提供的工具和资源,例如使用 'puppeteer_navigate' 工具导航到指定网页,使用 'puppeteer_screenshot' 工具截取网页截图,并访问 'console://logs' 和 'screenshot://<name>' 资源获取控制台日志和截图。
注意事项
- Docker 方式默认使用 Headless Chromium,NPX 方式会打开浏览器窗口。
- 首次运行 NPX 方式可能需要下载依赖包,请耐心等待。
信息
分类
网页与API