Skip to main content
Glama

SnapRender Integrations

npm MCP npm SDK PyPI SDK License: MIT Available on CodeGuilds

Official integrations for SnapRender Screenshot API — capture screenshots of any website as PNG, JPEG, WebP, or PDF.

Remote MCP Server

SnapRender runs a hosted MCP server — connect from any MCP client with zero install:

https://app.snap-render.com/mcp
  • Transport: Streamable HTTP (MCP spec 2025-03-26)

  • Auth: X-API-Key header or Authorization: Bearer header

  • Tools: take_screenshot, check_screenshot_cache, get_usage

  • Prompts: screenshot_website, compare_devices

{
  "mcpServers": {
    "snaprender": {
      "type": "streamable-http",
      "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 subsequent requests to reuse the session.

Smithery

Install via Smithery for automatic setup with any MCP client.

Related MCP server: Screenshot API

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

Use case

Any MCP client, Smithery, web apps

Claude Desktop, Claude Code

MCP Tools

take_screenshot

Capture a screenshot of any website. Returns the image as PNG, JPEG, WebP, or PDF.

Parameter

Type

Required

Description

url

string

Yes

URL to capture (http:// or https://)

format

string

No

png, jpeg, webp, or pdf (default: png)

width

integer

No

Viewport width 320-3840 (default: 1280)

height

integer

No

Viewport height 200-10000 (default: 800)

full_page

boolean

No

Capture entire scrollable page

device

string

No

iphone_14, iphone_15_pro, pixel_7, ipad_pro, macbook_pro

dark_mode

boolean

No

Enable dark mode

block_ads

boolean

No

Block ads (default: true)

block_cookie_banners

boolean

No

Remove cookie banners (default: true)

quality

integer

No

JPEG/WebP quality 1-100 (default: 90)

delay

integer

No

Wait ms after page load (default: 0)

hide_selectors

string

No

Comma-separated CSS selectors to hide

click_selector

string

No

CSS selector to click before capture

check_screenshot_cache

Check if a screenshot is cached without capturing. Does not count against quota.

Parameter

Type

Required

Description

url

string

Yes

URL to check

format

string

No

Output format (default: png)

get_usage

Get screenshot usage statistics.

Parameter

Type

Required

Description

month

string

No

Month in YYYY-MM format (default: current month)

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/month, no credit card required.

License

MIT

Available Tools

3 tools
check_screenshot_cacheA

Check if a screenshot is already cached without capturing a new one. Does not count against your quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to check
formatNoOutput format (default: png)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, the description discloses a key behavioral trait: it does not count against quota. This is important for usage optimization. It does not mention return values or side effects, but the tool is simple and low-risk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero wasted words. The description is front-loaded with the primary purpose and immediately adds a key differentiator (quota). Perfect conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple cache-check tool with no output schema and clear sibling context, the description is sufficient. It explains the core function and a critical behavioral note. Minor gap: does not describe the return format (e.g., boolean), but not essential for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage with basic descriptions for 'url' and 'format'. The description adds no additional insight beyond the schema, so it meets the baseline for schema-rich tools but does not enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'check' and the resource 'screenshot cache'. It distinguishes from sibling 'take_screenshot' by noting it does not capture a new screenshot, and adds a unique benefit: not counting against quota. This is specific and helpful.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for verifying cache before capturing, but does not explicitly state when to use vs. 'take_screenshot' or 'get_usage'. However, the sibling context and the phrase 'without capturing a new one' provide clear contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_usageA

Get current month's screenshot usage statistics including screenshots used, limit, and remaining quota.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description indicates a read-only operation retrieving usage statistics. Discloses what data is returned but does not mention any side effects, authentication requirements, or rate limits. Adequate for a simple getter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 13 words, directly communicates purpose and included fields. No wasted words; perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, description adequately lists the three pieces of information returned (screenshots used, limit, remaining quota). Could specify data types or format, but minimally complete for a simple statistics endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameters, so schema_description_coverage is 100%. Baseline for zero-parameter tools is 4; description adds no parameter info as none are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it retrieves current month's screenshot usage statistics with specific fields (screenshots used, limit, remaining quota). Differentiates from sibling tools (check_screenshot_cache, take_screenshot) which focus on capturing or caching screenshots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus siblings. Usage is implied by the name and description, but lacks when-not-to-use or alternative recommendations. For a simple stats tool, this is minimally adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

take_screenshotA

Capture a screenshot of any website. Returns the image as a PNG, JPEG, WebP, or PDF. Supports device emulation (iPhone, Pixel, iPad), dark mode, ad blocking, cookie banner removal, full-page capture, and custom viewports.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to capture (must start with http:// or https://)
formatNoOutput format (default: png)
widthNoViewport width in pixels (default: 1280)
heightNoViewport height in pixels (default: 800)
full_pageNoCapture entire scrollable page (default: false)
qualityNoImage quality for JPEG/WebP, 1-100 (default: 90)
delayNoMilliseconds to wait after page load (default: 0)
dark_modeNoEnable dark mode CSS emulation (default: false)
block_adsNoBlock advertisements and trackers (default: true)
block_cookie_bannersNoRemove cookie consent banners (default: true)
deviceNoDevice preset for mobile/tablet emulation
hide_selectorsNoComma-separated CSS selectors to hide before capture
click_selectorNoCSS selector to click before capture

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions output formats and features but lacks details on error behavior, rate limits, or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence covering core action and key features. No fluff, front-loaded with main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

13 parameters, no output schema, no annotations. Description lists formats but does not specify how the result is returned (e.g., binary, URL). Could be more complete on output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds overview of features but does not elaborate on parameter usage beyond what schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'Capture a screenshot of any website' with specific verb and resource. It lists many features like format support, device emulation, dark mode, etc., clearly distinguishing it from sibling tools (check_screenshot_cache, get_usage).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this vs alternatives. The sibling tools are about cache checking and usage, so the context is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv1.0.0
    • First observedcheck_screenshot_cache
    • First observedget_usage
    • First observedtake_screenshot

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a distinct purpose: checking cache, retrieving usage stats, and capturing screenshots. There is no overlap in functionality.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case, making the set predictable and easy to understand.

Tool Count5/5

Three tools is an appropriate size for a focused screenshot service, covering essential operations without unnecessary complexity.

Completeness4/5

The tool set covers the core workflow of capturing screenshots, with supplementary tools for cache checking and usage tracking. A minor gap is the absence of cache management operations.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to capture website screenshots, automate browser interactions, and manage recurring screenshot configurations across 150+ global locations. It also supports AI-powered domain research and visual change monitoring for any web page.
    15
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to capture any public URL as PNG, JPEG, or PDF via REST API or MCP tools, including screenshot capture, page description, and PDF rendering.
    17
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Hosted, SSRF-safe, cached screenshots and Open Graph images for AI agents - no headless Chrome to run.
    38
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Screenshot, visual-diff, and AI page-analysis API for AI agents. Capture any URL as PNG, JPEG, WebP, PDF, or HTML, diff two versions of a page to catch visual regressions, and get an AI summary of what a page contains.
    3
    87
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/User0856/snaprender-integrations'

If you have feedback or need assistance with the MCP directory API, please join our Discord server