MCP Verdict
Home/Servers/Browser Automation/Puppeteer MCP Server
Server profile

Puppeteer MCP Server

The Puppeteer MCP server is a browser automation server for the Model Context Protocol (MCP). It connects AI assistants to a Chromium browser for page navigation, element interaction, screenshot capture, and JavaScript execution. The MCP project archived the official package in May 2025.


Puppeteer MCP Server Browser Automation · Model Context Protocol reference server Status: Archived


MCP Verdict

AttributeMCP Verdict
RecommendationNot recommended for new projects
Best forNarrow Chromium-only legacy workflows
Main concernNo security patches, no specification updates, Puppeteer 23 dependency line
Primary alternativePlaywright MCP server (@playwright/mcp)

At a Glance

AttributeValue
Package@modelcontextprotocol/server-puppeteer
Original authorAnthropic, PBC
Current maintainerNone (archived)
npm statusDeprecated
Last version2025.5.12
LicenseMIT
Transportstdio
Browser enginesChromium only
Tools7
Resources2
MCP authenticationNone (local process)
Browser authenticationSession-dependent (browser may hold cookies, credentials)
Repositorymodelcontextprotocol/servers-archived

What Does the Puppeteer MCP Server Do?

The Puppeteer MCP server translates agent requests into Chromium browser actions through the Model Context Protocol. It wraps Google’s Puppeteer library and exposes browser capabilities as MCP tool definitions. Any compatible MCP client discovers and calls these tools.

What Capabilities Does Puppeteer MCP Add to an Agent?

Puppeteer MCP adds live browser interaction to an agent’s capability surface.

Puppeteer MCP capabilityResult
Browser navigationOpen and render live URLs
DOM interactionClick, fill, select, and hover on rendered elements
Screenshot captureRecord visual browser state
JavaScript executionEvaluate code in the current page context

The server connects the agent to a real Chromium browser instance. The agent sees and interacts with web pages the way a user does, through rendered HTML rather than raw source.

What Tools Does the Puppeteer MCP Server Expose?

The server exposes 7 tools grouped into 4 capability categories.

Navigation

ToolAction
puppeteer_navigateNavigate the browser to any URL

Observation

ToolAction
puppeteer_screenshotCapture the full page or a specific element
puppeteer_hoverHover over an element identified by CSS selector

Interaction

ToolAction
puppeteer_clickClick an element identified by CSS selector
puppeteer_fillEnter text into an input field
puppeteer_selectChoose an option from a dropdown menu

Execution

ToolActionImpact
puppeteer_evaluateExecute arbitrary JavaScript in the current browser page contextHigh

The server exposes 2 resources alongside these tools:

ResourcePurpose
console://logsAccess captured browser console output
screenshot://<name>Retrieve stored screenshots by name

Why Was the Puppeteer MCP Server Archived?

The MCP project archived the Puppeteer MCP server as part of a broader effort to reduce reference-server maintenance. The project concentrated resources on a smaller set of core servers. The MCP maintainer confirmed this rationale in May 2025 when the server moved to the servers-archived repository.

The archived servers repository confirms that archived reference implementations receive no maintenance, no security updates, and no bug fixes.

The MCP project does not designate a specific official replacement for the Puppeteer MCP server. The archived repository recommends checking alternatives without naming one.

MCP Verdict interpretation: The archive coincided with the rise of Playwright MCP as a stronger actively maintained browser automation option. Playwright MCP provides cross-browser support, accessibility-tree navigation, and first-party Microsoft maintenance. MCP Verdict recommends Playwright MCP for most new browser automation deployments based on current capabilities and maintenance status, not an official migration declaration.

Archive timeline:

DateEventSource
November 2024Puppeteer MCP published as reference serverDocumented
May 2025Server moved to servers-archived repositoryDocumented
May 2025npm package marked deprecatedDocumented
May 2025MCP maintainer cites maintenance overheadGitHub Issue #749

How Does Puppeteer MCP Compare to Playwright MCP?

Puppeteer MCP exposes CSS-selector-based Chromium-only automation. Playwright MCP exposes accessibility-tree navigation across multiple browser engines.

AttributePuppeteer MCPPlaywright MCP
PublisherMCP project (archived)Microsoft (active)
StatusArchived, deprecated on npmActive
Browser enginesChromium onlyChromium, Firefox, WebKit
Selector modelCSS selectorsAccessibility tree (structured text)
Default tool count724 (snapshot mode)
Package@modelcontextprotocol/server-puppeteer@playwright/mcp
Mobile emulationNoYes
Network interceptionNoYes

