Back
Marketplace/Puppeteer

TL;DR

Puppeteer is a Browser Automation MCP server that lets Claude Code, Cursor, Windsurf and any MCP-compatible AI agent headless Chrome automation. Install in 1 minute with mcpizy install puppeteer.

🤖

Puppeteer

Verified 6 tools

Browser Automation

Last updated May 30, 2026 · By MCPizy team

Headless Chrome automation

Official homepage

Install Puppeteer

Via MCPizy CLI (recommended):
mcpizy install puppeteer
Or run directly:
npx -y @modelcontextprotocol/server-puppeteer
View on GitHub

Tools exposed

6 tools available
puppeteer_navigate

Navigate to a URL

Inputs

  • urlstringrequired
puppeteer_screenshot

Take a screenshot of the page

Inputs

  • namestringrequired
  • selectorstringoptional
puppeteer_click

Click on an element

Inputs

  • selectorstringrequired
puppeteer_fill

Fill an input field

Inputs

  • selectorstringrequired
  • valuestringrequired
puppeteer_select

Select an option in a dropdown

Inputs

  • selectorstringrequired
  • valuestringrequired
puppeteer_evaluate

Evaluate JavaScript in the page

Inputs

  • scriptstringrequired

Configuration

Works identically across clients. Only the config file path differs.

Claude Code~/.claude.json
{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}
Cursor.cursor/mcp.json
{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}
Windsurf~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}

Authentication setup

  1. 1

    No auth — downloads Chromium on first run

    Get it

What you can do with Puppeteer MCP

Paste any of these prompts into Claude Code, Cursor or another MCP-compatible client.

“Go to hackernews and screenshot the front page”

Uses: puppeteer_navigate, puppeteer_screenshot

“Scrape product titles from example-shop.com”

Uses: puppeteer_navigate, puppeteer_evaluate

Why Puppeteer MCP matters

Puppeteer MCP exposes Puppeteer (Chromium-only browser automation from the Chrome team) as agent tools: `puppeteer_navigate`, `puppeteer_click`, `puppeteer_fill`, `puppeteer_screenshot`, `puppeteer_evaluate`, `puppeteer_select`, `puppeteer_hover`. It's a leaner version of Playwright MCP — Chromium only, no Firefox/WebKit, but with a smaller install footprint and a simpler API surface. The community-maintained Puppeteer MCP is one of the most-used tools in the catalog for quick scrape-and-screenshot tasks.

We use Puppeteer MCP for two workflows. First, quick screenshots for documentation or bug reports — "go to this URL, click this button, take a screenshot" is a 4-tool-call chain that returns a PNG. Second, login-gated scraping where the site is Chromium-friendly and you don't need cross-browser coverage. Token cost is moderate; `puppeteer_evaluate` returns whatever your JS expression returns, so it can be tightly bounded (return just the data you need, not the whole DOM).

Compared to Playwright MCP, Puppeteer is the right pick when you need a lighter footprint, only need Chromium, and prefer the smaller tool count. Playwright wins on reliability of waits, accessibility-tree targeting, and cross-browser. Compared to fetch-based scraping, Puppeteer wins for any site that requires JavaScript execution (most modern SPAs); fetch wins for static HTML. The honest trade-off: Puppeteer's selectors are CSS-based, which breaks more often on rerenders than Playwright's role-based targeting — agents will need more retry logic.

Common pitfalls

`puppeteer_evaluate` is the highest-risk tool — it runs arbitrary JS in page context. Prompt injection from page content can exfiltrate cookies or local storage. Lock down what scripts the agent is allowed to run.

Chromium downloads happen on first MCP launch (~150 MB). On ephemeral agent runners (Docker, Lambda), this can add 30+ seconds to cold-start. Pre-bake the image.

CSS selectors break on rerenders. If the agent clicks `button.submit-btn` today and the class becomes `button.submit-btn-v2` next week, the chain breaks silently. For long-lived scrapers, prefer text-based or attribute-based selectors over class chains.

Headless mode is detected by some anti-bot solutions (Cloudflare Turnstile, PerimeterX). For protected sites, the agent needs to use `headless: false` (visible browser) or a stealth plugin.

How Puppeteer MCP compares

Honest pros/cons against the closest browser automation MCP servers.

ServerStrengthsTrade-offs
Playwright MCPMulti-browser, accessibility-tree targeting, more reliable waitsHeavier install, larger tool count
Browserless MCPManaged Puppeteer as a service, no infraCost per browser-second, network round-trip
fetch MCPFree, zero dependencies, sub-secondNo JavaScript execution — static HTML only

Works with

Claude Code
Claude Desktop
Cursor
Windsurf
VS Code + Copilot
Any MCP Client

More Browser Automation MCPs

🦊

Firefox

Firefox automation via WebDriver BiDi

📺

YouTube Transcript

Fetch YouTube subtitles and transcripts

🚀

Hyperbrowser

Next-generation platform for AI agents and browser automation. Headless browsing at scale.

🎭

GoLogin

Manage GoLogin browser profiles for multi-account automation and anti-detect browsing.

Alternatives to Puppeteer

If Puppeteer doesn't fit your stack, these Browser Automation MCP servers solve similar problems.

🌐

Browserbase

Cloud browser automation for web scraping

🖥️

BrowserMCP

Control your local Chrome browser directly

🧭

Safari

Native Safari automation on macOS

Key Takeaways

  • Puppeteer exposes 6 tools for browser automation workflows in Claude Code, Cursor and Windsurf.
  • Authentication: 1 step (see setup section above).
  • Install in 1 command: mcpizy install puppeteer — config written to your client automatically.
  • Free and open source (GitHub source linked above) — verified compatible with every MCP client (Claude Code, Claude Desktop, Cursor, Windsurf, VS Code + Copilot).
  • Best use case: "Go to hackernews and screenshot the front page".

Frequently asked questions

What is the Puppeteer MCP server?

The Puppeteer MCP server is an Browser Automation Model Context Protocol server that lets Claude Code, Cursor, Windsurf, VS Code with Copilot, and other MCP-compatible AI agents headless Chrome automation. It exposes Puppeteer's capabilities as tools the AI can call directly from your editor or CLI.

How do I install Puppeteer MCP with Claude Code?

The fastest way is the MCPizy CLI: run `mcpizy install puppeteer` and MCPizy will add the server to your `.claude.json` automatically. You can also install it manually by adding an entry under `mcpServers` in `.claude.json` with the command `npx -y @modelcontextprotocol/server-puppeteer` and restarting Claude Code.

Is Puppeteer MCP free?

Yes. The Puppeteer MCP server is free and open source (see the GitHub repository linked on this page). You may still need a Puppeteer account or API key to connect the server to the underlying service, but the MCP layer itself has no MCPizy subscription cost.

Does Puppeteer MCP work with Cursor and Windsurf?

Yes. Any MCP-compatible client works — including Claude Code, Claude Desktop, Cursor (via `.cursor/mcp.json`), Windsurf, VS Code with Copilot Chat, and custom agents built on the MCP SDK. The same install command targets all of them; only the config file path differs.

What can I do with Puppeteer MCP?

Once installed, your AI agent can headless Chrome automation directly inside your conversation. Typical use cases include asking Claude Code or Cursor to run Puppeteer operations, inspect results, chain Puppeteer with other MCP servers (see our Workflow Recipes), and automate repetitive browser automation tasks without leaving your editor.

Manage all your MCPs in one place

Monitor usage, track costs, and discover new MCPs.

Get Started Free