chromium-screenshots
Click on "Deploy 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., "@chromium-screenshotsscreenshot https://app.example.com with auth token injection and DOM extraction"
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.
chromium-screenshots
The missing screenshot service for Vision AI & Auth. Inject auth. Extract DOM. Zero-drift capture. Pixel-perfect Chromium.
⚡ Why this exists
Taking screenshots for Vision AI is hard. If you take a screenshot and then scrape the HTML separately, the page state drifts. Elements move. Popups appear. Your bounding boxes don't match the pixels.
chromium-screenshots guarantees Zero-Drift. It extracts the DOM coordinates (ground truth) and the screenshot (pixels) from the exact same render frame.
Visual Proof

Feature | Standard Tools | chromium-screenshots |
Data Extraction | ❌ Image Only | ✅ Image + DOM + Bounding Boxes |
Quality Control | ❌ None (hope it loaded) | ✅ Quality Score (Good/Low/Poor) |
Auth Injection | ❌ Cookies only | ✅ Cookies + LocalStorage + SessionStorage |
AI Integration | ❌ Manual API calls | ✅ Native MCP Server (Claude/Gemini) |
SPA Support | ❌ Fails on hydration | ✅ Waits for selectors/network idle |
Related MCP server: screenshot-website-fast
🤖 Standardized AI Integration
This tool is a "visual cortex" for your AI agents. It implements the Model Context Protocol (MCP), allowing tools like Claude Desktop to natively control the browser.
screenshot: Returns base64 data for immediate analysis ("What does this button say?").screenshot_to_file: Saves to disk to preserve context window tokens.extract_dom: Returns text + coordinates for ground-truth verification.
Comparison with Alternatives
While many tools exist for browser automation and content extraction, chromium-screenshots is specifically designed to provide high-fidelity observation for AI agents, rather than just raw data or static images.
Tool Category | Examples | Screenshot | Structural Data | Quality Metric | Primary Focus |
Agent Observation | This Repo | ✅ | ✅ (Atomic DOM) | ✅ | AI Reliability & Context |
LLM RAG Scrapers | Firecrawl, Jina | ✅ | ❌ (Markdown) | ❌ | Text extraction for reading |
Screenshot APIs | ScreenshotOne, ApiFlash | ✅ | ❌ (HTML) | ⚠️ (Basic) | Marketing & Archiving |
Performance Audit | Lighthouse CI | ✅ | ✅ (Full DOM) | ✅ | Speed & SEO Audits (Slow) |
Visual Testing | Percy, Chromatic | ✅ | ✅ (Snapshot) | ✅ | Regression Testing (Diffs) |
🚀 Quick Start
Docker (Recommended)
Run the containerized service. No dependencies required.
docker compose up -dThe API is now active at
http://localhost:8000.
Python (Local)
pip install -r requirements.txt
playwright install chromium
uvicorn app.main:app --reload💡 Common Recipes
1. Vision AI Ground Truth
Capture screenshot + DOM data + Quality Score in one call.
curl -X POST "http://localhost:8000/screenshot" \
-H "Content-Type: application/json" \
-d '{
"url": "https://news.ycombinator.com",
"extract_dom": {
"enabled": true,
"selectors": ["span.titleline > a"],
"max_elements": 50
}
}' -o hn_capture.png2. The "Impossible" Auth Shot
Inject localStorage to capture authenticated dashboards (Wasp/Firebase).
curl -X POST "http://localhost:8000/screenshot" \
-H "Content-Type: application/json" \
-d '{
"url": "https://app.example.com/dashboard",
"localStorage": {
"wasp:sessionId": "secret_session_token",
"theme": "dark"
},
"wait_for_selector": ".dashboard-grid"
}' -o dashboard.png3. Vision AI Optimization
Get quality metrics and model compatibility hints for Vision AI integrations.
curl -X POST "http://localhost:8000/screenshot/json" \
-H "Content-Type: application/json" \
-d '{
"url": "https://news.ycombinator.com",
"extract_dom": {
"enabled": true,
"include_metrics": true,
"include_vision_hints": true,
"target_vision_model": "claude"
}
}' | jq '{quality: .dom_extraction.quality, hints: .vision_hints}'📚 Documentation
Detailed references for core features:
API Reference - Full endpoint and parameter guide.
DOM Extraction - How to use ground-truth element coordinates.
Quality Assessment - Understanding extraction quality and warnings.
MCP Server - Integration with Claude Desktop & AI agents.
🧠 How It Works
The Zero-Drift Flow:
Inject Auth: Set
cookies&localStorage.Navigate: Load page and wait for
networkidle.Freeze: Pause execution.
Extract: Scrape DOM positions & Text (JS evaluation).
Audit: Run Quality Detection engine (count elements, check visibility).
Capture: Take screenshot.
Return: Send Image + JSON together.
sequenceDiagram
participant U as 👤 User / Agent
participant A as ⚡ API / MCP
participant B as 🕸️ Chromium
participant Q as 🔍 Quality Engine
U->>A: POST /screenshot (extract_dom=true)
A->>B: Create Context & Inject Auth
B->>B: Navigate & Wait
rect rgb(30, 30, 30)
note right of B: Critical Section
B->>B: Extract DOM (JS)
B->>Q: Assess Quality
Q-->>B: Quality: GOOD
B->>B: Capture Pixels
end
B-->>A: Result (Image + Metadata)
A-->>U: ReturnLicense
This server cannot be deployed
Maintenance
Related MCP Connectors
- mcpOAuthcom.screenshotink
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
Screenshot, PDF and Open Graph image API for AI agents: capture pages, render PDFs, make OG images.
Desktop and mobile website screenshots plus page context for AI agents and automation workflows.
Captured web interfaces, screenshots, flows and structured evidence for AI coding agents.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables AI vision workflows to capture fresh webpage screenshots, specific DOM elements, and timed screencasts, automatically limiting resolution and tiling full pages into 1072x1072 chunks for LLM-friendly processing.-
- FlicenseNot gradedqualityAmaintenanceEnables AI vision workflows and coding tools to capture high-quality webpage screenshots, full-page tiled images, specific DOM elements, and timed screencasts, optionally saved as files or animated WebP.-
- FlicenseNot gradedqualityAmaintenanceEnables capturing pixel-perfect screenshots of web pages or specific DOM elements, automatically tiling full pages into 1072x1072 chunks and recording screencasts as animated WebP for AI vision workflows.-
- AlicenseNot gradedqualityAmaintenanceEnables fast capture of web page screenshots optimized for AI vision workflows, with automatic tiling into 1072x1072 chunks and support for capturing specific DOM elements and screencasts.MIT