使用说明
操纵者
使用Puppeteer提供浏览器自动化功能的模型上下文协议服务器。此服务器使LLM能够在真实的浏览器环境中与网页交互、截图和执行JavaScript。
[!小心] 此服务器可以访问本地文件和本地/内部IP地址,因为它在您的计算机上运行浏览器。使用此MCP服务器时请小心,以确保不会暴露任何敏感数据。
组件
工具
-
puppeteer_navigation
- 导航到浏览器中的任何URL
- 输入:
url(字符串,必填):要导航到的URLlaunchOptions(对象,可选):PuppeterJS启动选项。默认值为空。如果更改且不为空,浏览器将重新启动。例子:{ headless: true, args: ['--user-data-dir="C:/Data"'] }allowDangerous(boolean,可选):允许降低安全性的危险LaunchOptions。当为false时,危险参数如下--no-sandbox,--disable-web-security将抛出错误。默认值为false。
-
木偶戏
- 捕获整个页面或特定元素的屏幕截图
- 输入:
name(string,必填):屏幕截图的名称selector(string,可选):用于截图元素的CSS选择器width(数字,可选,默认值:800):截图宽度height(数字,可选,默认值:600):截图高度encoded(boolean,可选):如果为true,则将屏幕截图捕获为base64编码的数据URI(文本),而不是二进制图像内容。默认值为false。
-
木偶戏
- 点击页面上的元素
- 输入:
selector(string):用于单击元素的CSS选择器
-
木偶戏
- 将元素悬停在页面上
- 输入:
selector(string):用于悬停元素的CSS选择器
-
木偶戏
- 填写输入字段
- 输入:
selector(string):输入字段的CSS选择器value(string):要填充的值
-
木偶师_选择
- 选择带有Select标签的元素
- 输入:
selector(string):用于选择元素的CSS选择器value(string):要选择的值
-
木偶师_评价
- 在浏览器控制台中执行JavaScript
- 输入:
script(string):要执行的JavaScript代码
资源
服务器提供对两种资源的访问:
-
控制台日志 (
console://logs)- 文本格式的浏览器控制台输出
- 包括来自浏览器的所有控制台消息
-
截图 (
screenshot://<name>)- 捕获的屏幕截图的PNG图像
- 可通过捕获期间指定的屏幕截图名称访问
主要特点
- 浏览器自动化
- 控制台日志监控
- 屏幕截图功能
- JavaScript执行
- 基本的网络交互(导航、点击、表单填写)
- 可定制的Puppeter启动选项
使用Puppeteer服务器的配置
使用Claude Desktop
以下是使用Puppeter服务器的Claude Desktop配置:
码头工人
备注 docker实现将使用无头铬,而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"]
}
}
}
使用VS代码
为了快速安装,请使用下面的一键安装按钮之一。..
对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open User Settings (JSON).
您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。
请注意
mcp中不需要密钥.vscode/mcp.json文件。
对于NPX安装(打开浏览器窗口):
{
"mcp": {
"servers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
}
对于Docker安装(使用无头铬):
{
"mcp": {
"servers": {
"puppeteer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e",
"DOCKER_CONTAINER=true",
"mcp/puppeteer"
]
}
}
}
}
启动选项
您可以通过两种方式自定义Puppeteer的浏览器行为:
-
环境变量:设置
PUPPETEER_LAUNCH_OPTIONS在MCP配置中使用JSON编码字符串env参数:{ "mcpServers": { "mcp-puppeteer": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-puppeteer"], "env": { "PUPPETEER_LAUNCH_OPTIONS": "{ \"headless\": false, \"executablePath\": \"C:/Program Files/Google/Chrome/Application/chrome.exe\", \"args\": [] }", "ALLOW_DANGEROUS": "true" } } } } -
工具调用参数:通行证
launchOptions和allowDangerous参数到puppeteer_navigate工具:{ "url": "https://example.com", "launchOptions": { "headless": false, "defaultViewport": { "width": 1280, "height": 720 } } }
构建
Docker构建:
docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .
许可证
此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。
