Allows AI agents to capture web pages as screenshots or extract their content as clean markdown.
Also known as User0856/snaprender-integrations, snaprender-mcp
- Stars
- 3
- Tools
- 11
- Downloads, 30 days
- —
- Latest version
- 1.6.0
- Last commit
- Nov 12, 2026
- License
- MIT
What is SnapRender MCP?
SnapRender allows AI agents to capture web pages as screenshots or extract their content as clean markdown. It exposes 11 tools, such as take_screenshot, check_screenshot_cache, get_usage.
Summary generated from the project's README
About SnapRender MCP server
SnapRender provides AI agents with the ability to perceive web content through visual captures and structured text. It allows users to transform any public webpage into various image formats like PNG, JPEG, WebP, or PDF, or to convert page content into clean markdown. This is useful for developers building autonomous agents that need to see or read websites.
Users can connect via a hosted remote server using Streamable HTTP, which requires OAuth 2.0 sign-in or an API key. Alternatively, a local server can be run using npx and the snaprender-mcp package via stdio transport. The service offers a free tier that includes 200 screenshots per month without requiring a credit card.
The server includes 11 specialized tools such as take_screenshot, extract_content, and batch_screenshots for processing up to 50 URLs at once. It also supports advanced features like webhook notifications, cache checking, and signed links for sharing captures without an API key.
What you can do with it
- 1Visual Web CaptureAn AI agent can take a screenshot of a website in specific formats or device presets.
- 2Bulk URL ProcessingYou can request the agent to process a large list of websites in a single background job.
- 3Automated Workflow NotificationsSet up notifications to alert your system when a batch job completes or your quota is low.
Written from the project's README. Every use case is checked against a quote from it.
How to install SnapRender MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall SnapRender MCP in Claude Code
$ claude mcp add --env 'SNAPRENDER_API_KEY=<YOUR_SNAPRENDER_API_KEY>' snaprender -- npx -y snaprender-mcpInstall SnapRender MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"snaprender": {
"command": "npx",
"args": [
"-y",
"snaprender-mcp"
],
"env": {
"SNAPRENDER_API_KEY": "<YOUR_SNAPRENDER_API_KEY>"
}
}
}
}Install SnapRender MCP in VS Code
.vscode/mcp.json
{
"servers": {
"snaprender": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"snaprender-mcp"
],
"env": {
"SNAPRENDER_API_KEY": "<YOUR_SNAPRENDER_API_KEY>"
}
}
}
}Install SnapRender MCP in VS Code CLI
$ code --add-mcp '{"name":"snaprender","type":"stdio","command":"npx","args":["-y","snaprender-mcp"],"env":{"SNAPRENDER_API_KEY":"<YOUR_SNAPRENDER_API_KEY>"}}'Install SnapRender MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"snaprender": {
"command": "npx",
"args": [
"-y",
"snaprender-mcp"
],
"env": {
"SNAPRENDER_API_KEY": "<YOUR_SNAPRENDER_API_KEY>"
}
}
}
}Install SnapRender MCP in Codex
$ codex mcp add snaprender --env 'SNAPRENDER_API_KEY=<YOUR_SNAPRENDER_API_KEY>' -- npx -y snaprender-mcpInstall SnapRender MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.snaprender] command = "npx" args = ["-y", "snaprender-mcp"] [mcp_servers.snaprender.env] SNAPRENDER_API_KEY = "<YOUR_SNAPRENDER_API_KEY>"
Install SnapRender MCP in Gemini CLI
$ gemini mcp add -s user -e 'SNAPRENDER_API_KEY=<YOUR_SNAPRENDER_API_KEY>' snaprender npx -- -y snaprender-mcpInstall SnapRender MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"snaprender": {
"command": "npx",
"args": [
"-y",
"snaprender-mcp"
],
"env": {
"SNAPRENDER_API_KEY": "<YOUR_SNAPRENDER_API_KEY>"
}
}
}
}SnapRender MCP tools 11
Detected from the READMEtake_screenshotcheck_screenshot_cacheget_usagesign_screenshot_urlextract_contentbatch_screenshotsget_batch_statuslist_webhookscreate_webhookdelete_webhooktest_webhook
| take_screenshot | — | |
| check_screenshot_cache | — | |
| get_usage | — | |
| sign_screenshot_url | — | |
| extract_content | — | |
| batch_screenshots | — | |
| get_batch_status | — | |
| list_webhooks | — | |
| create_webhook | — | |
| delete_webhook | — | |
| test_webhook | — |
Configuration
SNAPRENDER_API_KEYSecretOptional. Your SnapRender API key (starts with sk_live_). Without it the server starts on a free trial key (100 captures, watermarked) and shows a claim link. Get a free key at https://snap-render.com
| Name | Description | |
|---|---|---|
| SNAPRENDER_API_KEY | Optional. Your SnapRender API key (starts with sk_live_). Without it the server starts on a free trial key (100 captures, watermarked) and shows a claim link. Get a free key at https://snap-render.com | Secret |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubSnapRender 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) |
| Activepieces | activepieces/ |
Piece for self-hosted Activepieces, installed from Platform Admin > Pieces (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) - Activepieces Piece (
activepieces-piece-snaprender) - OpenAPI Spec
- Postman Collection
License
MIT
SnapRender MCP questions
How do I add SnapRender MCP to Claude Code?
Run claude mcp add --env 'SNAPRENDER_API_KEY=<YOUR_SNAPRENDER_API_KEY>' snaprender -- npx -y snaprender-mcp in your terminal. Add --scope user to make it available in every project.
How do I add SnapRender MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does SnapRender MCP provide?
It exposes 11 tools, including take_screenshot, check_screenshot_cache, get_usage, sign_screenshot_url, extract_content.
What formats can I capture a web page in?
You can capture any public web page as a PNG, JPEG, WebP, or PDF.
Is there a free plan available?
Yes, the free plan includes 200 screenshots per month and does not require a credit card.
Can I capture multiple URLs at once?
Yes, the batch_screenshots tool allows you to capture up to 50 URLs in a single background job.