For agents

Let your agent take the screenshots

ScreenshotBuddy speaks the Model Context Protocol, so the agent you already work in can render a page to an image or a PDF without you writing the request. Setup is two steps and takes about a minute.

  1. 1

    Add the server to your client

    One command, or a handful of lines of JSON. The setup for every client is below.

  2. 2

    Hand it an API key

    The key is the only thing you have to fill in. You create it yourself, under Settings, API tokens.

Setup, per client

Pick the one you use. Everything is filled in except the key, which goes where it says <your API key>.

Terminal
claude mcp add --transport http screenshotbuddy https://screenshotbuddy.io/mcp --header "Authorization: Bearer <your API key>"
Run it in the project you want the server available in. Claude Code stores the header with the server, so the key is sent on every call.
.cursor/mcp.json
{
    "mcpServers": {
        "screenshotbuddy": {
            "url": "https://screenshotbuddy.io/mcp",
            "headers": {
                "Authorization": "Bearer <your API key>"
            }
        }
    }
}
Put this in .cursor/mcp.json for one project, or in ~/.cursor/mcp.json to have it everywhere.
.vscode/mcp.json
{
    "servers": {
        "screenshotbuddy": {
            "type": "http",
            "url": "https://screenshotbuddy.io/mcp",
            "headers": {
                "Authorization": "Bearer <your API key>"
            }
        }
    }
}
Works for GitHub Copilot in agent mode. Commit the file and everyone on the repository gets the server, though not the key.
Terminal
npx skills add screenshotbuddy.io
For a client that reads Agent Skills rather than MCP servers. It installs a skill that teaches the agent to write the HTTP calls itself, which is what you want when the agent is writing your integration code rather than taking the screenshot.
Terminal
curl "https://screenshotbuddy.io/api/v1/snap?url=https%3A%2F%2Fexample.com" \
  -H "Authorization: Bearer <your API key>" \
  --output screenshot.png
No protocol, no install. The response body is the image, so write it to a file rather than parsing it as JSON.

The MCP server lives at https://screenshotbuddy.io/mcp over streamable HTTP, and authenticates with the same bearer tokens as the REST API. There is no second credential and no OAuth step.

What your agent can do

Three tools, described to the agent well enough that it picks the right one without being told.

take-screenshot
Renders a public page and hands the image back in the conversation, so the agent can look at what it captured.
create-pdf
Prints a page to PDF and answers with a signed download link, because the file itself is far too large to travel in a tool result. The link works for a day, and never outlasts the cached copy it hands over.
check-usage
Reports credits left, the plan and the rate limit. It answers at zero rather than refusing, which is the case it exists for.

What it costs

One credit per fresh render. An identical request is answered out of the cache and costs nothing, a failed render is refunded, and check-usage is always free. An agent that loops on a page it has already captured is not spending your allowance.

Where the key comes from

You create it, not the agent. There is deliberately no endpoint that mints a token, so an agent cannot sign itself up. Create one under Settings, API tokens, copy the value while it is on screen, and paste it into the snippet above. A token can be narrowed to screenshots only or to PDFs only, which is worth doing before handing one to an agent.

New accounts get 200 renders a month for free, so an agent can be useful before anything is paid for.