Puppeteer-Extra MCP 服务器是一个运用 Puppeteer-Extra 与 Stealth 插件来增强浏览器自动化能力的模型上下文协议(Model Context Protocol)服务器。它能让大语言模型(LLM)以更接近人类的行为方式与网页交互,有效避免被识别为自动化程序。
# 克隆仓库
git clone <仓库地址>
cd puppeteer_extra
# 安装依赖项
npm install
# 复制环境文件
cp .env.example .env.development
# 开发模式(非无头浏览器)
npm run dev
# 生产模式(无头浏览器)
npm run prod
npm run build
docker build -t mcp/puppeteer-extra .
docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer-extra
| 工具名称 | 功能 | 输入参数 |
|---|---|---|
| puppeteer_navigate | 浏览器中导航至任意 URL | url (字符串) |
| puppeteer_screenshot | 捕获页面或特定元素的截图 | name (字符串,必填):截图名称selector (字符串,可选):CSS 选择器(用于元素截图)width (数字,可选,默认值:800):截图宽度height (数字,可选,默认值:600):截图高度 |
| puppeteer_click | 点击页面上的元素 | selector (字符串):待点击的元素选择器 |
| puppeteer_hover | 悬停在页面上的元素上 | selector (字符串):待悬停的元素选择器 |
| puppeteer_fill | 填充输入字段内容 | selector (字符串):输入框选择器value (字符串):填充的内容 |
| puppeteer_select | 选择带有 SELECT 标签的元素 | selector (字符串):待选择的元素选择器value (字符串):选择的值 |
| puppeteer_evaluate | 在浏览器控制台中执行 JavaScript 代码 | script (字符串):待执行的 JavaScript 脚本 |
服务器提供两种类型的资源访问:
console://logs):包含浏览器控制台输出的所有文本信息。screenshot://<名称>):页面或元素的 PNG 格式截图图像,可通过截图时指定的名称访问。{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer-extra"]
}
}
}
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "MCP_puppeteer_extra"]
}
}
}
此 MCP 服务器采用 MIT License 开源协议进行许可。