puppeteer-mcp-claude
by jaenster·★ 38·Score 47
Browser automation MCP server for Claude using Puppeteer to control web pages, capture screenshots, and interact with websites.
Overview
puppeteer-mcp-claude is a comprehensive MCP server that enables Claude Code and other MCP-aware clients to control browsers through the Puppeteer library. It provides tools for navigating pages, clicking elements, typing text, executing JavaScript, capturing screenshots, and managing cookies. The server features automatic browser launching with sensible defaults, structured content responses using TOON format, and various modes for stealth browsing, request interception, and integration with existing Chrome instances. The implementation includes detailed examples and CLI utilities for both development and production use cases.
Try asking AI
After installing, here are 5 things you can ask your AI assistant:
When to choose this
Choose this when you need browser automation within Claude, especially for web scraping, form filling, or testing dynamic JavaScript-driven websites.
When NOT to choose this
Not ideal for production systems requiring high reliability or non-Chromium browsers; opt for dedicated browser automation frameworks instead.
Tools this server exposes
12 tools extracted from the READMEpuppeteer_launchLaunch a browser or connect to an existing Chrome via browserWSEndpoint
puppeteer_new_pageOpen a new browser tab
puppeteer_navigateNavigate to a specific URL
puppeteer_clickClick on a CSS selector element
puppeteer_typeType text into an input element
puppeteer_get_textGet text content from an element
puppeteer_screenshotTake a screenshot of the current page
puppeteer_evaluateRun JavaScript in the page context
puppeteer_wait_for_selectorWait for an element to appear on the page
puppeteer_close_pageClose the current browser tab
puppeteer_set_cookiesSet cookies for the current page
puppeteer_set_request_interceptionBlock resources or inject request headers
Comparable tools
Installation
Install
**macOS / Linux**
curl -fsSL https://raw.githubusercontent.com/jaenster/puppeteer-mcp-claude/main/install.sh | bash**Windows (PowerShell)**
iwr -useb https://raw.githubusercontent.com/jaenster/puppeteer-mcp-claude/main/install.ps1 | iex**Manual installation**
npm install -g puppeteer-mcp-claude
claude mcp add puppeteer-mcp-claude -- npx -y puppeteer-mcp-claude serve**Claude Desktop Configuration** Add to claude_desktop_config.json:
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "puppeteer-mcp-claude", "serve"]
}
}
}FAQ
- How do I connect to an existing Chrome browser?
- Use the `puppeteer_launch` tool with a `browserWSEndpoint` parameter. For example, `puppeteer_launch { browserWSEndpoint: "ws://localhost:9222" }` connects to Chrome running on port 9222.
- Can I block certain resources to speed up scraping?
- Yes, use the `puppeteer_set_request_interception` tool with the `blockResources` parameter. You can block images, media, fonts, stylesheets, and more to speed up page loading during scraping.
Compare puppeteer-mcp-claude with
Last updated · Auto-generated from public README + GitHub signals.