Model Context Protocol

Give your AI eyes on the web.

Your assistant cannot see a website. Connect it to Add Screenshots and it can — capture any page, read what is on it, and tell you what changed. One remote endpoint, your own API key, nothing to install.

  • No install
  • Your API key
  • Any MCP client
mcp.addscreenshots.com
ASK
“Screenshot example.com”Your AI assistant
MCP
MCP
take_screenshotYour API key, your account
Image
Endpoint/mcpAvailable
The short version

Your assistant asks. We capture.

The Model Context Protocol is an open standard that lets AI assistants call external tools directly. Our MCP server exposes the Add Screenshots capture engine as one of those tools, so any compatible assistant can screenshot a page without you writing a line of API code — or installing anything at all.

Ask in plain language

“Take a full page screenshot of our pricing page on mobile” is a complete instruction. The assistant fills in the parameters.

Your key, your account

Every capture runs on your own API key and counts against your own plan. We store no key and there is no shared account in between.

Nothing to install

A hosted HTTPS endpoint. No package, no local process, no Docker. Paste a URL and a key into your client and you are done.

WITHOUT MCP

Something has to run on your machine

A browser extension only sees the tab it is sitting in, on the computer it is installed on. A script means Node, a package, and something to keep updated.

  • An install to approve and maintain
  • Tied to one machine and one browser
  • Captures whatever your browser sees
  • Copy and paste to get the image to your assistant
WITH MCP

Nothing runs on your machine at all

Your assistant calls our servers over HTTPS and we run the browser. The capture never touches your device, so there is nothing to install anywhere.

  • No extension, no app, no Docker, no Node
  • Works in a web app, a desktop app, or on your phone
  • Captures from the US, Europe, or Asia Pacific
  • The image goes straight to the assistant

Nothing new for IT to approve. There is no software to deploy or keep patched — a connector is a URL and an API key, added in your assistant’s own settings. Since the browser runs on our infrastructure, a capture works the same whether you are at your desk or on a phone.

Server URLhttps://mcp.addscreenshots.com/mcpStreamable HTTP
What to ask for

The jobs people actually use this for.

Screenshots are rarely the point. Knowing a competitor moved their pricing, that your own release broke a layout, or what a customer in another country actually sees — that is the point. An assistant that can see the page can tell you which of those just happened.

Check a page at a real device size

Catch a broken layout before a customer does, without opening dev tools or reaching for a phone.

“Screenshot our pricing page on an iPhone viewport and tell me if anything is cut off”

See what another country sees

Prices, currencies, consent banners, and localised copy all change by region. Capture from the US, Europe, or Asia Pacific and compare.

“Capture competitor.com from Europe and from Australia, then tell me what differs”

Keep evidence of what a page said

A dated, full-page capture with the cookie banner dismissed, filed straight into your own cloud storage.

“Take a full page screenshot of their terms page with consent accepted”

Watch what competitors change

Pricing, plan limits, positioning, new features. Capture the same pages on a schedule and have the assistant tell you what moved since last time.

“Screenshot our competitors’ pricing pages and list what changed this week”

Before and after a release

Capture the pages you care about before a change and again afterwards, then compare. Regressions show up as something that moved, disappeared, or got slower.

“Screenshot these pages, then again after I deploy, and tell me what broke”

Audit your own site

The assistant can look at the capture and interpret it — not just store it. Ask what is unclear, what is cut off, what a first-time visitor would miss.

“Screenshot our homepage and suggest three things that would make the offer clearer”

Read a page your assistant cannot

Ordinary web fetching runs no JavaScript and gets blocked constantly. A real browser gets the rendered page, from the region you choose.

“Read that product page and pull out every price and SKU”

Get past the front door

Sign in, dismiss the modal, click through the steps, then capture or read whatever is on the other side.

“Log into the staging site and screenshot the dashboard”

You do not have to know the parameters. Say what you want in plain language and the assistant picks the options — viewport, region, waiting for late content, hiding a banner. Everything the REST API can do is available by asking for it.

Before you start

Bring your own API key.

Every capture runs on your own account and counts against your own plan, so you need a key before you connect. Creating one takes a minute.

1. Create your account

Pick a plan on the pricing page. Every plan includes a monthly allowance of screenshots.

2. Copy your API key