Playwright MCP uses structured accessibility snapshots instead of CSS selectors. This gives models semantic element references and reduces dependence on raw DOM selectors. Microsoft describes accessibility snapshots as structured, deterministic, and optimized for language model consumption.

MCP Verdict interpretation: Playwright MCP is the stronger general-purpose choice for new browser automation deployments. Puppeteer MCP retains a smaller tool surface and remains simpler for narrow legacy Chromium workflows. A full comparison is available on the Puppeteer MCP vs Playwright MCP page when published.


What Is the Blast Radius of the Puppeteer MCP Server?

The blast radius defines what the Puppeteer MCP server can affect when an agent makes a bad decision. Browser automation tools interact with live web applications through the UI. A tool named click can click a delete button, a purchase button, or a send button.

CapabilityAccess
Read public web dataYes
Read authenticated web dataPossible with authenticated browser state
Modify remote application stateYes (through web UI interactions)
Delete remote dataPossible through web UI actions
Execute page JavaScriptYes
Direct OS code executionNo documented tool
Direct filesystem accessNo dedicated tool
Access networkYes
Access local/private networkPossible unless externally restricted
Send messagesPossible through web applications
Trigger financial actionsPossible through web applications

Highest-impact realistic consequence: An agent executing puppeteer_evaluate runs arbitrary JavaScript in any page the browser navigates to. Combined with puppeteer_navigate, the agent reaches internal network targets (localhost services, admin panels, cloud metadata endpoints) and executes scripts in those contexts.

The server accepts ALLOW_DANGEROUS: true as an environment variable. This setting permits browser launch arguments that reduce default Chrome security protections, such as --no-sandbox and --disable-web-security. This behavior is documented in the package README.

MCP Verdict recommendation: Leave ALLOW_DANGEROUS disabled unless the workflow explicitly requires unsafe Chrome launch arguments. This setting does not provide a complete security boundary for browser navigation.


What Breaks When You Use an Archived MCP Server?

Archived MCP servers receive no security patches, no specification updates, and no dependency maintenance. The servers-archived SECURITY.md confirms this explicitly.

Failure conditionEvidenceDetail
No security patchesservers-archived SECURITY.mdVulnerabilities in the server code or its dependencies remain unpatched.
Puppeteer dependency driftDocumented: package.jsonThe package declares puppeteer ^23.4.0, keeping resolution within major version 23. Current Puppeteer is on major version 25.
Stale MCP SDK dependency2026 dependency auditThe published package resolves @modelcontextprotocol/sdk 1.0.1. Current SDK versions have advanced.
No MCP specification updatesDocumentedThe server predates OAuth 2.1, streamable HTTP transport, MCP Apps, and the extensions track. It supports stdio transport only.
Client transport incompatibilityDerived by MCP VerdictRemote MCP clients requiring streamable HTTP cannot connect. The server supports stdio only, limiting it to local deployments.
Container sandbox failuresReportedDocker deployments require --no-sandbox and --disable-setuid-sandbox flags. Missing flags cause silent launch failures.
Oversized screenshot payloadsReportedFull-page screenshots of complex sites produce large base64 payloads. Clients with strict message-size limits may reject the response.

MCP Verdict interpretation: The archived server functions for local, short-lived, non-sensitive tasks. Production deployments, authenticated sessions, and security-sensitive environments face elevated risk from unpatched dependencies and missing specification support.


What Is the Agent Cost of Using the Puppeteer MCP Server?

The server exposes a small tool surface compared to other browser automation MCP servers. Fewer tools consume less context window. MCP Verdict measured the tool-definition cost at 665 tokens (cl100k_base tokenizer, compact JSON serialization, version 2025.5.12).

AttributeValue
Tools exposed7
Resources exposed2
Tool-definition tokens665 (measured by MCP Verdict)
Interaction tools3 (click, fill, select)
High-impact tools1 (evaluate)
Typical screenshot outputLarge (full-page base64 image)
Tool surface classificationSmall

Per-tool token cost (measured by MCP Verdict, cl100k_base tokenizer):

