article
README
🚀 皮影戏工具集
皮影戏工具集是一个基于 Puppeteer 的 Model Context Protocol 服务器,它提供了强大的浏览器自动化功能。借助该服务器,LLM 能够在真实的浏览器环境中与网页进行交互,实现截取屏幕截图、执行 JavaScript 等操作,为网页自动化测试和数据采集等场景提供了便利。
🚀 快速开始
本工具集提供了一系列实用的组件和功能,可帮助您轻松实现浏览器自动化操作。以下将详细介绍各组件和功能的使用方法及配置示例。
✨ 主要特性
- 浏览器自动化:可实现对浏览器的自动化控制,模拟用户在网页上的各种操作。
- 控制台日志监控:能监控浏览器控制台输出的日志信息。
- 屏幕截图功能:支持截取页面或特定元素的屏幕截图。
- JavaScript 执行:可在浏览器控制台执行 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
- 功能:在 SELECT 标记中选择元素
- 输入:
selector(字符串):要选择的元素的选择器value(字符串):要选择的值
puppeteer_evaluate
- 功能:在浏览器控制台执行 JavaScript
- 输入:
script(字符串):要执行的 JavaScript 代码
资源
服务器提供两种类型的资源:
- 控制台日志 (
console://logs)- 浏览器控制台输出的文本格式,包括浏览器中的所有控制台消息。
- 屏幕截图 (
screenshot://<name>)- 指定名称的 PNG 图像屏幕截图,可通过 screenshot 名称访问截取的屏幕截图。
📚 详细文档
使用 Puppeteer Server 的配置
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"]
}
}
}
📄 许可证
此 MCP 服务器根据 MIT 许可证发布。这意味着您可以自由使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目仓库中的 LICENSE 文件。
微信扫一扫