Open the API keys page and copy your Primary key. Treat it like a password.

3. Paste it into your client

Add the server URL and your key using the guide for your client below. There is nothing to install.

Your Primary key is enough. Primary, Secondary and Secret keys can all produce signed screenshot URLs, which is what keeps responses small and fast. Only the Public key cannot, because it holds no signing material — it is the half you are meant to expose. See signed requests.

Setup

Connect your client.

Every client needs the same two things: the server URL and your API key as a header. Replace YOUR_API_KEY with your own key everywhere it appears.

ClientWhere the configuration livesJump to
Claude (web & desktop)Connector settingsSetup
Claude CodeOne CLI commandSetup
Cursor.cursor/mcp.jsonSetup
VS Code & GitHub Copilot.vscode/mcp.jsonSetup
Windsurfmcp_config.jsonSetup
OpenAI Codex CLI~/.codex/config.tomlSetup
Anything elsePlain HTTPSetup
1

Claude (web & desktop)

Settings → Connectors → Add custom connector. Paste the URL, then add your key.

Name  Add Screenshots
URL   https://mcp.addscreenshots.com/mcp

// Under Request headers
X-API-Key  YOUR_API_KEY

// No header field? Put the key in the URL instead:
https://mcp.addscreenshots.com/mcp?apikey=YOUR_API_KEY
2

Claude Code

A single command, then /mcp in any session to confirm it is connected.

claude mcp add addscreenshots \
  --transport http https://mcp.addscreenshots.com/mcp \
  --header "X-API-Key: YOUR_API_KEY"

// Verify
claude mcp list
3

Cursor

Create .cursor/mcp.json in your project, then restart Cursor.

