一个基于Puppeteer的模型上下文协议(MCP)服务器,提供浏览器自动化功能。该服务器使大型语言模型(LLM)能够与网页交互、截取屏幕截图并在真实浏览器环境中执行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>
)
以下是使用Puppeteer服务器的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文件。