Puppeteer MCP Server
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.