An agent that needs to look at a web page has three bad options: fetch HTML that is mostly not content, run a browser inside its own process, or guess.
claude mcp add --transport http screenshotline \
https://api.screenshotline.com/mcp --header "X-Access-Key: YOUR_KEY"
That adds two tools:
screenshotreturns an image, for when the layout is the question.read_pagereturns the same render as clean Markdown, for when the content is the question.
No install, no Chromium download, nothing to keep updated. The endpoint is stateless and answers JSON.
Which tool for which question
Hand an agent a PNG and it has to run OCR or a vision pass to read text that was in a DOM a moment earlier. That costs more, loses small text, and cannot be diffed.
So: pictures for layout questions ("does this page render correctly", "what does their pricing page look like"), Markdown for content questions ("what does this page say", "did the price change").
The longer comparison is here.
What the agent gets that a plain fetch does not
JavaScript executed, consent banners removed, ad slots collapsed, lazy images triggered, and a header saying whether the capture looked blank. An agent that receives a cookie wall and reports it as the page is worse than one that fails.
max_chars truncates the Markdown with a marker, which matters when the
destination is a context window with a budget.
Without MCP
The same two things are plain HTTP, if your agent framework prefers that:
curl "https://api.screenshotline.com/extract?url=https://example.com" -H "X-Access-Key: $KEY"
curl -o page.png "https://api.screenshotline.com/take?url=https://example.com" -H "X-Access-Key: $KEY"
Limits worth knowing
A bot wall comes back as a picture of a bot wall. There is no proxy rotation and no captcha solving, on purpose, so an agent pointed at a protected site gets an honest answer rather than a silent failure.