MCP Catalogs
Home

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.

browser-automationweb-scrapingdeveloper-tools
5
Forks
0
Open issues
this month
Last commit
2d ago
Indexed

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:

you:Automated web scraping and data extraction from websites
you:Taking screenshots of web pages for documentation or analysis
you:Automated form filling and website interaction workflows
you:How do I connect to an existing Chrome browser?
you:Can I block certain resources to speed up scraping?

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 README
  • puppeteer_launch

    Launch a browser or connect to an existing Chrome via browserWSEndpoint

  • puppeteer_new_page

    Open a new browser tab

  • puppeteer_navigate

    Navigate to a specific URL

  • puppeteer_click

    Click on a CSS selector element

  • puppeteer_type

    Type text into an input element

  • puppeteer_get_text

    Get text content from an element

  • puppeteer_screenshot

    Take a screenshot of the current page

  • puppeteer_evaluate

    Run JavaScript in the page context

  • puppeteer_wait_for_selector

    Wait for an element to appear on the page

  • puppeteer_close_page

    Close the current browser tab

  • puppeteer_set_cookies

    Set cookies for the current page

  • puppeteer_set_request_interception

    Block resources or inject request headers

Comparable tools

playwright-mcpbrowserless-mcpweb-scraperselenium-mcp

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

GitHub →

Last updated · Auto-generated from public README + GitHub signals.