这是一个通过Puppeteer提供全面浏览器自动化能力的Model Context Protocol (MCP)服务器。此服务器允许Claude与网页交互,抓取屏幕截图,执行JavaScript,并完成各种浏览器自动化任务。
想要在Claude Code中实现浏览器自动化?运行这个命令:
claude mcp add puppeteer-mcp-claude
替代方法 - 适用于Claude Desktop和Claude Code:
npx puppeteer-mcp-claude install
就这样! 安装程序会自动:
然后重启你的Claude应用并询问:“抓取google.com的屏幕截图”来测试一下!
| 工具 | 描述 |
|---|---|
puppeteer_launch | 启动一个新的浏览器实例 |
puppeteer_new_page | 创建一个新的浏览器标签页 |
puppeteer_navigate | 导航到一个URL |
puppeteer_click | 点击一个元素 |
puppeteer_type | 在输入字段中输入文本 |
puppeteer_get_text | 从元素中提取文本 |
puppeteer_screenshot | 抓取屏幕截图 |
puppeteer_evaluate | 执行JavaScript代码 |
puppeteer_wait_for_selector | 等待一个元素出现 |
putter_close_page | 关闭特定的标签页 |
puppeteer_close_browser | 关闭整个浏览器 |
只需一个命令即可在所有Claude应用中获得浏览器自动化功能:
npx puppeteer-mcp-claude install
自动处理以下步骤:
跨平台检测:
~/Library/Application Support/Claude/ (Desktop) + ~/.claude/ (Code)~/.config/Claude/ (Desktop) + ~/.claude/ (Code)~/.claude/ (仅限Code)安装后:
无需手动配置! 安装程序会在所有平台上处理一切。
如果你更喜欢手动安装:
全局安装包:
npm install -g puppeteer-mcp-claude
配置Claude Code:
puppeteer-mcp-claude install
为了开发或贡献:
克隆并安装依赖项:
git clone https://github.com/jaenster/puppeteer-mcp-claude.git
cd puppeteer-m
npm install
构建项目:
npm run build
使用本地设置脚本:
npm run setup-mcp
| 命令 | 描述 |
|---|---|
npx puppeteer-mcp-claude install | 安装并配置Claude Desktop & Code |
npx puppeteer-mcp-claude uninstall | 从所有Claude应用中移除 |
npx puppeteer-mcp-claude status | 检查所有应用中的安装状态 |
npx puppeteer-mcp-claude help | 显示帮助和可用工具 |
使用Claude Code内置的MCP管理进行配置:
claude mcp add puppeteer-mcp-claude
编辑或创建 ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"puppeteer-mcp-claude": {
"command": "npx",
"args": ["puppeteer-mcp-claude", "serve"],
"env": {
"NODE_ENV": "production"
}
}
}
}
npm run test:integration
你应该能看到Puppeteer工具列在可用工具中。
// 启动浏览器
await puppeteer_launch({ headless: false });
// 创建一个新的页面
await puppeteer_new_page({ pageId: "main" });
// 导航到一个网站
await puppeteer_navigate({
pageId: "main",
url: "https://example.com"
});
// 抓取屏幕截图
await puppeteer_screenshot({
pageId: "main",
path: "screenshot.png"
});
// 在搜索框中输入文本
await puppeteer_type({
pageId: "main",
selector: "input[name='search']",
text: "Claude AI"
});
// 点击按钮
await puppeteer_click({
pageId: "main",
selector: "button[type='submit']"
});
// 等待结果加载
await puppeteer_wait_for_selector({
pageId: "main",
selector: ".search-results"
});
// 从元素中提取文本
await puppeteer_get_text({
pageId: "main",
selector: "h1"
});
// 执行自定义JavaScript
await puppeteer_evaluate({
pageId: "main",
script: "document.querySelectorAll('a').length"
});
headless: 在无头模式下运行浏览器(默认:true)args: Chrome参数数组(例如,["--disable-web-security"])waitUntil: 导航等待条件
load: 等待加载事件domcontentloaded: 等待DOM内容加载networkidle0: 等待没有网络活动networkidle2: 等待最多2个网络连接path: 保存截图的文件路径fullPage: 捕获完整的页面滚动高度(默认:false)| 命令 | 描述 |
|---|---|
npm run setup-mcp | 自动配置MCP服务器 |
npm run remove-mcp | 移除MCP服务器配置 |
npm run status-mcp | 检查当前配置状态 |
npm run test:integration | 测试MCP服务器集成 |
Claude Code看不到工具:
claude_desktop_config.json中的路径是否正确npm run status-mcp验证MCP服务器是否配置正确“浏览器未启动”错误:
puppeteer_launch元素未找到错误:
puppeteer_wait_for_selector权限错误:
ts-node是否已安装且可访问为了调试,你可以运行开发模式下的服务器:
npm run dev
这将显示所有MCP操作的详细日志。
运行测试套件以验证一切是否正常:
npm test
对于与Claude Code的集成测试:
npm run test:integration
ts-node)如果你遇到问题:
npm run status-mcp验证配置npm run test:integration如需更多帮助,请参阅Claude Code MCP文档。