README
🚀 木偶师服务器
木偶师服务器是一个借助Puppeteer实现的模型上下文协议(Model Context Protocol)服务器,它具备强大的浏览器自动化功能。该服务器能让大语言模型(LLM)与网页进行交互、截取屏幕截图以及执行JavaScript代码,为用户模拟出真实的浏览器环境。
🚀 快速开始
以下是Claude Desktop使用Puppeteer服务器的配置示例:
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"]
}
}
}
✨ 主要特性
- 浏览器自动化操作
- 控制台日志监控
- 屏幕截图功能
- 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 | 从下拉列表中选择元素 | selector(字符串):下拉列表的选择器;value(字符串):要选择的值 |
| puppeteer_evaluate | 在浏览器控制台执行JavaScript代码 | script(字符串):要执行的JavaScript代码 |
资源
此服务器提供两种类型的资源:
- 控制台日志 (
console://logs)- 浏览器控制台输出文本信息
- 包含浏览器的所有控制台消息
- 屏幕截图 (
screenshot://<name>)- PNG格式的页面截图
- 通过截取时指定的名称访问屏幕截图
📄 许可证
此MCP服务器根据MIT License授权。这意味着您可以在任何用途中免费使用、修改和分发软件,但需遵守MIT License的条款和条件。有关详细信息,请参阅项目仓库中的LICENSE文件。
Scan to join WeChat group