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 (
contentwithinclude_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.