木偶师
一个使用 Puppeteer 提供浏览器自动化功能的模型上下文协议服务器。该服务器使 LLM 能够在真实的浏览器环境中与网页交互、截取屏幕截图并执行 JavaScript。
成分
工具
- puppeteer_navigate
- 导航到浏览器中的任意 URL
- 输入:
url
(字符串)
- puppeteer_screenshot
- 捕获整个页面或特定元素的屏幕截图
- 输入:
name
(字符串,必需):屏幕截图的名称selector
(字符串,可选):要截图的元素的 CSS 选择器width
(数字,可选,默认值:800):屏幕截图宽度height
(数字,可选,默认值:600):屏幕截图高度
- puppeteer_click
- 点击页面上的元素
- 输入:
selector
(字符串):要点击元素的 CSS 选择器
- puppeteer_hover
- 悬停页面上的元素
- 输入:
selector
(字符串):用于悬停元素的 CSS 选择器
- puppeteer_fill
- 填写输入字段
- 输入:
selector
(字符串):输入字段的 CSS 选择器value
(字符串):要填充的值
- puppeteer_select
- 使用 SELECT 标签选择一个元素
- 输入:
selector
(字符串):要选择的元素的 CSS 选择器value
(字符串):要选择的值
- puppeteer_evaluate
- 在浏览器控制台中执行 JavaScript
- 输入:
script
(字符串):要执行的 JavaScript 代码
资源
服务器提供两种类型资源的访问:
- 控制台日志(
console://logs
)- 浏览器控制台以文本格式输出
- 包括来自浏览器的所有控制台消息
- 屏幕截图(
screenshot://<name>
)- 截图的 PNG 图像
- 可通过捕获期间指定的屏幕截图名称访问
主要特点
- 浏览器自动化
- 控制台日志监控
- 截图功能
- JavaScript 执行
- 基本网络交互(导航、点击、表单填写)
配置使用 Puppeteer 服务器
以下是使用 Puppeter 服务器的 Claude Desktop 配置:
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"]
}
}
}
建造
Docker 构建:
docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .
执照
此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。