paparazzi
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@paparazziscreenshot the current tab"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Paparazzi
Chrome extension + MCP server that lets Claude see and debug your browser.
Why?
Playwright and similar tools are great for browser automation, but they're heavyweight for simple debugging tasks. You end up managing headless browsers, writing selectors, and dealing with async waits — just to let an LLM see what's on screen.
Paparazzi takes a simpler approach: it connects to your existing browser session via the Chrome DevTools Protocol. No extra browser instance, no selectors, no waits.
Related MCP server: Puppeteer Debugger MCP Server
Tools
Tool | Description |
| Capture viewport or full page |
| Get console output |
| Inspect XHR/fetch requests |
| Find uncaught JS errors |
| Run JavaScript in page context |
| Get HTML content |
| Web Vitals, memory, DOM stats |
| Cookies, localStorage, sessionStorage |
| Current tab URL/title |
| Reload (supports hard refresh) |
Quick Start
make setup # Install + build + configure ClaudeOr step by step:
pnpm install && pnpm build
make configure # Interactive setup wizardManual Setup
Load extension:
chrome://extensions/→ Developer mode → Load unpacked → selectpackages/extensionAdd to Claude config (or use
make configure):
{
"mcpServers": {
"paparazzi": {
"command": "node",
"args": ["/path/to/paparazzi/packages/mcp-server/dist/index.js"]
}
}
}Restart Claude Desktop or Claude Code
Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ Claude │
│ (Desktop / Code) │
└─────────────────────────────────────────────────────────────────────────┘
│
│ MCP Protocol (stdio)
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ MCP Server │
│ ┌───────────────────┐ ┌─────────────────┐ ┌───────────────────────┐ │
│ │ MCP Tools │ │ Extension Bridge│ │ @modelcontextprotocol│ │
│ │ take_screenshot │ │ WebSocket :9222 │ │ /sdk (stdio) │ │
│ │ get_console_logs │ │ │ │ │ │
│ │ get_network_reqs │ │ │ │ │ │
│ │ evaluate_js │ │ │ │ │ │
│ │ get_dom_snapshot │ │ │ │ │ │
│ └───────────────────┘ └─────────────────┘ └───────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
│
│ WebSocket (port 9222)
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Chrome Extension │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Background Service Worker │ │
│ │ ┌─────────────────────────┐ ┌───────────────────────────┐ │ │
│ │ │ chrome.debugger │ │ chrome.tabs.captureVisible│ │ │
│ │ │ (CDP v1.3) │ │ Tab() │ │ │
│ │ │ • Runtime.consoleAPI │ └───────────────────────────┘ │ │
│ │ │ • Network.* │ │ │
│ │ │ • DOM.getOuterHTML │ │ │
│ │ │ • Performance.metrics │ │ │
│ │ └─────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
│
│ Chrome DevTools Protocol
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Browser Tab │
│ (the page being debugged) │
└─────────────────────────────────────────────────────────────────────────┘Package Structure
packages/
├── mcp-server/ # Node.js MCP server
│ └── src/
│ ├── server.ts # MCP protocol handler
│ ├── tools/ # Tool implementations
│ └── extension-bridge/ # WebSocket client
├── extension/ # Chrome extension
│ └── src/
│ └── background/ # Service worker + CDP debugger
└── shared/ # Shared TypeScript typesDevelopment
pnpm dev:extension # Watch extension
pnpm dev:server # Watch MCP serverCI Checks
pnpm lint # ESLint
pnpm typecheck # TypeScript
pnpm knip # Unused code detection
pnpm test:run # VitestMake Targets
Target | Description |
| Full setup: install + build + configure |
| Interactive wizard to add to Claude config |
| Install dependencies |
| Build all packages |
| Start dev mode (watch) |
| Run MCP server directly |
| Show config snippet for manual copy |
| Remove build artifacts |
| Clean + install + build |
Troubleshooting
Extension not connected: Click extension icon to reconnect
Restricted pages: Can't capture
chrome://,about:, extension pagesPort conflict: Set
PAPARAZZI_PORTenv var, update extension to match
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn MCP server that provides tools for interacting with Chrome through its DevTools Protocol, enabling remote control of Chrome tabs to execute JavaScript, capture screenshots, monitor network traffic, and more.Last updated4753MIT
- AlicenseBqualityCmaintenanceAn MCP server based on Puppeteer and Chrome DevTools Protocol for advanced browser debugging, performance analysis, and memory detection. It enables users to inspect DOM elements, monitor console errors, capture screenshots, and perform heap snapshot analysis through persistent browser connections.Last updated10411MIT
- Flicense-qualityDmaintenanceAn MCP server that captures browser console logs and network requests via the Chrome DevTools Protocol. It allows users to monitor real-time logs, inspect network traffic, and execute JavaScript code directly in the browser context.Last updated
- Alicense-qualityDmaintenanceMCP server for controlling Chromium/Chrome via Chrome DevTools Protocol. Supports cross-platform automation, auto-launch, and automatic reconnection.Last updated1MIT
Related MCP Connectors
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Live browser debugging for AI assistants — DOM, console, network via MCP.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nicksenap/paparazzi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server