SergiuPogor

CurlShot MCP server

Community SergiuPogor
Updated

Hosted MCP server for CurlShot: let AI agents take screenshots of any web page (PNG, JPEG, WebP, PDF, video). Setup for Claude, Cursor, VS Code.

CurlShot MCP server

Let your AI agent take screenshots of web pages. CurlShot runs a hosted Model Context Protocol server, so there is nothing to install: point your MCP client at the endpoint and add your API key.

https://curlshot.com/api/mcp
  • Transport: streamable HTTP (JSON-RPC 2.0 over POST). The server is stateless, so a GET answers 405.
  • Auth: Authorization: Bearer YOUR_API_KEY
  • Protocol versions: 2025-06-18, 2025-03-26, 2024-11-05

This repository holds the documentation, the server.json manifest (MCP Registry format) and the license. The server itself runs at curlshot.com.

Tools

Tool What it does Needs a key
take_screenshot Renders a public web page and returns it as an image, a PDF, or a video of the page scrolling. Each successful call uses one screenshot of your quota. Cache hits and failed renders are free. Yes
list_devices Lists the device presets (phones, tablets, desktops) that take_screenshot accepts in viewport_device. No

take_screenshot arguments:

Argument Meaning
url (required) Full address of the page, starting with http:// or https://.
format png, jpeg (default), webp, pdf, mp4, webm or gif. The video formats record the page scrolling from top to bottom, on plans that include video.
full_page Capture the whole page, not only the first screen.
viewport_device A device preset such as iphone_15_pro (see list_devices).
viewport_width, viewport_height Browser window size in pixels (default 1280 x 1024).
dark_mode Ask the page for its dark theme.
block_ads, block_cookie_banners On by default.
selector Capture only the first element matching this CSS selector.
wait_until, delay When the page counts as loaded, plus extra seconds to wait.
cache Reuse a stored copy of the same request.

Small results come back inline as an image the model can see. Results over 6 MB come back as a download link valid for about a day.

Get an API key

  1. Sign up at curlshot.com/register. The free plan includes 100 screenshots a month, no card needed.
  2. Create a separate API key for your agent in the dashboard, so you can revoke it on its own.
  3. Leave Require signature off for that key. MCP calls are not signed.

Keep the key in your client configuration, not in a prompt. The examples below use YOUR_API_KEY as a placeholder.

Client setup

Claude Code

claude mcp add --transport http curlshot https://curlshot.com/api/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Claude Desktop

Claude Desktop starts local (stdio) servers from its config file, so connect through the mcp-remote proxy. Edit claude_desktop_config.json (Settings β†’ Developer β†’ Edit Config):

{
  "mcpServers": {
    "curlshot": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://curlshot.com/api/mcp",
        "--transport",
        "http-only",
        "--header",
        "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}

Restart Claude Desktop after saving. This needs Node.js.

Cursor

Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

{
  "mcpServers": {
    "curlshot": {
      "url": "https://curlshot.com/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

VS Code (GitHub Copilot)

Add to .vscode/mcp.json. VS Code asks for the key once and stores it securely:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "curlshot-api-key",
      "description": "CurlShot API key",
      "password": true
    }
  ],
  "servers": {
    "curlshot": {
      "type": "http",
      "url": "https://curlshot.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:curlshot-api-key}"
      }
    }
  }
}

Other clients

Any client that supports remote servers over streamable HTTP works. Most take a config like this:

{
  "mcpServers": {
    "curlshot": {
      "type": "http",
      "url": "https://curlshot.com/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Clients that only start local servers can use the mcp-remote command shown for Claude Desktop.

Try it with curl

curl -X POST "https://curlshot.com/api/mcp" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "take_screenshot",
      "arguments": { "url": "https://example.com", "format": "webp" }
    }
  }'

Limits and pricing

  • Free plan: 100 screenshots a month, no card. Paid plans start at $19 a month. See pricing.
  • Only successful renders count. Cache hits and failed renders are free.
  • The MCP endpoint accepts 120 requests per minute per IP address, on top of your plan's own limits.
  • When the monthly limit is reached, the tool returns an error with an upgrade link instead of an image.

Links

License

MIT

MCP Server Β· Populars

MCP Server Β· New

    pipelab-org

    pipelock

    Open-source AI agent firewall for MCP security and agent egress. Scans mediated HTTP, MCP, A2A, and WebSocket traffic for exfiltration, SSRF, and prompt injection, and emits mediator-signed action receipts: verifiable audit evidence from outside the agent.

    Community pipelab-org
    zachshallbetter

    adobe-mcp

    MCP server that turns Adobe InDesign into an AI design automation platform β€” 135+ tools for layout, styles, export, and publishing workflows

    Community zachshallbetter
    obsei

    obsei

    Obsei is a low code AI powered automation tool. It can be used in various business flows like social listening, AI based alerting, brand image analysis, comparative study and more .

    Community obsei
    colorjs

    color-space

    Open collection of color spaces

    Community colorjs