puppeteer-mcp-claude
Health Gecti
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 38 GitHub stars
Code Basarisiz
- execSync — Synchronous shell command execution in bin/cli.mjs
- spawnSync — Synchronous process spawning in bin/cli.mjs
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Browser automation MCP server for Claude, powered by Puppeteer.
puppeteer-mcp-claude
A Model Context Protocol server that gives Claude Code (and any other MCP-aware client) a real browser via Puppeteer — navigate pages, click and type, run JavaScript, capture screenshots, manage cookies, intercept requests.
Install
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/jaenster/puppeteer-mcp-claude/main/install.sh | bash
Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/jaenster/puppeteer-mcp-claude/main/install.ps1 | iex
Both scripts verify Node ≥ 18, install the package globally via npm, and register it with Claude Code at user scope. Override scope with SCOPE=project (bash) or $env:SCOPE='project' (PowerShell).
Manual — if you'd rather not run a remote script:
npm install -g puppeteer-mcp-claude
claude mcp add puppeteer-mcp-claude -- npx -y puppeteer-mcp-claude serve
Then restart Claude Code and ask: "Take a screenshot of example.com".
Tools
You don't have to call puppeteer_launch first — the browser auto-launches with defaults the moment any other tool runs. Page ids default to "default", so single-tab flows can omit pageId entirely.
| Tool | What it does |
|---|---|
puppeteer_launch |
(Optional) launch a browser or connect to an existing Chrome via browserWSEndpoint. Use this for stealth mode, proxies, custom viewport, etc. |
puppeteer_new_page |
Open a new tab. |
puppeteer_navigate |
Go to a URL. |
puppeteer_click |
Click a CSS selector. |
puppeteer_type |
Type into an input. |
puppeteer_get_text |
Read textContent of an element. |
puppeteer_screenshot |
Capture a PNG — returned inline as an MCP image block, optionally also saved to disk. |
puppeteer_evaluate |
Run a JS expression in page context, returns the value. |
puppeteer_wait_for_selector |
Wait until an element appears. |
puppeteer_close_page |
Close a tab. |
puppeteer_close_browser |
Close the whole browser. |
puppeteer_set_cookies / puppeteer_get_cookies / puppeteer_delete_cookies |
Cookie jar management. |
puppeteer_set_request_interception |
Block resources by type or inject request headers. |
Response format
Every tool returns its result in TOON (Token-Oriented Object Notation) for the text body — a compact, schema-aware JSON alternative that costs noticeably fewer tokens than indented JSON. The same data is also exposed as MCP structuredContent for clients that consume it programmatically.
Connecting to an existing Chrome (login state, etc.)
puppeteer-mcp-claude chrome 9222
# then in Claude: puppeteer_launch with browserWSEndpoint: "ws://localhost:9222"
CLI
puppeteer-mcp-claude install [--scope user|project|local] Register with Claude Code
puppeteer-mcp-claude uninstall [--scope ...] Remove from Claude Code
puppeteer-mcp-claude status Show "claude mcp list"
puppeteer-mcp-claude serve Run the MCP server on stdio
puppeteer-mcp-claude chrome [port] [userDataDir] Launch Chrome with remote debugging
puppeteer-mcp-claude help Show help
Development
pnpm install
pnpm build
pnpm test # node:test via tsx, ~165 tests
pnpm dev # run the server directly from src/
Other MCP servers I maintain
- remote-shell-mcp — persistent SSH, SFTP, port forwarding, and Docker over MCP. Long-running daemon so sessions, tunnels, and PTY shells survive across Claude Code / Claude Desktop / Cursor / Codex CLI restarts.
- node-debugger-mcp — real Node.js debugger over MCP. Breakpoints, stepping, scope inspection, eval, source-map-aware BPs, child-process and worker-thread auto-attach. Speaks the V8 Inspector Protocol.
Links
License
MIT
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi