Snap Screenshots
Server Details
Screenshot any public web page from an AI agent. Free without signup, or with an API key.
- Status
- Healthy
- Uptime
- 99.7% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: one queries remaining screenshot quota and the other captures a screenshot. There is no overlap or risk of misselection.
Both names follow a consistent snake_case verb_noun pattern (get_quota, take_screenshot). The convention is predictable and readable.
Two tools is on the thin side, but the service has a narrow, focused purpose (capture a screenshot, check quota), so both tools earn their place. Slightly minimal but reasonable for the scope.
The core lifecycle of a screenshot service—capture and quota check—is covered, with parameters like fullPage handled in the description. Minor gaps exist (no viewport/format options or history/delete), but agents can work around these.
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, e.g. 'https://example.com'. | |
| 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 declare readOnlyHint, openWorldHint and idempotentHint, so the safety profile is covered. The description adds value the annotations do not: very tall pages are returned as a link rather than an inline image, and only 'public' pages are supported, which warns the agent away from auth-walled targets.
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, zero filler, with the core capability front-loaded and the caveat immediately after. Every clause carries information an agent needs.
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 an output schema present, return values need not be described, and the annotations cover safety. The description covers the notable edge case (tall pages) and the public-URL constraint; only rate limits or timeout/error behavior are absent, which is minor for a 9-param read tool.
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 description coverage is 100%, so the baseline is 3. The description goes beyond the schema by explaining the semantic consequence of fullPage (whole scrollable page) and the tall-page fallback, which the schema's terse 'Capture the full scrollable page.' does not convey.
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?
States a specific verb (Render) and resource (public web page) plus the concrete artifact returned (a screenshot), and the Chromium engine detail disambiguates it from any generic HTTP fetch. The only sibling, get_quota, is unrelated, so no sibling differentiation is needed.
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?
The second sentence gives real guidance for the fullPage parameter ('Use fullPage for the whole scrollable page'), but that is parameter-level advice rather than tool-selection guidance. There are no alternatives to route between, so usage is only implied from the tool's name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
Screenshot API for AI agents. Any public page as image or PDF, banners hidden, 227 countries.
Screenshot, PDF and Open Graph image API for AI agents: capture pages, render PDFs, make OG images.
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.
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.343 npm1MIT
- AlicenseAqualityBmaintenanceCapture screenshots, generate PDFs, and render HTML to images via AI agents. Supports batch capture, geo-targeting, async webhooks, and CSS/JS injection.1149 npm6MIT
- AlicenseNot gradedqualityDmaintenanceHosted, SSRF-safe, cached screenshots and Open Graph images for AI agents - no headless Chrome to run.9 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.