Snapgrab MCP server
URL to screenshot with metadata. Python MCP server. Claude Vision optimized.
0 stars26 downloads/wk
Reviews
Write oneNobody has reviewed Snapgrab yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Snapgrab tools (3)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
capture_comparisonCapture screenshots of the same URL in multiple viewports for comparison.
capture_screenshotCapture a screenshot of a web page and return the file path.
extract_page_metadataExtract page metadata without taking a screenshot.
Public scan report
scanner v0.1.10 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan8 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 166 days ago8/15
- Maintainer identitynamespace and repository owner differ4/10
How Snapgrab compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 75/100
- higher than 45% of 48,255 servers
- Tools
- 3
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 26
- more than 13% of 12,191 servers with a package
What its tools let an agent do: 3 read
Install Snapgrab in Claude Code, Cursor or VS Code
claude mcp add snapgrab -- uvx snapgrab
What the publisher says
From the Snapgrab repository's README, as published. We do not edit it. Read it on GitHub
Snapgrab
한국어 문서 · llms.txt
URL to screenshot with metadata. Claude Vision optimized.
from snapgrab import capture
result = await capture("https://example.com")
print(result.path) # /tmp/snapgrab/example_com_desktop_20260317_120000.png
print(result.metadata.title) # "Example Domain"
print(result.vision_tokens) # ~2764Features
- Screenshot capture — PNG, JPEG, PDF with full-page support
- Page metadata — title, description, Open Graph tags, favicon, HTTP status
- Claude Vision optimized — auto-resize to 1568px, token cost estimation
- Viewport presets — desktop (1920x1080), tablet (768x1024), mobile (375x812)
- MCP server included — 3 tools for Claude Code / MCP clients
- Element capture — screenshot specific CSS selectors
- Dark mode — force light/dark color scheme
Install
pip install snapgrabFirst run will prompt to install Playwright browsers:
playwright install chromiumUsage
Python API
import asyncio
from snapgrab import capture
async def main():
# Basic screenshot
result = await capture("https://example.com")
# Mobile viewport, full page
result = await capture("https://example.com", viewport="mobile", full_page=True)
# Dark mode, JPEG format
result = await capture("https://example.com", dark_mode=True, format="jpeg")
# Specific element
result = await capture("https://example.com", selector="#main-content")
# Custom viewport
result = await capture("https://example.com", viewport=(1440, 900))
asyncio.run(main())CLI
snapgrab https://example.com # basic PNG
snapgrab https://example.com -v mobile -f # mobile, full page
snapgrab https://example.com --format jpeg -q 90 # JPEG quality 90
snapgrab https://example.com -s "#hero" --dark-mode # element + dark mode
snapgrab https://example.com -j # JSON output
snapgrab meta https://example.com # metadata onlyMCP Server
pip install "snapgrab[mcp]"
snapgrab-mcp # starts stdio MCP serverTools:
- capture_screenshot — capture URL with metadata and vision token estimate
- capture_comparison — compare desktop vs mobile (or any viewports)
- extractpagemetadata — metadata only, no screenshot
How It Works
flowchart LR
A["🔗 URL"] --> B["Playwright\nlaunch browser"]
B --> C["📸 Screenshot\nfull page / viewport"]
C --> D["Resize for\nClaude Vision"]
D --> E["✅ Image +\nMetadata"]CaptureResult
result.path # saved file path
result.format # "png", "jpeg", "pdf"
result.width # viewport width
result.height # page height (full_page) or viewport height
result.file_size # bytes
result.vision_tokens # estimated Claude Vision token cost
result.vision_path # path to Vision-optimized image (≤1568px)
result.processing_time_ms
result.metadata.title
result.metadata.description
result.metadata.og_title
result.metadata.og_image
result.metadata.favicon_url
result.metadata.status_code
result.metadata.url # final URL after redirectsUsed in
- watchdeck — Web page monitoring with visual diffs and safety guards
License
MIT
<!-- mcp-name: io.github.QuartzUnit/snapgrab -->
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Snapgrab: common questions
- Is Snapgrab MCP server safe?
- Mostly: it is graded B (75/100). Read the Snapgrab safety report
- How do I install Snapgrab?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Snapgrab need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Snapgrab maintained?
- The last commit was 203 days ago (2026-04-15). The latest release is v0.1.0.
- How does Snapgrab compare with other MCP servers?
- safety score 75/100 (higher than 45% of 48,255 servers); tools 3 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.