{
  "mcpServers": {
    "addscreenshots": {
      "transport": "http",
      "url": "https://mcp.addscreenshots.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}
4

VS Code & GitHub Copilot

Create .vscode/mcp.json in your workspace. Note the key is servers, not mcpServers.

{
  "servers": {
    "addscreenshots": {
      "type": "http",
      "url": "https://mcp.addscreenshots.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}
5

Windsurf

Edit the MCP config from Settings → Cascade → MCP Servers. Windsurf uses serverUrl rather than url.

{
  "mcpServers": {
    "addscreenshots": {
      "serverUrl": "https://mcp.addscreenshots.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}
6

OpenAI Codex CLI

Add to ~/.codex/config.toml. The headers need their own table section — the inline { } form is valid TOML but Codex does not pick it up.

[mcp_servers.addscreenshots]
url = "https://mcp.addscreenshots.com/mcp"

[mcp_servers.addscreenshots.http_headers]
X-API-Key = "YOUR_API_KEY"

# To keep the key out of the file, swap the table above for
# env_http_headers and give it the NAME of an environment
# variable that holds your key:
#
#   [mcp_servers.addscreenshots.env_http_headers]
#   X-API-Key = "ADDSCREENSHOTS_API_KEY"
7

Any HTTP client

Streamable HTTP, protocol revision 2026-07-28. This lists the available tools.

POST https://mcp.addscreenshots.com/mcp
X-API-Key: YOUR_API_KEY
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/list

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list",
  "params": {}
}

Three ways to send the key. An X-API-Key header, an Authorization: Bearer header, or ?apikey= on the server URL. Prefer a header where your client supports one — a key in a URL is stored in the client’s configuration and appears in request logs.

Two tools

Picture the page, or read it.

A deliberately small surface, so the assistant never has to guess between near-identical options. Both accept the same parameters as the REST API, so anything the API can do is available by asking for it.

take_screenshot

An image of the page

Every capture option: full page, device size, region, format, quality, cropping, hiding elements, and the rest.

  • Returns a link, or the image itself
  • Available on every plan
read_page_content

The text or data on it

A real browser renders the page, then returns its readable text — or exactly the fields you describe. Built on HTML to JSON.

  • Runs JavaScript, unlike ordinary fetching
  • Starter plan and above

Why reading matters. An assistant’s built-in web fetch runs no JavaScript, is blocked by most bot protection, cannot choose a country, and floods itself with raw HTML. This reads the page the way a person’s browser would, then hands back just the part that matters.

Ask forParameterNotes
The whole page, not just the visible areafullpageSee full page capture
A phone or tablet viewmobile, viewportSee device emulation
Just one element on the pagesectionA CSS selector
The cookie banner goneconsent, hide, clickSee consent handling
Ads hidden or images offblockads, blockimagesLighter, cleaner captures
A capture from another countryregionSee regions
A wait for late contentwait, scroll_waitCapped by plan
A specific format or qualityformat, quality, dprPNG, JPEG, WebP, AVIF, GIF

You will rarely name these directly. Ask for the outcome and the assistant chooses the parameters — see what to ask for for the phrasing people actually use.

Automation

Pages behind a login or a modal.

Plenty of the pages worth capturing are not on the open web. Both tools accept a list of steps to run in the page first — navigate, click, type, focus, wait for an element — so the assistant can get through and then capture or read what is on the other side.

StepWhat it does
navigateGo to a URL. Every sequence has to start with one
clickClick an element by CSS selector
focus · typeFocus a field and type into it
keypressPress a key, such as Enter
select · hover · hideChoose an option, hover, or hide an element
wait · waitforPause, or wait for an element to appear

About passwords. Signing in this way means the password passes through the AI assistant making the request, and is kept in that client’s conversation history. Add Screenshots masks typed values in your usage logs, but we cannot mask the assistant’s own transcript. Use a dedicated account with the least access it needs, never a personal or administrator login — and where a session already exists, the cookies, bearer, and basic authentication options are a better fit. See website authentication.

Automation steps require the Pro or Enterprise plan. The same capability is available in the REST API, where credentials stay inside your own code.

Results

A link by default, the image on request.

Screenshots are big and AI context is small, so the tool returns a signed URL rather than image data unless you ask otherwise.

DEFAULT

A signed URL

A few hundred bytes instead of several megabytes, returned almost instantly. The screenshot is captured when the link is opened, so it is never stale.

  • Fast responses
  • Share or embed the link
  • Works with any signing key
ON REQUEST

The image itself

Ask the assistant to look at the screenshot and it will request the image data so it can actually read the page.

  • For visual analysis
  • Uses more context
  • Large captures refused
Measurements

Every capture comes back measured.

A screenshot on its own tells you what a page looked like. The numbers alongside it tell you how it behaved — which is what turns a one-off capture into something worth tracking week over week.

What comes backWhy it matters
Page load timeThe headline number for performance. Capture the same page on a schedule and a slowdown shows up long before anyone complains
Page process timeHow long rendering took after the page loaded, which separates a slow server from a heavy front end
HTTP status and any page errorCatches the capture that succeeded technically but landed on a 404 or an error page
Final URL after redirectsShows when a page has quietly moved, or when you were sent to a country-specific version
Image dimensions and sizeA page that suddenly got much taller usually means a layout change worth looking at
Percentage of pixels changedThe before-and-after number. Small means a copy tweak; large means something moved. See tracking changes
Consent and CAPTCHA outcomeTells you whether a banner was actually dismissed, so you know the capture shows the real page

Measurements arrive when a capture actually happens. The default response is a link, and the page is only rendered when that link is opened — so ask for the image, or read the page, when you want the numbers in the same reply. Every capture is also recorded in your usage logs.

If something is wrong

Troubleshooting.

Most problems are the API key or the way it is being sent.

What you seeWhat it meansFix
The connection fails immediatelyNo key reached the serverCheck the header name is exactly X-API-Key, or put the key in the URL as ?apikey=
“Invalid API key format”The value is not a keyCopy it again from the API keys page. Watch for a trailing space
“An invalid API key was specified”The key is not recognisedThe key may have been renewed or deleted
Images come back instead of linksThe key cannot signUse your Primary, Secondary or Secret key. The Public key cannot sign, by design
“Your account is …”Billing needs attentionCheck the dashboard. Retrying will not help
A wait or size is quietly reducedA plan limitSee pricing for the limits on each plan
Requests refused on a restricted accountDomain or IP rulesAI clients send no referring domain. Review the API security page

Your key stays yours. The MCP server holds no credentials of its own and stores nothing. It passes your key to the capture API on each request, exactly as your own code would. See security.

Ready when you are

Screenshot the web from the chat window.

Create a key, paste it into your assistant, and ask for the first screenshot. Every capture runs on your plan, in your account, with the same engine behind the REST API.