Puppeteer MCP Server (Python Implementation)
镜子 (jìng zi)
MCP-Mirror
README
Puppeteer MCP 服务器 (Python 实现)
一个模型上下文协议服务器,它使用 Playwright (Python 中与 Puppeteer 等效的库) 提供浏览器自动化功能。该服务器使 LLM 能够与网页交互、截取屏幕截图以及在真实的浏览器环境中执行 JavaScript。
概述
此 Python 实现提供了 TypeScript 版本的稳定替代方案,提供相同的功能,并改进了错误处理和日志记录。它使用 Playwright,它是 Python 中与 Puppeteer 等效的库,提供强大的浏览器自动化功能。
主要特性
- 完整的浏览器自动化
- 页面导航
- 屏幕截图捕获(完整页面或元素)
- 表单交互(点击和填写)
- JavaScript 执行
- 控制台日志监控
- 可配置的超时
- 详细的错误处理
- 全面的日志记录
前提条件
- Python 3.8+
- pip (Python 包安装程序)
安装
- 安装所需的包:
pip install -r requirements.txt
- 安装 Playwright 浏览器:
playwright install
用法
启动服务器
直接运行服务器:
python puppeteer_server.py
Claude 桌面配置
将此添加到您的 Claude 配置文件中:
{
"mcpServers": {
"puppeteer": {
"command": "python",
"args": ["path/to/puppeteer.py"]
}
}
}
可用工具
puppeteer_navigate
在浏览器中导航到任何 URL。
{
"name": "puppeteer_navigate",
"arguments": {
"url": "https://example.com",
"timeout": 60000 // 可选,默认为 60000 毫秒
}
}
puppeteer_screenshot
捕获整个页面或特定元素的屏幕截图。
{
"name": "puppeteer_screenshot",
"arguments": {
"name": "my_screenshot",
"selector": "#specific-element", // 可选
"width": 1280, // 可选,默认值:1280
"height": 720, // 可选,默认值:720
"timeout": 30000 // 可选,默认为 30000 毫秒
}
}
puppeteer_click
点击页面上的元素。
{
"name": "puppeteer_click",
"arguments": {
"selector": ".button-class",
"timeout": 30000 // 可选,默认为 30000 毫秒
}
}
puppeteer_fill
填写输入字段。
{
"name": "puppeteer_fill",
"arguments": {
"selector": "#input-id",
"value": "text to fill",
"timeout": 30000 // 可选,默认为 30000 毫秒
}
}
puppeteer_evaluate
在浏览器控制台中执行 JavaScript。
{
"name": "puppeteer_evaluate",
"arguments": {
"script": "document.title",
"timeout": 30000 // 可选,默认为 30000 毫秒
}
}
错误处理
服务器为常见场景提供详细的错误消息:
- 导航失败
- 找不到元素
- 超时错误
- JavaScript 执行错误
- 屏幕截图失败
日志记录
实现了具有不同级别的全面日志记录:
- INFO:标准操作
- ERROR:操作失败
- DEBUG:详细的执行信息
注意事项
- 浏览器以非无头模式启动,以便更好地调试
- 默认视口大小为 1280x720
- 所有超时都是可配置的
- 控制台日志被捕获并存储
- 屏幕截图以 base64 编码存储在内存中
贡献
欢迎贡献!在提交 pull request 之前,请阅读存储库的贡献指南。
许可证
此项目根据 Apache 2.0 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Playwright MCP Server
提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。
@kazuph/mcp-fetch
用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。
DuckDuckGo MCP Server
一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。
YouTube Transcript MCP Server
这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。
serper-search-scrape-mcp-server
这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置。
The Verge News MCP Server
提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。
Tavily MCP Server
使用 Tavily 的搜索 API 提供 AI 驱动的网络搜索功能,使 LLM 能够执行复杂的网络搜索、获得问题的直接答案以及搜索最近的新闻文章。
mcp-pinterest
用于图像搜索和信息检索的 Pinterest 模型上下文协议 (MCP) 服务器

Crawlab MCP Server