Puppeteer MCP Server

by Anthropic (MCP reference servers)

Reference Browser Automation

A reference MCP server that drives a headless or visible Chromium browser via Puppeteer — navigation, clicking, form filling, and screenshots — for simpler automation needs than a full test framework.

Add to Claude Code

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

Source: https://github.com/modelcontextprotocol/servers/tree/main/src/puppeteer

About

The Puppeteer MCP server controls a Chromium browser through Google's Puppeteer library, exposing navigation, clicking, form filling, JavaScript evaluation, and screenshot capture as tools an agent can call directly.

It predates Playwright MCP in the reference servers collection and remains a lightweight option when you just need basic page automation without the accessibility-tree tooling Playwright MCP adds.

Key features

  • Navigate, click, and fill forms on live web pages
  • Capture full-page or element screenshots
  • Execute arbitrary JavaScript in the page context
  • Runs headless or with a visible browser window

Use cases

  • Automate a simple, repetitive web task like logging in and downloading a report
  • Capture a screenshot of a page for a visual record or comparison
  • Extract data from a page by evaluating JavaScript directly against the DOM

Available tools

puppeteer_navigate

Navigates to a specified URL.

puppeteer_click

Clicks an element matching a CSS selector.

puppeteer_fill

Fills a form field matching a CSS selector with text.

puppeteer_screenshot

Captures a screenshot of the page or a specific element.

puppeteer_evaluate

Runs arbitrary JavaScript in the context of the page.

Frequently asked questions

Should I use this or Playwright MCP?

Playwright MCP's accessibility-tree approach is generally the sturdier default for new setups. Puppeteer MCP is worth reaching for if you're already standardized on Puppeteer or want CSS-selector-based control.

Can it run without a visible window?

Yes — headless mode is the default, with a visible browser available for debugging.