Agentic Coding
Agentic Coding

MCP Server

Screenshotbot hosts an MCP server, so an AI agent can read your channels, runs and reports, look at the actual screenshots, and accept changes on your behalf.

Endpoint

https://screenshotbot.io/mcp

If you're on Enterprise or self-hosted, use your own domain with the same /mcp path. You'll also find the endpoint under Settings | MCP .

The transport is streamable HTTP, and authentication is OAuth: your client opens a browser, you sign in to Screenshotbot and approve access. There are no API keys to copy around.

Adding it to your client

For Claude Code:

claude mcp add --transport http screenshotbot https://screenshotbot.io/mcp

Most other clients (Claude Desktop, Codex, Cursor, …) take a JSON config that looks like this:

{
  "mcpServers": {
    "screenshotbot": {
      "type": "http",
      "url": "https://screenshotbot.io/mcp"
    }
  }
}

Permissions

The consent screen asks for two things:

  • Read your runs, channels and reports — required for every tool.
  • Upload new runs and screenshots on your behalf — only needed for the three tools that change something: accept_report, update_slack_channels and edit_masks. Decline it and everything else still works.

You can review or revoke what you've granted at any time from Authorized applications.

Tools

  • list_channels — the channels (projects) in your account.
  • fetch_report — what changed between two runs, with the before and after image ids for each screenshot.
  • fetch_run — a run's commit, branches and build, plus its screenshots.
  • fetch_active_run — the runs that new screenshots are compared against, one per branch.
  • list_batch_reports — every channel in a batch, with the report id for each one that has changes.
  • fetch_image_url — turn an image id into a URL the agent can look at.
  • compare_images — a URL for the visual diff between two images.
  • list_masks — the masks configured on a channel.
  • promotion_logs_for_run — the promotion log, for debugging a run that produced no report or compared against the wrong thing.
  • accept_report — accept a report's changes. Same as pressing Accept on the report page, including the effect on the pull request's check.
  • update_slack_channels — set which Slack channels are notified for a channel.
  • edit_masks — replace the masks on a screenshot.

Going from a pull request

This server can see your reports but has no view of your pull requests. On a PR, Screenshotbot's check links to /report/<report_id>, or to /batch/<batch_id> if you use batches. Pair us with the GitHub MCP server or the gh CLI, and an agent can read that check itself and go straight from a pull request to the screenshots that changed.