MCP Server

مجتمعي الإنتاجية

Capture websites as PNG, JPEG, WebP or PDF with device emulation, dark mode, ad blocking and cookie banner removal.

التثبيت

خطوات التثبيت موجودة في التوثيق أدناه. التوثيق

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. snaprender-mcp
  2. Quick Start
  3. Tools (11 total)
  4. Get an API Key
  5. Environment Variables
  6. Privacy Policy
  7. Related
  8. License

snaprender-mcp

MCP (Model Context Protocol) server for SnapRender Screenshot API. Lets AI agents like Claude capture website screenshots, check cache status, and monitor usage.

Published on npm: snaprender-mcp

Quick Start

With Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "snaprender": {
      "command": "npx",
      "args": ["-y", "snaprender-mcp"],
      "env": {
        "SNAPRENDER_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}
With Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "snaprender": {
      "command": "npx",
      "args": ["-y", "snaprender-mcp"],
      "env": {
        "SNAPRENDER_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}
Remote Mode (no install)

Connect any MCP client directly to the hosted server — zero dependencies, works instantly:

https://app.snap-render.com/mcp

Uses Streamable HTTP transport (MCP spec 2025-03-26).

Authentication options:

  1. OAuth 2.0 (recommended for MCP clients like Claude Desktop). The server supports OAuth 2.0 Authorization Code with PKCE. Clients that support OAuth will be prompted to sign in automatically.
  2. API key via Authorization: Bearer sk_live_... or X-API-Key header. Works for any HTTP client.
Claude Desktop (remote, OAuth)

Claude Desktop handles OAuth automatically. Just add the server URL:

{
  "mcpServers": {
    "snaprender": {
      "type": "streamable-http",
      "url": "https://app.snap-render.com/mcp"
    }
  }
}

Claude will open a browser window for you to sign in to your SnapRender account when you first connect.

Claude Desktop (remote, API key)

If you prefer to use an API key instead of OAuth:

{
  "mcpServers": {
    "snaprender": {
      "type": "streamable-http",
      "url": "https://app.snap-render.com/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_your_key_here"
      }
    }
  }
}
Any MCP client (curl example)
# 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. Pass it in subsequent requests to reuse the session.

OAuth discovery

The server publishes standard OAuth metadata for automatic discovery:

  • Authorization server: https://app.snap-render.com/.well-known/oauth-authorization-server
  • Protected resource: https://app.snap-render.com/.well-known/oauth-protected-resource/mcp
Local vs Remote
Local (npx)Remote (hosted)
InstallRequires Node.js + npxNone — just an HTTPS URL
TransportstdioStreamable HTTP
LatencySlightly lower (local process)Slightly higher (network hop)
Use caseClaude Desktop, Claude CodeAny MCP client, Smithery, web apps

Tools (11 total)

take_screenshot

Capture a screenshot of any website.

ParameterTypeRequiredDescription
urlstringYesURL to capture
formatstringNopng, jpeg, webp, or pdf (default: png)
widthintegerNoViewport width 320-3840 (default: 1280)
heightintegerNoViewport height 200-10000 (default: 800)
full_pagebooleanNoCapture entire scrollable page
devicestringNoiphone_14, iphone_15_pro, pixel_7, ipad_pro, macbook_pro
dark_modebooleanNoEnable dark mode
block_adsbooleanNoBlock ads (default: true)
block_cookie_bannersbooleanNoRemove cookie banners (default: true)
qualityintegerNoJPEG/WebP quality 1-100 (default: 90)
delayintegerNoWait ms after page load (default: 0)
hide_selectorsstringNoComma-separated CSS selectors to hide
click_selectorstringNoCSS selector to click before capture
extract_content

Extract content from a web page as markdown, text, HTML, links, or metadata.

ParameterTypeRequiredDescription
urlstringYesURL to extract from
typestringNomarkdown, text, html, article, links, or metadata (default: markdown)
batch_screenshots

Capture up to 50 URLs in a single batch job. Returns a job ID for polling.

ParameterTypeRequiredDescription
urlsstring[]YesArray of URLs (max 50)
formatstringNoOutput format (default: png)
widthintegerNoViewport width
heightintegerNoViewport height
get_batch_status

Poll a batch job for completion status and download URLs.

ParameterTypeRequiredDescription
job_idstringYesBatch job ID from batch_screenshots
sign_screenshot_url

Generate a signed URL that renders a screenshot when visited. No API key needed to use the URL.

ParameterTypeRequiredDescription
urlstringYesURL to screenshot
expires_inintegerNoExpiry in seconds (default: 86400)
formatstringNoOutput format
check_screenshot_cache

Check if a screenshot is cached without capturing.

ParameterTypeRequiredDescription
urlstringYesURL to check
formatstringNoOutput format
list_webhooks

List all webhook subscriptions for your account. Read-only.

create_webhook

Create a new webhook subscription.

ParameterTypeRequiredDescription
urlstringYesHTTPS webhook endpoint URL
eventsstring[]YesEvents: screenshot.completed, quota.warning, quota.exceeded
delete_webhook

Delete a webhook subscription. Destructive.

ParameterTypeRequiredDescription
webhook_idstringYesID of the webhook to delete
test_webhook

Send a test event to a webhook endpoint to verify delivery.

ParameterTypeRequiredDescription
webhook_idstringYesID of the webhook to test
get_usage

Get screenshot usage statistics.

ParameterTypeRequiredDescription
monthstringNoMonth in YYYY-MM format (default: current month)

Get an API Key

Sign up for free at snap-render.com — 200 screenshots/month, no credit card required.

Environment Variables

VariableRequiredDescription
SNAPRENDER_API_KEYYesYour API key (starts with sk_live_)
SNAPRENDER_URLNoAPI base URL (default: https://app.snap-render.com)

Privacy Policy

This MCP server connects to the SnapRender API at app.snap-render.com. When you use it:

  • Data sent: URLs you provide for screenshots/extraction, plus screenshot parameters. No conversation data, chat history, or Claude memory is accessed or collected.
  • Data stored: URLs are logged temporarily (up to 90 days) for debugging and abuse prevention. Screenshots are cached based on your plan settings and automatically deleted after the cache TTL expires.
  • Authentication: Your API key is stored locally (in your environment or MCP config) and sent to the SnapRender API via HTTPS. It is never shared with third parties.
  • Third parties: Stripe (payments), Resend (transactional emails), Cloudflare (DNS/CDN). No data is sold or shared for advertising.

Full policy: https://snap-render.com/privacy

License

MIT

الأسئلة الشائعة

ما هو MCP Server؟

Capture websites as PNG, JPEG, WebP or PDF with device emulation, dark mode, ad blocking and cookie banner removal.

كيف أثبّت MCP Server؟

اتبع خطوات التثبيت في توثيقه المعروض في هذه الصفحة وفي مستودعه.

هل MCP Server مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون MCP Server؟

ينشره User0856. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من القوائم المجتمعية awesome-mcp-servers ومستودع المشروع على GitHub. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.