Awesome MCP Servers by AI Anytime

Directory / Agents, IDEs & developer tools

CurlShot

Renders any public URL as a PNG, JPEG or WebP screenshot, a PDF, or a scrolling video, full page or at a phone, tablet or desktop preset. list_devices needs no key; take_screenshot needs an API key as a Bearer token (free plan 100 screenshots/month, no card). Endpoint: https://curlshot.com/api/mcp · Docs

Live  Answered an MCP handshake without credentials and listed 2 tools.

Category
Agents, IDEs & developer tools
Transport
http
Source
https://curlshot.com/docs
Endpoint
https://curlshot.com/api/mcp
MCP Registry
io.github.SergiuPogor/curlshot
Reports itself as
CurlShot 1.0.0
Protocol
2025-06-18
Tools
2
Context cost
about 718 tokens for the tool definitions (estimated at four characters per token)
Tool definitions last changed
no change seen since first check
Handshake time
516 ms
Last checked
2026-10-14 08:45:14 UTC
Listed since
2026-10-14

Health and compatibility

Endpoint reachableVerifiedResponded in 516 ms
MCP handshake (initialize)VerifiedCompleted without credentials
Tool discovery (tools/list)Verified2 tools listed
AuthenticationVerifiedNone needed to connect
Protocol versionVerified2025-06-18
TransportVerifiedStreamable HTTP
Capabilities declaredVerifiedtools

Last checked . Verified means the check saw it happen; it says nothing about whether the server is safe.

Recent history

1 daily check so far. Green answered, violet asked for auth, red did not answer.

Set up in your client

Claude Code

Run this in a terminal:

claude mcp add --transport http curlshot https://curlshot.com/api/mcp

Claude Desktop

Open Settings → Connectors → Add custom connector and paste this URL:

https://curlshot.com/api/mcp

Or bridge it through mcp-remote in claude_desktop_config.json (needs Node.js):

{
  "mcpServers": {
    "curlshot": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://curlshot.com/api/mcp"
      ]
    }
  }
}

Cursor

Add to Cursor

Or add it to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{
  "mcpServers": {
    "curlshot": {
      "url": "https://curlshot.com/api/mcp"
    }
  }
}

VS Code

Add to VS Code

Or add it to .vscode/mcp.json:

{
  "servers": {
    "curlshot": {
      "type": "http",
      "url": "https://curlshot.com/api/mcp"
    }
  }
}

Or from a terminal:

code --add-mcp '{"name": "curlshot", "type": "http", "url": "https://curlshot.com/api/mcp"}'

Windsurf

Add it to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "curlshot": {
      "serverUrl": "https://curlshot.com/api/mcp"
    }
  }
}

Other clients

Most clients accept this shape. The endpoint is:

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

If it does not connect

Tools 2

Names, descriptions and input schemas exactly as the server returned them on 2026-10-14. This is the server author's own text. Nothing is run from this page. Raw JSON

list_devicesList the device presets accepted by the viewport_device argument of take_screenshot. Needs no access key.

List the device presets accepted by the viewport_device argument of take_screenshot. Needs no access key.

Takes no parameters.

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "list_devices",
    "arguments": {}
  }
}
take_screenshotRender a public web page and return it as an image (or a PDF). Uses one screenshot of the account quota; …

Render a public web page and return it as an image (or a PDF). Uses one screenshot of the account quota; cache hits and failed renders are free. Prefer jpeg or webp to keep the image small. A result over 6 MB comes back as a download link (valid for about a day) instead of inline data.

ParameterTypeDescription
urlstringrequiredFull address of the page, starting with http:// or https://.
formatstringoptionalFile format of the result. mp4, webm and gif record a video of the page scrolling from top to bottom. One of: png, jpeg, webp, pdf, mp4, webm, gif
full_pagebooleanoptionalCapture the whole page, not just the first screen.
viewport_devicestringoptionalEmulate a device preset (see list_devices). One of: iphone_se, iphone_12, iphone_13, iphone_13_mini, iphone_14, iphone_14_plus, iphone_14_pro, iphone_14_pro_max …
viewport_widthintegeroptionalWidth of the browser window in pixels.
viewport_heightintegeroptionalHeight of the browser window in pixels.
dark_modebooleanoptionalAsk the page for its dark theme.
block_adsbooleanoptionalBlock requests to ad networks.
block_cookie_bannersbooleanoptionalHide cookie consent banners.
selectorstringoptionalCapture only the first element matching this CSS selector.
wait_untilstringoptionalPage event that marks the page as loaded. One of: load, domcontentloaded, networkidle, commit
delaynumberoptionalExtra seconds to wait after the page has loaded.
cachebooleanoptionalReuse a stored copy when the same request was made before.

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "take_screenshot",
    "arguments": {
      "url": "..."
    }
  }
}

Badge

Maintain this server? Put its live status in your README:

MCP status badge

[![MCP status](https://mcp.aianytime.net/badge/curlshot.svg)](https://mcp.aianytime.net/s/curlshot/)

Edit this entry · Report a problem

More in Agents, IDEs & developer tools

Checks record what a server answered, not whether it is safe. A listing is not a security audit; read a server's source and permissions before you connect it. Add a server · JSON · llms.txt · llms-full.txt

Browse: Agents, IDEs & developer tools · Search & discovery · Knowledge, memory & context · Media & generation · Security · Finance & markets · Marketing, content & social · Cloud, ops & data · Commerce, travel & logistics · Work & productivity · No account needed · Local servers