Skip to content

Integrations

MCP server

Give Claude, Cursor, Gemini and other AI agents the ability to capture, read and analyze webpages.

ScreenshotDude exposes a Model Context Protocol server so AI assistants can call the API as tools.

Transport Streamable HTTP
Endpoint http://localhost:4000/mcp
Authentication x-api-key header

Tool calls are billed exactly like API requests — 1 credit per successful capture, content extraction, analysis or crawl. Usage and job tools are free.

Available tools

Tool Maps to
capture_screenshot GET /v1/capture — returns the screenshot as an image (url, format, full_page, device, viewport, selector, cookie/ad removal, dark mode, delay, wait_for_selector)
extract_content GET /v1/content — metadata, links and Markdown by default; optional HTML, sitemap, Defuddle
analyze_page GET /v1/analyze — AI insights, with custom_prompt and custom_response
crawl_page GET /v1/website/crawler — raw HTTP response (status, headers, redirects, HTML)
get_job GET /v1/jobs/{id} (free)
get_usage GET /v1/usage (free)

The server is stateless Streamable HTTP: send JSON-RPC requests with POST. GET returns 405.

Claude Code

claude mcp add --transport http snaplens http://localhost:4000/mcp --header "x-api-key: YOUR_API_KEY"

Then ask: "Take a full-page screenshot of example.com and summarize the page."

Claude Desktop and claude.ai

Add a custom connector with the URL http://localhost:4000/mcp and an x-api-key header, or use a local bridge such as mcp-remote in claude_desktop_config.json:

{
  "mcpServers": {
    "snaplens": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:4000/mcp", "--header", "x-api-key:YOUR_API_KEY"]
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in your project):

{
  "mcpServers": {
    "snaplens": {
      "url": "http://localhost:4000/mcp",
      "headers": { "x-api-key": "YOUR_API_KEY" }
    }
  }
}

Gemini CLI

Add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "snaplens": {
      "httpUrl": "http://localhost:4000/mcp",
      "headers": { "x-api-key": "YOUR_API_KEY" }
    }
  }
}

OpenAI (Responses API)

Use the remote MCP tool type:

from openai import OpenAI

client = OpenAI()
response = client.responses.create(
    model="gpt-5",
    tools=[{
        "type": "mcp",
        "server_label": "snaplens",
        "server_url": "http://localhost:4000/mcp",
        "headers": {"x-api-key": "YOUR_API_KEY"},
        "require_approval": "never",
    }],
    input="Extract the pricing tiers from https://example.com/pricing as a table.",
)
print(response.output_text)

Use whichever current model your account has access to.

Tips

  • Create a dedicated API key for agents with a daily quota to cap spend.
  • Ask for Markdown (content with include_markdown) when the model needs to read a page; it's far cheaper in tokens than HTML.
  • Never paste your API key into a chat — configure it in the client's MCP settings.