ToolTokensParameters
puppeteer_navigate150url, launchOptions, allowDangerous
puppeteer_screenshot170name, selector, width, height, encoded
puppeteer_click61selector
puppeteer_fill79selector, value
puppeteer_select84selector, value
puppeteer_hover61selector
puppeteer_evaluate60script
Total66515 parameters across 7 tools

Comparison: tool count across browser MCP servers

ServerDefault toolsTool-definition tokens
Puppeteer MCP7665 (measured by MCP Verdict)
Playwright MCP24 (snapshot mode)Not yet measured by MCP Verdict
Chrome DevTools MCP15+Not yet measured by MCP Verdict

MCP Verdict interpretation: The Puppeteer MCP server has the smallest tool-definition footprint of any browser automation MCP server. 665 tokens is negligible context overhead. The real cost comes from screenshot output, not tool definitions. A single full-page screenshot as base64 can consume thousands of tokens. Clients with eager tool loading pay almost nothing for Puppeteer MCP’s definitions.


Do You Need MCP for Browser Automation?

MCP adds value when the agent needs interactive, multi-step browser control across different client environments. MCP adds overhead when the task is deterministic and the agent can write scripts directly.

SituationMCP Verdict choice
Agent needs interactive browser control across clientsPlaywright MCP
Coding agent writes browser scripts directlyPlaywright CLI or Puppeteer library (no MCP overhead)
Chrome-specific deterministic automationPuppeteer library directly
Chrome debugging and performance analysisChrome DevTools MCP
Existing Puppeteer MCP workflow that still functionsKeep temporarily, plan migration

Playwright’s own documentation notes that coding agents may benefit from CLI and Skills instead of MCP for token efficiency. This is a strong signal. Browser MCP adds the most value when the agent needs stateful, multi-step browser loops rather than one-shot script generation.


Does the Puppeteer MCP Server Still Work?

The npm package remains installable. Running npx -y @modelcontextprotocol/server-puppeteer still downloads and starts the server. The npm registry marks the package as deprecated but does not block installation.

MCP Verdict has not independently verified current runtime compatibility. The package installs, but startup and client discovery require runtime testing. Successful browser automation depends on current client versions and operating systems.

The deprecated package continues receiving substantial npm downloads despite the deprecated label. CI pipelines, reinstalls, bots, and dependent packages contribute to download counts. Download volume does not directly indicate active human usage.


How Can Existing Users Run the Archived Puppeteer MCP Server?

Existing users with working Puppeteer MCP installations can continue running the archived server. This section covers the official archived package. Community projects appear in the next section.

⚠ Archived: shown for existing installations and migration planning only.

Prerequisites:

RequirementCheck command
Node.js 18+node --version
npmnpm --version

Claude Desktop configuration:

OSConfig path
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-puppeteer"],
      "env": {}
    }
  }
}

Save the file. Quit Claude Desktop completely (Cmd+Q on macOS, system tray quit on Windows). Reopen the application. Closing the window does not restart MCP servers.

Claude Code:

claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer

Cursor:

Create or edit .cursor/mcp.json in the project root.

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
    }
  }
}

What Community Puppeteer MCP Projects Exist?

Community developers maintain Puppeteer-based MCP server projects. These are separate entities from the official archived server. They share the Puppeteer library dependency but differ in tool count, features, and maintenance.

MCP Verdict has not independently validated these projects. They do not receive Anthropic or MCP project security reviews.

puppeteer-mcp-server

AttributeValue
MaintainerCommunity (merajmehrabi)
Packagepuppeteer-mcp-server
Tools7+ (mirrors official set)
Existing Chrome connectionYes (remote debugging port)
LicenseMIT

puppeteer-mcp-claude

AttributeValue
MaintainerCommunity (jaenster)
Packagepuppeteer-mcp-claude
Tools11
Auto-installerYes (npx puppeteer-mcp-claude install)
Cookie managementYes
Request interceptionYes
LicenseMIT

Community alternatives exist, but MCP Verdict recommends Playwright MCP as the stronger first-party-maintained option for most new deployments.


What Replaced the Puppeteer MCP Server?

3 alternatives serve the workflows the Puppeteer MCP server covered. Playwright MCP, Chrome DevTools MCP, and the raw Puppeteer library each address different use cases.

Playwright MCP Server

AttributeValue
PublisherMicrosoft
Package@playwright/mcp
StatusActive
Browser enginesChromium, Firefox, WebKit
Best forCross-browser automation, accessibility-tree navigation, CI pipelines

