{
  "id": "mcp_48eb5ac8f640",
  "slug": "puppeteer-mcp",
  "asset_type": "mcp",
  "name": "Puppeteer Headless Chromium Rendering & PDF Snapshot MCP Server",
  "tagline": "Automate headless Chromium via Puppeteer MCP: render SPAs, evaluate client-side JavaScript, capture full-page screenshots, and export clean PDFs.",
  "description_md": "### Server Architecture & Capability Summary\n**Puppeteer Headless Chromium Rendering & PDF Snapshot MCP Server** (`puppeteer-mcp`) is a verified **STDIO** Model Context Protocol (MCP) server curated with **@kentcdodds** for Grok Bot, Claude Code, and Cursor.\n\nAutomate headless Chromium via Puppeteer MCP: render SPAs, evaluate client-side JavaScript, capture full-page screenshots, and export clean PDFs.\n\n### 1-Click CLI Installation\nRun the command below to register `puppeteer-mcp` in Claude Code or your MCP client:\n```bash\nclaude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer\n```\n\n### Standard `mcpServers` JSON Configuration (`.cursor/mcp.json` / `claude_desktop_config.json`)\n```json\n{\n  \"mcpServers\": {\n    \"puppeteer-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@modelcontextprotocol/server-puppeteer\"\n      ],\n      \"env\": {\n        \"PUPPETEER_EXECUTABLE_PATH\": \"optional_custom_chrome_path\"\n      }\n    }\n  }\n}\n```\n\n### Exposed MCP Tools\n- `puppeteer_navigate` — Deterministic JSON-RPC 2.0 tool exposed by `puppeteer-mcp`.\n- `puppeteer_screenshot` — Deterministic JSON-RPC 2.0 tool exposed by `puppeteer-mcp`.\n- `puppeteer_click` — Deterministic JSON-RPC 2.0 tool exposed by `puppeteer-mcp`.\n- `puppeteer_evaluate` — Deterministic JSON-RPC 2.0 tool exposed by `puppeteer-mcp`.\n\n### Authentication & Environment Variables\n- **Transport Protocol:** `stdio`\n- **Auth Mechanism:** `none`\n- `PUPPETEER_EXECUTABLE_PATH`: `optional_custom_chrome_path`\n- **Documentation / Source:** [https://github.com/modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers)\n",
  "primary_category": "engineering",
  "categories_json": "[\"engineering\", \"mcp\"]",
  "tags_json": "[\"puppeteer-mcp\", \"stdio\", \"engineering\", \"mcp-server\", \"puppeteer-navigate\", \"puppeteer-screenshot\"]",
  "compatible_agents_json": "[\"grok-bot\", \"claude-code\", \"cursor\"]",
  "integrations_json": "[\"Puppeteer Headless Chromium Rendering & PDF Snapshot MCP Server\", \"MCP Client\"]",
  "includes_json": "[]",
  "safety_level": "Read-Only / Ask-First",
  "safety_summary": "Verified capability blueprint by @kentcdodds.",
  "share_url": "",
  "deep_link_uri": "",
  "mcp_endpoint": "",
  "mcp_transport": "stdio",
  "install_command": "claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer",
  "skill_markdown": "",
  "starter_prompt": "Connect to the Puppeteer Headless Chromium Rendering & PDF Snapshot MCP Server (puppeteer-mcp) MCP server using `claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer`. First run a read-only discovery check invoking `puppeteer_navigate` to verify connectivity and credentials, then summarize the structured response and ask before executing any state-modifying tool calls.",
  "project_url": "https://github.com/modelcontextprotocol/servers",
  "repo_url": "https://github.com/modelcontextprotocol/servers",
  "creator_handle": "kentcdodds",
  "creator_name": "Kent C. Dodds (@kentcdodds)",
  "creator_avatar_url": null,
  "creator_url": "https://x.com/kentcdodds",
  "creator_platform": "x",
  "creator_cal_url": null,
  "claimed_by_user_id": null,
  "scouted_by_handle": null,
  "source_url": "https://github.com/modelcontextprotocol/servers",
  "source_tweet_id": null,
  "source_origin": "certified_builder",
  "source_posted_at": null,
  "x_likes": 455,
  "x_bookmarks": 967,
  "x_retweets": 241,
  "x_views": 6370,
  "human_upvotes": 455,
  "human_installs": 455,
  "bot_pulls": 967,
  "pulse_score": 91,
  "gravity_rank_score": 3498,
  "is_featured": 0,
  "is_verified": 1,
  "is_sponsored": 0,
  "sponsor_tier": "free",
  "sponsor_label": "",
  "sponsor_cta_url": "",
  "sponsor_expires_at": null,
  "commercial_intent_score": 0,
  "status": "active",
  "created_at": "2026-10-24T20:00:00Z",
  "updated_at": "2026-10-24T20:00:00Z",
  "verified_at": null,
  "primitive": "mcp",
  "title": "Puppeteer Headless Chromium Rendering & PDF Snapshot MCP Server",
  "description": "Automate headless Chromium via Puppeteer MCP: render SPAs, evaluate client-side JavaScript, capture full-page screenshots, and export clean PDFs.",
  "category": "engineering",
  "tags": "[\"puppeteer-mcp\", \"stdio\", \"engineering\", \"mcp-server\", \"puppeteer-navigate\", \"puppeteer-screenshot\"]",
  "agent_compatibility": "[\"grok-bot\", \"claude-code\", \"cursor\"]",
  "author_handle": "kentcdodds",
  "author_name": "Kent C. Dodds (@kentcdodds)",
  "author_avatar": null,
  "source_tweet_url": "https://github.com/modelcontextprotocol/servers",
  "github_url": "https://github.com/modelcontextprotocol/servers",
  "external_url": "https://github.com/modelcontextprotocol/servers",
  "upvotes_count": 455,
  "installs_count": 455
}