Puppeteer MCP Server (Python 实现)
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,它使用 Playwright 库为大型语言模型 (LLM) 提供强大的浏览器自动化能力。借助此服务器,LLM 可以像人类用户一样与网页进行交互,例如:
- 访问网页: 让 LLM 浏览指定网址,获取网页内容。
- 截取屏幕: 捕获整个网页或特定元素的截图,为 LLM 提供视觉信息。
- 填写表单和点击: 模拟用户在网页上的操作,例如点击按钮、填写输入框等。
- 执行 JavaScript: 允许 LLM 在浏览器环境中执行 JavaScript 代码,实现更高级的网页交互功能。
主要功能点
- 网页导航: 控制浏览器访问任意 URL。
- 屏幕截图: 截取网页全屏或指定元素的截图。
- 元素点击: 模拟鼠标点击网页元素。
- 表单填写: 自动填写网页输入框。
- JavaScript 执行: 在浏览器中执行 JavaScript 代码并获取结果。
- 详细的错误处理: 提供清晰的错误信息,方便调试和问题排查。
- 全面的日志记录: 记录服务器运行状态和操作细节,便于监控和审计。
安装步骤
- 安装 Python 3.8+ 和 pip: 确保你的系统已安装 Python 3.8 或更高版本,并配置好 pip 包管理器。
- 安装依赖包: 在仓库根目录下打开终端,运行以下命令安装项目依赖:
pip install -r requirements.txt - 安装 Playwright 浏览器: 运行以下命令安装 Playwright 需要的浏览器驱动:
playwright install
服务器配置
要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),你需要提供服务器的启动命令和参数。以下是一个 JSON 格式的配置示例,适用于 Claude Desktop 的 'mcpServers' 配置:
{ "mcpServers": { "puppeteer": { // 服务器名称,可以自定义 "command": "python", // 启动服务器的命令,这里使用 python 解释器 "args": ["path/to/puppeteer_server.py"] // 启动脚本的路径,请替换为实际的 puppeteer_server.py 文件路径 } } }
注意:
- 请将 '"path/to/puppeteer_server.py"' 替换为 'puppeteer_server.py' 文件在您本地文件系统中的 绝对路径 或 相对路径(相对于 Claude Desktop 进程的工作目录)。
- 'puppeteer' 是服务器的名称,您可以自定义,在 Claude 中引用时保持一致即可。
基本使用方法
-
启动服务器: 在仓库根目录下打开终端,运行以下命令启动 Puppeteer MCP 服务器:
python puppeteer_server.py服务器成功启动后,将监听来自 MCP 客户端的请求。
-
配置 MCP 客户端: 根据 MCP 客户端 (例如 Claude Desktop) 的文档,配置连接到此 Puppeteer MCP 服务器。通常需要提供服务器名称以及启动命令和参数。
-
在 MCP 客户端中使用工具: 一旦客户端成功连接到服务器,你就可以在客户端中使用 'puppeteer_navigate', 'puppeteer_screenshot', 'puppeteer_click', 'puppeteer_fill', 'puppeteer_evaluate' 等工具,让 LLM 通过浏览器与网页进行交互。工具的具体使用方法和参数可以参考仓库 README.md 文件中 "Available Tools" 部分的说明。
总结: 此 Puppeteer MCP Server 允许 LLM 通过标准化的 MCP 协议,利用浏览器自动化能力与网页进行交互,扩展了 LLM 的应用场景,使其能够处理需要网页操作的任务。
信息
分类
网页与API