Site-Shot

by site-shot

375 downloads
Not rated
GitHub

About

Official MCP server for the Site-Shot website screenshot API. Tools: capture_screenshot, capture_full_page. Real Chromium rendering, full-page capture up to 20,000 px, country proxies, and automatic ad & cookie-banner removal enabled by default — cleaner images, fewer vision toke

Details

Author
site-shot
Downloads
375
Categories
Web Scraping, Automation, Developer Tools, AI

- Real Chromium rendering for accurate screenshots.
- Full-page scrolling capture up to 20,000 px.
- Country proxies with matching language, time zone, geolocation.
- Automatic ad and cookie-banner removal (on by default).
- Two tools: capture_screenshot and capture_full_page.
- Configurable viewport size, format (PNG/JPEG), and wait time.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Site-Shot
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install by adding the server configuration to your MCP client (Claude Desktop, Cursor, or other) using the npx command with the site-shot-mcp package and a SITESHOT_API_KEY environment variable. Then invoke the capture_screenshot or capture_full_page tools with desired options such as width, height, format, country proxy, language, time zone, geolocation, wait time, or max height.

capture_screenshot

Take a screenshot of a web page with Site-Shot and return it as an image. Renders in a real Chromium browser. Supports viewport/device sizing, full-page capture, country proxies, and automatic ad & cookie-banner removal (cleaner image, fewer vision tokens).

capture_full_page

Take a full-page (entire scrollable height) screenshot of a web page with Site-Shot and return it as an image. Convenience wrapper around capture_screenshot with full-page capture enabled.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "site-shot": {
            "site-shot": {
                "command": "npx",
                "args": [
                    "-y",
                    "site-shot-mcp"
                ],
                "env": {
                    "SITESHOT_API_KEY": "YOUR_API_KEY"
                }
            }
        }
    }
}

McpServers

{
    "site-shot": {
        "command": "npx",
        "args": [
            "-y",
            "site-shot-mcp"
        ],
        "env": {
            "SITESHOT_API_KEY": "YOUR_API_KEY"
        }
    }
}

- Get a Site-Shot API key athttps://www.site-shot.com/start/.
- Add this to your Claude Desktop config (claude_desktop_config.json):

{ "mcpServers": { "site-shot": { "command": "npx", "args": ["-y", "site-shot-mcp"], "env": { "SITESHOT_API_KEY": "YOUR_API_KEY" } } } }

- Restart Claude Desktop. Ask it to"take a full-page screenshot ofhttps://news.ycombinator.com"and it will call the server and show you the image.

Works the same way in any MCP client (Cursor, Cline, VS Code, LangChain, CrewAI) — point the client atnpx -y site-shot-mcpwithSITESHOT_API_KEYin the environment.

Screenshot a web page (viewport by default).

"API default" is not a number this package gets to state.width,heightandwait_msare forwarded only when you pass them, so whatever applies when you don't is decided by the Site-Shot API and can change without a release here. Versions up to 1.1.0 printed pixel sizes forwidth/heightthat the API does not use — an agent that omitted them to take "the default" got a different viewport, with nothing in the returned image to reveal it. Pass explicit values whenever the size matters.

Country codes are ISO codes, never names.Pass"DE", not"Germany". The API matches codes exactly and would otherwise render through a US proxy without telling you, so the server rejects full names before spending a render.strict_country(on by default) likewise turns an unavailable country into an error instead of a silent US screenshot — passfalseto opt back into the fallback.Supported countries →

Same ascapture_screenshotwith full-page capture enabled.

Why call this server instead of the agent's own browser?

If your agent drives a browser, it can screenshot pages itself — and for pages that must be signed into or stepped through a flow, that is the right tool. For public URLs, delegating the capture to this server is usually better engineering: every capture runs the same pipeline (no re-planning between runs), can be taken from a specific country with matching locale and time zone (country+strict_country), is scored by an image classifier with an escalating retry ladder behind it before being returned, and costs a fraction of a cent instead of a browser session plus vision tokens per look. The full comparison, both directions honestly argued:AI agent vs. screenshot API — who should capture the page.

The server is a thin wrapper over the existing Site-Shot HTTP API (https://api.site-shot.com/) — no separate backend.

npm install npm run check # syntax check npm run smoke # offline tests (stubbed fetch, no API key needed) SITESHOT_API_KEY=yourkey npm start # run the server on stdio

Node.js ≥ 18 (uses the built-infetch).

Official Playwright MCP server for browser automation, page inspection, screenshots, and web interaction from Claude, Cursor, and other AI agents.

Render website screenshots with ScreenshotOne

Attaches to existing browser sessions using the Chrome DevTools Protocol for automation and interaction.

Help your AI agent finish more browser tasks.

Automate remote browsers using the BrowserCat API.

Remote browser automation using the BrowserCat API.

Take screenshots and read console logs from web pages using Playwright.

Automate browser tasks using the Browser Use API.

A Node.js server that enables AI assistants to control the Chrome browser via WebSocket. Requires the CodingBaby Chrome Extension.

A configurable MCP server for browser automation using Puppeteer.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.