一个使用Puppeteer提供浏览器自动化功能的Model Context Protocol服务器。此服务器使LLMs能够与网页交互、截取屏幕快照并在真实的浏览器环境中执行JavaScript。
[!警告] 由于该服务器在您的机器上运行浏览器,它可以访问本地文件和本地/内部IP地址。使用此MCP服务器时,请谨慎操作以确保不会暴露任何敏感数据。
puppeteer_navigate
url(字符串,必需):要导航到的URLlaunchOptions(对象,可选):PuppeteerJS启动选项。默认值为null。如果更改且不为null,则会重新启动浏览器。示例:{ headless: true, args: ['--user-data-dir="C:/Data"'] }allowDangerous(布尔值,可选):允许降低安全性的危险启动选项。当设置为false时,危险参数如--no-sandbox、--disable-web-security将抛出错误。默认值为false。puppeteer_screenshot
name(字符串,必需):屏幕截图的名称selector(字符串,可选):用于屏幕截图的CSS选择器width(数字,可选,默认值:800):屏幕截图宽度height(数字,可选,默认值:600):屏幕截图高度encoded(布尔值,可选):如果设置为true,则以base64编码的数据URI形式(作为文本)捕获屏幕截图,而不是二进制图像内容。默认值为false。puppeteer_click
selector(字符串):要点击的元素的CSS选择器puppeteer_hover
selector(字符串):要悬停的元素的CSS选择器puppeteer_fill
selector(字符串):输入字段的CSS选择器value(字符串):要填写的值puppeteer_select
selector(字符串):要选择的元素的CSS选择器value(字符串):要选择的值puppeteer_evaluate
script(字符串):要执行的JavaScript代码该服务器提供了两种类型的资源访问:
控制台日志 (console://logs)
屏幕截图 (screenshot://<name>)
这是使用Puppeter服务器的Claude Desktop配置:
注意 Docker实现将使用无头Chromium,而NPX版本将打开浏览器窗口。
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e",
"DOCKER_CONTAINER=true",
"mcp/puppeteer"
]
}
}
}
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
快速安装,请使用以下一键安装按钮之一...
手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以通过按Ctrl + Shift + P并键入Preferences: Open User Settings (JSON)来完成此操作。
可选地,您可以将其添加到工作区中的名为.vscode/mcp.json的文件中。这将允许您与其他人员共享配置。
注意,在
.vscode/mcp.json文件中不需要mcp键。
对于NPX安装(打开浏览器窗口):
{
"mcp": {
"servers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
}
对于Docker安装(使用无头Chromium):
{
"mcp": {
"servers": {
"puppeteer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e",
"DOCKER_CONTAINER=true",
"mcp/puppeteer"
]
}
}
}
}
您可以通过两种方式自定义Puppeteer的浏览器行为:
环境变量:在MCP配置的env参数中设置PUPPETEER_LAUNCH_OPTIONS为JSON编码的字符串:
{
"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文件。