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
- modelcontextprotocol/servers — puppeteer — accessed 2026-04-20
- Puppeteer documentation — accessed 2026-04-20