关于 A simple MCP Server for controlling Chrome via Puppeteer
Puppeteer MCP Server 通过 Puppeteer 控制已启用远程调试的 Chromium,供 AI 助手执行浏览器自动化。它还可读取页面原始 DOM 和控制台输出。
主要功能
- 01导航到指定网址
- 02列出已打开标签页网址
- 03使用 CSS 选择器点击元素
- 04截取页面截图
- 05提取 HTML 和控制台输出
适用场景
- 01自动浏览网页并点击控件
- 02检查页面 HTML 内容
- 03排查浏览器控制台错误
MCP 相关
该服务通过 MCP 向客户端提供浏览器自动化工具,并使用 stdin/stdout 管道通信;它通过 Chromium 的远程调试协议连接浏览器。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
服务地址
http://localhost:7742/sse一键复制安装命令
Claude CodeTerminal
claude mcp add --transport http puppeteer http://localhost:7742/sseCursor.cursor/mcp.json
{"mcpServers":{"puppeteer":{"type":"http","url":"http://localhost:7742/sse"}}}在 Cursor 中打开VS Code.vscode/mcp.json
{"servers":{"puppeteer":{"type":"http","url":"http://localhost:7742/sse"}}}在 VS Code 中打开Claude Desktopclaude_desktop_config.json
{"mcpServers":{"puppeteer":{"type":"http","url":"http://localhost:7742/sse"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"puppeteer":{"serverUrl":"http://localhost:7742/sse"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Puppeteer MCP Server
一个通过 Puppeteer 提供浏览器自动化功能并具备智能浏览器管理能力的模型上下文协议(MCP)服务。此服务支持 AI 助手控制 Chromium 浏览器、截取屏幕截图、提取内容并与网页交互。
✨ 与其他实现的主要区别在于,此实现支持访问页面原始 DOM 内容和控制台!
MCP 客户端配置
将以下内容添加到 MCP 客户端配置中:
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@ratiofu/mcp-puppeteer"
]
}
}
}
注意:
- 某些 MCP 客户端支持其他服务配置选项。请查阅 MCP 客户端文档,了解高级配置设置。
- 如果你正在使用其他基于 Puppeteer 的 MCP 服务,可考虑使用
"puppeteer-ratiofu"这样的唯一名称以避免冲突。一次只运行一个 Puppeteer MCP 服务;如果更改了服务名称,请相应更新任何本地 Agent 指引。
可用工具
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
Windows
chromium --remote-debugging-port=9222
工作原理
当 MCP 客户端需要时,此服务会通过 npx 自动下载并运行。无需手动安装!它使用 Chromium 的远程调试协议来控制浏览器。
故障排除
Chromium 连接问题
错误:“无法连接到 Chromium”
请确保已启动 Chromium(见上文)。
你可以在浏览器中打开 http://localhost:9222/json,确认 Chromium 已就绪。
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 客户端直接通信
- Puppeteer Core:无需捆绑浏览器的浏览器自动化
- 自动清理:进程退出时清理浏览器资源
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。