使用说明
木偶MCP服务器
一种模型上下文协议(MCP)服务器,通过具有智能浏览器管理的Puppeteer提供浏览器自动化功能。该服务器使AI助手能够控制Chromium浏览器、截图、提取内容并与网页交互。
✨ 与其他实现相比,此实现的关键区别在于它允许访问页面和控制台的原始DOM内容!
MCP客户端配置
将此添加到MCP客户端配置中:
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@ratiofu/mcp-puppeteer"
]
}
}
}
笔记:
- 一些MCP客户端支持其他服务器配置选项。有关高级配置设置,请参阅MCP客户端的文档。
- 如果您使用的是其他基于Puppeteer的MCP服务器,请考虑使用一个唯一的名称,如
"puppeteer-ratiofu"以避免冲突。一次只能运行一个Puppeteer MCP服务器,如果更改服务器名称,请相应地更新任何本地代理指南。
可用工具
navigate:导航到URLlist_tab_urls:列出所有打开的选项卡URLclick:使用CSS选择器单击元素take_screenshot:捕获页面截图get_html:提取页面HTML内容get_console:检索浏览器控制台输出
先决条件
您需要Chromium在启用远程调试的情况下运行:
macOS
open -a "Chromium" --args --remote-debugging-port=9222
Linux
chromium --remote-debugging-port=9222
视窗
chromium --remote-debugging-port=9222
运作原理
服务器自动下载并通过运行 npx 当您的MCP客户端需要时。无需手动安装!它使用Chromium的远程调试协议来控制您的浏览器。
故障排除
铬连接问题
错误:“无法连接到Chromium”
确保您确实启动了Chromium(见上文)。
您可以通过打开来验证Chromium是否已准备就绪http://localhost:9222/json在您的浏览器中。
MCP客户端问题
服务器没有响应:
- 确保Chromium正在使用调试端口运行(请参阅先决条件部分)
- 检查您的MCP客户端配置是否与示例匹配
- 验证是否安装了Node.js 22+(
node --version)
需要手动测试吗?
echo '{}' | npx @ratiofu/mcp-puppeteer
发展
对于当地发展:
git clone https://github.com/ratiofu/mcp-puppeteer
cd mcp-puppeteer
pnpm install
pnpm run build
pnpm start
开发脚本
pnpm run dev # Auto-rebuild and restart
pnpm run test # Run unit tests
pnpm run test:coverage # Run tests with coverage
pnpm run quality # Full quality pipeline (typecheck + lint + test coverage)
pnpm run lint # Check code with Biome linter
pnpm run lint:fix # Auto-fix linting and formatting issues
pnpm run inspector # Test with MCP Inspector
建筑
- 管道运输:与MCP客户端直接进行stdin/stdout通信
- 木偶核心:无捆绑浏览器的浏览器自动化
- 自动清理:进程退出时清理浏览器资源