Install the MCP server
You need a Site-Shot API key, and the key needs a paid API plan — captures draw on that account's own API allowance. Your key is in the dashboard, and pricing lists the plans. The browser capture tool is free and needs no account, but it issues no API key: there is no free API tier.
Choose the setup guide for your client:
- Claude Code plugin guide — Claude Code prompts you for the key.
- Codex CLI plugin
guide — Codex reads
SITESHOT_API_KEYfrom the session environment.
Other clients that support local stdio MCP servers — Claude Desktop, Cursor, Cline — can use this manual configuration:
{
"mcpServers": {
"site-shot": {
"command": "npx",
"args": ["-y", "site-shot-mcp"],
"env": { "SITESHOT_API_KEY": "YOUR_API_KEY" }
}
}
}
One route per client: the plugin and this manual entry are two configurations of the same server, not two steps.
Then ask your agent to “take a full-page screenshot of example.com” — it gets the
image back inline. Two tools: capture_screenshot and capture_full_page.
Why Site-Shot for agents
- Cleaner input for the model. Automatic ad + cookie-banner removal
(
no_ads,no_cookie_popup) means the screenshot shows the page, not a consent dialog. It does not shrink the token bill — vision models charge by image dimensions — so choose the viewport for that. - Real Chromium. Pages render exactly as a real visitor sees them — JS, fonts, lazy-loaded images.
- Full-page capture up to 20,000px, or precise viewport/device sizing.
- See the world's web. Country-specific proxies set IP, language, time zone, and geolocation.
- One call, image back. No browser cluster to run, no SDK required — or install an
official SDK (
npm install site-shot-sdk,pip install site-shot) if you're writing JavaScript or Python.
Four ways to connect
| Method | For | How |
|---|---|---|
| MCP server | Claude Code, Codex CLI, Claude Desktop, Cursor, Cline, LangChain, CrewAI | Plugin or npx -y site-shot-mcp |
| Official SDKs | Node.js / TypeScript and Python agents and scripts | npm install site-shot-sdk · pip install site-shot |
| GPT Actions / OpenAPI | Custom GPTs, OpenAPI clients | /openapi.json |
| Plain HTTP API | Any language / framework | See the API schema (example below) |
Works with: Claude Code · Codex CLI · Claude Desktop · Cursor · Cline · LangChain · CrewAI · OpenAI GPTs · n8n · any client that runs a local stdio MCP server.
Guides: AI agent vs. screenshot API — who should capture the page · Best screenshot MCP servers in 2026 · Screenshots for AI agents over MCP · 8-tool screenshot API comparison.
Discovery entry points
Use these URLs to discover and integrate Site-Shot from AI agents and agent runtimes.
/llms.txt— concise Markdown discovery file./llms-full.txt— combined Markdown context for longer agent reads./openapi.json— GPT Actions-ready OpenAPI schema./openapi-capture.json— OpenAPI schema for the screenshot capture endpoint itself./api/v1/agent/plans/— public plan discovery endpoint./api/v1/agent/docs/*.md— focused Markdown pages for pricing, signup, auth, billing, usage, screenshot API, SDKs, security, and API key handling./.well-known/ai-plugin.json— legacy ChatGPT plugin-compatible manifest pointing to OpenAPI./.well-known/agent-card.json— agent card describing Site-Shot capabilities./.well-known/agent.json— compatibility alias for agent runtimes that look for this well-known agent manifest path.
Recommended agent flow
- Read
/llms.txtand the relevant Markdown docs. - Import
/openapi.jsoninto GPT Actions or another OpenAPI-compatible agent runtime. - List public plans, start email-gated signup, and let the user confirm setup on Site-Shot.
- Authorize with OAuth scopes, create a Stripe Checkout session, and let the user confirm payment in Stripe.
- Read usage/subscription status and reveal the screenshot API key only through the explicit API-key action.
Security boundaries
Agents do not collect card details. Payments are confirmed by the user in Stripe Checkout.
The full screenshot API key is never returned in generic profile or status calls; it requires the explicit
api_key:read scoped action.
Quick start
Once a screenshot API key is revealed, capture a full-page screenshot with a single request.
The capture API is one GET endpoint — https://api.site-shot.com/ —
and it authenticates with the userkey query parameter, not an
Authorization header. Every parameter is listed in
/openapi-capture.json.
curl -G --fail 'https://api.site-shot.com/' \
--data-urlencode 'url=https://example.com/' \
--data-urlencode "userkey=$SITESHOT_API_KEY" \
--data-urlencode 'width=1280' \
--data-urlencode 'full_size=1' \
--data-urlencode 'format=png' \
--data-urlencode 'response_type=image' \
--output screenshot.png
FAQ
Is there a screenshot MCP server?
Yes — Site-Shot ships an open-source MCP server (site-shot-mcp) that gives Claude and
other AI agents two tools to capture website screenshots, with real Chromium rendering and automatic
ad/cookie-banner removal.
How do I give Claude the ability to take screenshots?
Add the Site-Shot MCP server to your Claude Desktop config (snippet above) with your API key. Claude can then capture any URL and view the image inline.
Why use a screenshot API instead of Puppeteer for my agent?
You skip running and scaling a headless-browser cluster, and you get proxies, ad/cookie removal, and full-page capture out of the box — a single call returns the image. The full architecture argument — when the agent should capture and when it should delegate — is in AI agent vs. screenshot API.
Does it reduce token usage for vision models?
Not by itself. Vision models charge by image dimensions, not by what the pixels show, so a 1920×1080 capture costs the same tokens with or without a banner in it. Removing ads and cookie overlays gives the model a cleaner image to read; to spend fewer tokens, capture a smaller viewport or crop to the region you need.