About SnapRender
SnapRender Integrations connects AI agents and MCP clients to the SnapRender Screenshot API. It supports page captures, content extraction, batch jobs, and related webhook management through hosted or local MCP servers.
Key features
- 01Capture pages as images or PDF
- 02Extract page content in multiple formats
- 03Submit batches of up to 50 URLs
- 04Check cache and usage
- 05Manage batch and quota webhooks
Use cases
- 01Capture a public page for visual review
- 02Extract a page as markdown or text
- 03Run captures across a list of URLs
- 04Notify a workflow when a batch completes
MCP support
Provides the same 11 tools through a hosted Streamable HTTP MCP server or a local npm server using stdio. Authentication supports OAuth 2.0 or API keys on the hosted server, and an API key locally.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y snaprender-mcpSNAPRENDER_API_KEYSecretYour SnapRender API key (starts with sk_live_). Get one free at https://snap-render.comLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
11Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | No | URL to capture (must start with http:// or https://). Mutually exclusive with html and markdown. |
| html | string | No | Raw HTML content to render and capture (max 2MB). Mutually exclusive with url and markdown. |
| markdown | string | No | Markdown content to render with a clean styled template and capture (max 500KB). Mutually exclusive with url and html. |
| format | enum | No | Output format (default: png)png | jpeg | webp | pdf |
| width | integer | No | Viewport width in pixels (default: 1280) |
| height | integer | No | Viewport height in pixels (default: 800) |
| full_page | boolean | No | Capture entire scrollable page (default: false) |
| quality | integer | No | Image quality for JPEG/WebP, 1-100 (default: 90) |
| delay | integer | No | Milliseconds to wait after page load (default: 0) |
| dark_mode | boolean | No | Enable dark mode CSS emulation (default: false) |
| block_ads | boolean | No | Block advertisements and trackers (default: true) |
| block_cookie_banners | boolean | No | Remove cookie consent banners (default: true) |
| device | enum | No | Device preset for mobile/tablet emulationiphone_14 | iphone_15_pro | pixel_7 | ipad_pro | macbook_pro |
| hide_selectors | string | No | Comma-separated CSS selectors to hide before capture |
| click_selector | string | No | CSS selector to click before capture |
| user_agent | string | No | Custom user agent string to use for the request |
| cache | boolean | No | Use cached result if available. Set to true to enable caching (default: false) |
| cache_ttl | integer | No | Cache TTL in seconds, 0-2592000. Clamped to your plan max (default: 86400) |
Details
From the project READMESnapRender Integrations
Official integrations for the SnapRender Screenshot API: give AI agents eyes. Capture any public web page as PNG, JPEG, WebP or PDF, or read it as clean markdown.
Remote MCP Server (recommended)
SnapRender runs a hosted MCP server. Connect from any MCP client with nothing to install:
https://app.snap-render.com/mcp
- Transport: Streamable HTTP
- Sign in: OAuth 2.0 (the client opens a SnapRender sign-in window; Google, GitHub or email), or an API key in the
Authorization: BearerorX-API-Keyheader - Tools (11): capture, cache check, usage, signed links, content extraction, batches and webhooks (full list below)
- Prompts:
screenshot_website,compare_devices - Free plan: 200 screenshots a month, no credit card
- Directory listing: SnapRender on Glama (health-checked, tool quality graded)
Claude (claude.ai and Claude Desktop)
Open Customize, then Connectors, click + Add, then Add custom connector, and paste https://app.snap-render.com/mcp. Claude opens a SnapRender sign-in window; approve it and the tools are ready. Step-by-step guide: snap-render.com/claude.
Cursor, VS Code, Windsurf and other clients
Setup pages for each client, with one-click install where the client supports it: snap-render.com/ai-connectors.
A client that takes headers instead of OAuth:
{
"mcpServers": {
"snaprender": {
"url": "https://app.snap-render.com/mcp",
"headers": {
"Authorization": "Bearer sk_live_your_key_here"
}
}
}
}
Any MCP client (curl)
# Initialize a session
curl -X POST https://app.snap-render.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-API-Key: sk_live_your_key_here" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
The server returns an Mcp-Session-Id header: include it in later requests to reuse the session.
Smithery
Install via Smithery for automatic setup with any MCP client.
Local MCP Server (npm)
If you prefer running locally via stdio transport:
{
"mcpServers": {
"snaprender": {
"command": "npx",
"args": ["-y", "snaprender-mcp"],
"env": {
"SNAPRENDER_API_KEY": "sk_live_your_key_here"
}
}
}
}
See mcp-server/ for full documentation.
Remote vs Local
| Remote (hosted) | Local (npx) | |
|---|---|---|
| Install | None, just an HTTPS URL | Requires Node.js + npx |
| Transport | Streamable HTTP | stdio |
| Sign in | OAuth or API key | API key (SNAPRENDER_API_KEY) |
| Use case | Claude, ChatGPT, Cursor, any MCP client | Clients that only run local servers |
MCP Tools
The hosted server and the npm package expose the same 11 tools. Parameters are documented in each tool's schema and in the API docs.
| Tool | What it does | Cost |
|---|---|---|
take_screenshot | Capture a URL as PNG, JPEG, WebP or PDF: device presets, full page, dark mode, ad and cookie banner removal, hide or click selectors | 1 capture (cached copies free) |
check_screenshot_cache | Check whether a capture with these options is already cached | Free |
get_usage | Captures used and left this month, the limit and the reset date | Free |
sign_screenshot_url | Create a signed link that renders a screenshot when opened, no API key needed | 1 capture when opened |
extract_content | Read a page as markdown, text, HTML, article, links or metadata | 1 capture (failures free) |
batch_screenshots | Capture up to 50 URLs in one background job | 1 capture per URL (failures refunded) |
get_batch_status | Poll a batch job and get its download links | Free |
list_webhooks | List webhook subscriptions | Free |
create_webhook | Get notified when a batch finishes, the quota runs low, or a scheduled capture changes | Free |
delete_webhook | Delete a webhook subscription | Free |
test_webhook | Send a test payload to a webhook | Free |
Agent Framework Integrations
| Framework | Directory | Description |
|---|---|---|
| LangChain Python | langchain/ | @tool decorated functions for LangChain / LangGraph agents (PyPI) |
| LangChain.js | langchain-js/ | StructuredTool classes for LangChain.js agents (npm) |
| CrewAI | crewai/ | BaseTool subclasses for CrewAI agents (PyPI) |
| AutoGen | autogen/ | FunctionTool wrappers for Microsoft AutoGen agents (PyPI) |
| n8n | Separate repo | Community node for n8n workflows (npm) |
Other Integrations
| Integration | Description | Setup Time |
|---|---|---|
| OpenClaw Skill | Skill file for OpenClaw AI agent | 5 min |
| ChatGPT Actions | OpenAPI spec for Custom GPTs and OpenAI function calling | 5 min |
| Postman Collection | Pre-built API requests for Postman | 1 min |
SDKs
# Node.js
npm install snaprender
# Python
pip install snaprender
Direct API
curl "https://app.snap-render.com/v1/screenshot?url=https://example.com" \
-H "X-API-Key: sk_live_your_key_here" \
-o screenshot.png
Get an API Key
Sign up free at snap-render.com: 200 screenshots a month, no credit card required.
Links
- Documentation
- Remote MCP Server: Streamable HTTP endpoint
- MCP Connector on Glama
- MCP Server on npm (
npx snaprender-mcp) - MCP Server on Smithery
- Node.js SDK (
npm install snaprender) - Python SDK (
pip install snaprender) - LangChain Python Tool (
pip install langchain-snaprender) - LangChain.js Tool (
npm install langchain-snaprender) - CrewAI Tool (
pip install crewai-snaprender) - AutoGen Tool (
pip install autogen-ext-snaprender) - n8n Community Node (
npm install n8n-nodes-snaprender) - OpenAPI Spec
- Postman Collection
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.