The Playwright MCP server is the strongest actively maintained browser automation MCP server. It provides cross-browser support, mobile emulation, and network interception.

Chrome DevTools MCP

AttributeValue
PublisherGoogle Chrome DevTools team
Packagechrome-devtools-mcp@latest
StatusActive
Browser enginesChrome
Best forBrowser automation with debugging, performance traces, console inspection, network analysis

The Chrome DevTools MCP server exposes both automation and debugging capabilities. It provides click, fill, hover, type, upload, and navigation tools alongside console, network, and performance inspection. It covers a broader capability surface than the archived Puppeteer MCP server.

Raw Puppeteer Library (No MCP)

AttributeValue
PublisherGoogle
Packagepuppeteer (major version 25)
StatusActive
Best forDeterministic scripts, PDF generation, Chrome-specific automation without agent overhead

The Puppeteer library itself remains actively maintained. Developers who need Chrome-specific automation without MCP agent overhead use the library directly. A Puppeteer script executes deterministically. An MCP-mediated workflow depends on the model’s reasoning about which tools to call.


Who Should Still Use the Puppeteer MCP Server?

Existing users with narrow Chromium workflows remain the strongest fit for the archived Puppeteer MCP server. New projects have stronger actively maintained alternatives.

Good Fit

UserWorkflowReason
Developer with existing working configChrome-only scraping or screenshot tasksWorking setup, migration not urgent for non-sensitive tasks
CSS selector workflow ownerAutomation scripts with explicit CSS selectorsAccessibility-tree migration requires rewriting selector logic

Poor Fit

UserWorkflowReason
Developer starting a new projectAny browser automationPlaywright MCP provides better browser coverage and active maintenance
CI pipeline builderMulti-browser end-to-end testingPuppeteer MCP supports Chromium only
Security-conscious teamAuthenticated sessions, internal toolsNo security patches, unpatched dependency chain
Enterprise environmentProduction browser automationArchived dependency creates compliance risk
Mobile testing teamMobile viewport and emulationPuppeteer MCP does not support mobile emulation

What Does the README Not Tell You?

The deprecated package continues receiving substantial npm downloads despite the deprecated label. CI pipelines, reinstalls, and tutorial-following developers contribute to this volume.

The archived server remains on the Puppeteer 23 dependency line. Current Puppeteer has advanced to major version 25. The package.json declares puppeteer ^23.4.0, keeping dependency resolution within Puppeteer major version 23.

The published package resolves @modelcontextprotocol/sdk 1.0.1. Current MCP SDK versions have advanced. A 2026 dependency review flagged this as a concern.

The MCP project does not designate Playwright MCP as the official replacement for Puppeteer MCP. The archived repository README recommends checking alternatives without naming one. MCP Verdict recommends Playwright based on current capabilities and maintenance, not an official migration declaration.


What Is the MCP Verdict for the Puppeteer MCP Server?

The Puppeteer MCP server introduced thousands of developers to MCP-mediated browser control. The MCP project archived it to reduce maintenance overhead. The server still installs and functions for narrow Chromium-only tasks.

AttributeMCP Verdict
RecommendationNot recommended for new projects
Best forNarrow Chromium-only legacy workflows where migration is not yet justified
Main concernArchived with no security patches, Puppeteer 23 dependency line, no MCP specification updates
Best alternativePlaywright MCP server (@playwright/mcp)

Every new browser automation project benefits from starting with Playwright MCP or Chrome DevTools MCP instead. Existing Puppeteer MCP installations that function correctly can continue temporarily while planning migration.


Sources

  1. @modelcontextprotocol/server-puppeteer: npm registry, deprecated notice, version 2025.5.12
  2. servers-archived README: archive status, maintenance disclaimer
  3. servers-archived SECURITY.md: no security updates, no vulnerability patches
  4. GitHub Issue #749: MCP maintainer cites maintenance overhead as archive reason
  5. @playwright/mcp: npm registry, current version, release history
  6. Playwright MCP README: accessibility snapshots, browser support, CLI vs MCP guidance
  7. Playwright getting-started-mcp.md: CLI and Skills recommendation for token efficiency
  8. puppeteer-mcp-server: community fork, tool list, remote debugging support
  9. puppeteer-mcp-claude: community fork, 11 tools, auto-installer
  10. Puppeteer: npm registry, current major version 25
  11. GitHub Issue #4118: 2026 dependency audit, SDK 1.0.1 resolution, security concerns