Snap Screenshots
Server Details
Screenshot any public web page from an AI agent. Free without signup, or with an API key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: get_quota retrieves allowance information, while take_screenshot performs the rendering action. There is no overlap or ambiguity between them.
Both names follow a consistent snake_case verb_noun pattern: get_quota and take_screenshot. The naming is predictable and easy to understand.
With only two tools, the set feels thin for the stated purpose, though both are essential. The rubric treats 1-2 tools as borderline, so this is not ideal but not severely mismatched.
The core operations of checking quota and taking a screenshot are covered. Minor gaps exist around configurable options like viewport size, output format, or handling of tall-page links, but agents can work around them.
Available Tools
2 toolsget_quotaGet remaining quotaARead-onlyIdempotentInspect
How many screenshots are left: the free daily allowance without a key, or the organisation's monthly allowance with one.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tier | Yes | |
| used | Yes | |
| limit | Yes | |
| period | Yes | |
| resetsAt | Yes | |
| remaining | Yes | |
| networkRemaining | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that — free daily reset for anonymous callers versus the organisation's monthly allowance for authenticated callers — but says nothing about behaviour at exhaustion or whether the call itself is metered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the outcome, with the two allowance variants packed into a single parallel clause. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and a parameterless read tool needs little else. The description covers the one non-obvious aspect (which allowance is reported) and is complete for a definition of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain and the baseline is 4. The description's key/no-key explanation correctly clarifies that the result varies by ambient authentication state rather than by any argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete outcome — how many screenshots remain — for the resource 'quota', which is unambiguous next to the take_screenshot sibling that consumes it. The phrasing is informal (opening with 'How many...' rather than a verb like 'Returns'), so it is slightly less crisp than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
By explaining the key/no-key split, it implies which allowance applies in the caller's situation, which is mild routing guidance. However, it never says when to call this versus just attempting take_screenshot, nor that this should be checked before a batch of screenshots, leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
take_screenshotTake a screenshotARead-onlyIdempotentInspect
Render a public web page in Chromium and return a screenshot. Use fullPage for the whole scrollable page; very tall pages come back as a link instead of an inline image.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL to capture. | |
| width | No | Viewport width in CSS pixels. | |
| format | No | Image format. webp and jpeg are much smaller than png. | webp |
| height | No | Viewport height in CSS pixels. | |
| locale | No | BCP 47 locale, e.g. de-DE. | |
| fullPage | No | Capture the full scrollable page. | |
| waitUntil | No | Navigation event to wait for before capturing. | load |
| timezoneId | No | IANA time zone, e.g. Europe/Berlin. | |
| waitForSelector | No | CSS selector that must appear before capturing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bytes | Yes | |
| cache | Yes | |
| width | Yes | |
| height | Yes | |
| inlined | Yes | |
| imageUrl | Yes | |
| contentType | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, idempotentHint, openWorldHint), so the bar is lowered, and the description still adds real behavior: rendering happens in Chromium and very tall pages return a link rather than an inline image. That output-shape caveat is genuinely useful and not derivable from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the core capability front-loaded and the fullPage caveat immediately after it. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters fully documented in the schema and an output schema present, the description does not need to enumerate parameters or return values. It covers the capability and the notable output caveat, though it stays silent on permissions, rate limits, and the public-URL-only constraint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema for fullPage by explaining the downstream consequence ('very tall pages come back as a link instead of an inline image') rather than merely restating 'Capture the full scrollable page'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Render') and resource ('a public web page in Chromium') and states the outcome ('return a screenshot'). An agent immediately knows this is a headless browser capture tool, and it is clearly distinct from the only sibling, get_quota.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete usage rule ('Use fullPage for the whole scrollable page'), but there is no guidance on when to prefer this tool over alternatives, no prerequisites (e.g. public URLs only is only implied by 'public web page'), and no exclusions. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
get_quota - First observed
take_screenshot
Related MCP Connectors
Free screenshot and webpage capture API. Capture full-page screenshots, specific elements, or PDF snapshots of any URL. No API keys required.
Hosted browser for AI agents: screenshots, post-JS DOM, console, WCAG. No install, no API key.
Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API
Generate images, GIFs, videos, and PDFs from HTML, URLs, or templates — from your AI agent.
Related MCP Servers
- AlicenseAqualityAmaintenanceScreenshot, visual-diff, and AI page-analysis API for AI agents. Capture any URL as PNG, JPEG, WebP, PDF, or HTML, diff two versions of a page to catch visual regressions, and get an AI summary of what a page contains.352 npm1MIT
- AlicenseAqualityCmaintenanceCapture screenshots, generate PDFs, and render HTML to images via AI agents. Supports batch capture, geo-targeting, async webhooks, and CSS/JS injection.1147 npm7MIT
- AlicenseNot gradedqualityCmaintenanceHosted, SSRF-safe, cached screenshots and Open Graph images for AI agents - no headless Chrome to run.34 npmMIT

Grabbitofficial
AlicenseNot gradedqualityCmaintenanceScreenshot MCP for agents. Send a public URL, get a pixel-perfect CDN image. Full page, header, mobile, or custom. Cookie banner suppression. Handles sites that block headless browsers. Works with Claude, Cursor, Codex. $0.002/grab.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.