article
README
🚀 木偶师服务器
木偶师服务器是一个基于Puppeteer的模型上下文协议(MCP)服务器,它提供强大的浏览器自动化功能。借助此服务器,大语言模型(LLMs)能够与网页进行交互、截取屏幕截图并执行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(字符串):要点击的元素的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格式的截屏图像,可通过捕获时指定的截图名称访问。
📚 详细文档
使用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"]
}
}
}
📄 许可证
该MCP服务器根据MIT License授权。这意味着您可以在不受限制的情况下使用、修改和分发软件,但需遵守MIT License的条款和条件。如需更多信息,请参阅项目仓库中的LICENSE文件。
微信扫一扫