Puppeteer MCP Server

MCP server for browser automation using puppeteer-extra and puppeteer-extra-plugin-stealth

Local serverstdio

What is the Puppeteer MCP server?

MCP server for browser automation using puppeteer-extra and puppeteer-extra-plugin-stealth. The puppeteer mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 13 defined tools rather than through you.

What it actually does

A Model Context Protocol server that provides enhanced browser automation capabilities using Puppeteer-Extra with Stealth Plugin. This server enables LLMs to interact with web pages in a way that better emulates human behavior and avoids detection as automation.

  • Enhanced browser automation with Puppeteer-Extra
  • Stealth mode to avoid bot detection
  • Screenshot capabilities for pages and elements
  • Console logging and JavaScript execution
  • Full suite of interaction methods (click, fill, select, hover)

Its toolset

Everything the assistant can do here goes through one of these:

  • puppeteer_navigate — Navigate to any URL in the browser
  • Input — url (string)
  • puppeteer_screenshot — Capture screenshots of the entire page or specific elements
  • Inputs — - name (string, required): Name for the screenshot
  • puppeteer_click — Click elements on the page
  • puppeteer_hover — Hover elements on the page
  • puppeteer_fill — Fill out input fields
  • puppeteer_select — Select an element with SELECT tag
  • puppeteer_evaluate — Execute JavaScript in the browser console
  • Tools — The Tools tool exposed by this server
  • Resources — 1. Console Logs (console://logs) - Browser console output in text format - Includes all console messages from the browser
  • Installation — The Installation tool exposed by this server

Adding it to your client

Installation goes through your MCP client rather than a global install: point it at mcp/puppeteer-extra on a container image and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

When to reach for it

Plenty of browser automation servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Puppeteer's toolset — puppeteer_navigate, Input, puppeteer_screenshot and 10 more — is a fair guide to whether it matches your workflow. It is maintained by gpaul-faldin; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 13 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Puppeteer.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the puppeteer mcp server does with a few real requests.

Available tools

ToolWhat it does
puppeteer_navigateNavigate to any URL in the browser
Inputurl (string)
puppeteer_screenshotCapture screenshots of the entire page or specific elements
Inputs- name (string, required): Name for the screenshot
puppeteer_clickClick elements on the page
puppeteer_hoverHover elements on the page
puppeteer_fillFill out input fields
puppeteer_selectSelect an element with SELECT tag
puppeteer_evaluateExecute JavaScript in the browser console
ToolsThe Tools tool exposed by this server.
Resources1. **Console Logs** (console://logs) - Browser console output in text format - Includes all console messages from the browser
InstallationThe Installation tool exposed by this server.
BuildingThe Building tool exposed by this server.

How to install the Puppeteer MCP server

{
  "mcpServers": {
    "puppeteer": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer-extra"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Example prompts to try

  • Use Puppeteer to puppeteer navigate.
  • Use Puppeteer to Input.
  • Use Puppeteer to puppeteer screenshot.

Frequently asked questions

It connects Puppeteer to MCP-compatible AI assistants such as Claude and Cursor, exposing 13 tools (puppeteer_navigate, Input, puppeteer_screenshot, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Puppeteer directly.