MCP server
Let Claude and other agents capture a page, compare two of them, and audit one for accessibility. The capture tools return the image itself, not a link to it — so the model can look at the page it just asked for.
Why that matters
Most screenshot integrations hand an agent a URL and stop there. The model knows a capture happened and cannot see it.
These tools return an MCP image block, so “screenshot this page and tell me what’s broken” finishes in one turn with no fetch step in between.
Install
No install step — your client runs it with npx. You need a getSnap API key; the free tier is 100 captures a month, no card.
Claude Code
claude mcp add getsnap --env GETSNAP_API_KEY=sk_live_... -- npx -y getsnap-mcp
Claude Desktop
In claude_desktop_config.json:
{
"mcpServers": {
"getsnap": {
"command": "npx",
"args": ["-y", "getsnap-mcp"],
"env": { "GETSNAP_API_KEY": "sk_live_..." }
}
}
}
The same block works in any client that speaks MCP over stdio.
Tools
| Tool | Credits | Returns |
|---|---|---|
capture_screenshot | 1 | The image, inline |
capture_pdf | 1 | A link — a PDF cannot be shown to a model |
compare_pages | 2 | Similarity score and the diff overlay, inline |
audit_accessibility | 1 | WCAG violations by severity, with the elements |
check_usage | 0 | Credits used and remaining |
Ask for things in plain language
- “Screenshot stripe.com on mobile and tell me if anything overlaps.”
- “Compare our staging site against production and show me what moved.”
- “Audit example.com for accessibility and list the critical failures.”
- “How many getSnap credits do I have left?”
Three things worth knowing
- Every capture spends a credit, and each tool says so. The cost is written into the tool description, because an agent deciding whether to call something should be able to see what it will cost before it does.
compare_pagescosts two, since it launches a browser per URL. - Large images are not inlined. Past about 1.5 MB the capture still happened and is still on the CDN, so the tool returns the link and explains why. A
full_pagecapture of a long page usually hits this — ask forjpeg, or turnfull_pageoff, to get it inline. - Cached captures cost nothing and say so in the response, so an agent repeating a request does not quietly burn quota.
Configuration
| Variable | Required | Default |
|---|---|---|
GETSNAP_API_KEY | yes | — |
GETSNAP_BASE_URL | no | https://api.getsnap.dev |
Without a key the server exits immediately with a message saying where to get one, rather than starting and failing on the first call.
Free key, 100 captures a month
No card. Works with the MCP server, the REST API, and the Node and Python SDKs.
Get a free API key