Skip to main content
mcp ai agents model context protocol api screenshots webshot automation

Webshot Now Speaks MCP: Screenshots as a Tool for AI Agents

By Webshot Team · · 4 min read

Webshot.site now speaks the Model Context Protocol. If you use Claude Desktop, Cursor, or anything else that talks MCP, your assistant can render a page and look at it directly — no copy-pasting URLs, no describing what you see.

Point your client at it

One line of config, no key, no signup:

{ "mcpServers": { "webshot": { "url": "https://webshot.site/mcp" } } }

The endpoint is https://webshot.site/mcp, JSON-RPC 2.0 over HTTP POST. It exposes a single tool:

capture_sandbox_webshot(url, viewport?, full_page?, format?)

Ask your assistant to "take a screenshot of example.com and tell me what's above the fold" and it will call that tool, get back an image, and answer.

Why it returns a link, not the image

The obvious implementation is to base64 the PNG and hand it straight to the model. We deliberately don't. A modest screenshot is 25–200 KB, which becomes a wall of base64 in the model's context window and crowds out the actual conversation. Most agents can't do anything useful with those bytes anyway.

So the tool returns a short JSON envelope with a link:

{
  "ok": true,
  "image_url": "https://webshot.site/shot/<token>",
  "format": "jpg",
  "mode": "desktop_viewport",
  "bytes": 26600,
  "credits": 1
}

The link is public, session-free and reusable — you can hand it to another tool, drop it in a ticket, or open it yourself. The token is 128 bits of randomness, so it is unguessable, and it is the only thing that authorises access.

You don't need an agent to use this

The same JSON envelope is available over plain HTTP. Add &response=json to a normal capture request:

curl -s 'https://webshot.site/api/capture?url=https://example.com&response=json'

Without that parameter the response is still the raw image, byte for byte as before. Nothing about the existing API changed — this is strictly additive.

Credits, not captures

Worth being precise, because this is the thing people plan around wrongly. The keyless allowance is 5 credits per 15 minutes per IP, and credits are not captures:

  • A viewport capture costs 1 credit
  • A full-page or custom-size capture costs 2
  • The default mode is desktop_full, which is full-page

So a default anonymous call spends 2 credits, and you get two of them per window rather than five. Pass full_page=false (or mode=desktop_viewport over HTTP) to spend 1 and get five. Output format does not affect cost. Your live bucket is always readable at GET /throttle-status.

If you need more, API plans start at $1.99/month and keys are issued immediately at checkout.

One caveat: it is slow, and that is fine

A capture is a real headless-Chrome render — it loads the page, waits for it to settle, and photographs it. That takes 10–60 seconds. Set your MCP client timeout to 90 seconds or more, or you will see spurious failures on perfectly good captures.

In-browser agents too

Pages on this site also register the same tool through document.modelContext, the emerging W3C browser API for exposing page capabilities to AI. That works natively in Edge 147 and in Chrome 149 behind its origin trial. Because the call is same-origin it uses your existing session and quota, which means no API key ever enters the model's context — a property worth having if you are handing tools to something that might quote them back at you.

Safety

The capture runs in an isolated sandbox, and private, loopback and cloud-metadata addresses are refused. Pointing it at a suspicious URL is the intended use: you get to see what a page looks like without your own browser going there.

Docs

Machine-readable documentation for agents lives at /llms.txt, and the full human reference — including the MCP section — is on the developers page.

Written by the Webshot team at Tuxxin

We build and operate the capture engine behind every screenshot on this site.

Try Webshot — it's free

Capture full-page screenshots of any website with no signup, no watermarks, no API key.

Take a Screenshot   View API Docs
Share: 𝕏 Twitter Facebook LinkedIn