Creativity · MCP — server

MCP Puppeteer Server

The MCP Puppeteer Server wraps headless Chrome via Puppeteer as a set of Model Context Protocol tools. An MCP client like Claude Desktop can navigate to URLs, click and type into DOM selectors, take screenshots, and execute JavaScript in the page — the quickest way to give an LLM web-browsing muscle without building a custom crawler.

MCP facts

Kind
server
Ecosystem
anthropic-mcp
Language
TypeScript / Node.js
Transports
stdio

Capabilities

  • Tools: puppeteer_navigate, puppeteer_click, puppeteer_fill, puppeteer_select
  • Tools: puppeteer_screenshot (returns PNG) and puppeteer_evaluate (JS in-page)
  • Resources: console://logs and screenshot:// URIs for the current session
  • Runs an isolated headless Chromium — sandboxes the agent from your real browser

Install

npx -y @modelcontextprotocol/server-puppeteer

Configuration

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

Frequently asked questions

When should I pick Puppeteer MCP over a lightweight fetch server?

Any time the page needs JavaScript to render, needs cookies/login, or the agent has to actually click through a UI. A plain HTTP fetch is faster for static HTML and API calls.

Is it safe to let an LLM drive a real browser?

The server runs its own headless Chromium in a separate profile — it cannot read your normal browser's cookies. Still avoid logging into sensitive accounts with it, and run the server in a sandbox or VM for untrusted targets.

Can it handle authentication walls?

Yes via puppeteer_fill on form selectors, but store credentials outside the prompt (env vars or a dedicated secrets file) and prefer the vendor's API when one exists.

Sources

  1. modelcontextprotocol/servers — puppeteer — accessed 2026-04-20
  2. Puppeteer documentation — accessed 2026-04-20