
ScreenshotOne MCP Server
Community server that captures website screenshots via the ScreenshotOne API.
Add to your client
Copy the config for your MCP client and paste it into its config file.
npx -y screenshotone-mcp-serverPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"screenshotone-mcp-server": {
"command": "npx",
"args": [
"-y",
"screenshotone-mcp-server"
],
"env": {
"SCREENSHOTONE_API_KEY": "<your-api-key>"
}
}
}
}Before you start
- Node.js 18 or higher
- A ScreenshotOne access key from https://dash.screenshotone.com/access, set as SCREENSHOTONE_ACCESS_KEY
- Git, if installing from source rather than the npm package
About ScreenshotOne MCP Server
ScreenshotOne MCP Server is a community TypeScript/Node.js server that captures website screenshots through the ScreenshotOne rendering API. It lets an AI assistant turn a URL into a PNG, JPEG, WebP, or PDF on demand.
The single screenshot tool exposes ScreenshotOne's main rendering options: viewport dimensions, full-page capture, CSS-selector element targeting, output format, and quality-of-life flags to block ads, trackers, and cookie banners. Captured images can optionally be uploaded (to Cloudflare) and returned as a URL.
It runs over stdio for local MCP clients and also offers an HTTP transport (configurable via MCP_HTTP_HOST / MCP_HTTP_PORT / MCP_HTTP_PATH). Authentication is a single ScreenshotOne access key (SCREENSHOTONE_ACCESS_KEY); ScreenshotOne offers a free tier of screenshots per month.
Tools & capabilities (1)
take_screenshotCapture a website screenshot from a URL, with options for viewport size, full-page capture, CSS-selector targeting, output format (PNG/JPEG/WebP/PDF), ad/tracker/cookie-banner blocking, and optional upload.
When to use it
- Use it when you want an agent to fetch a visual snapshot of a webpage as part of a workflow.
- Use it when you need full-page captures or a specific element targeted via CSS selector.
- Use it when you want clean screenshots with ads, trackers, and cookie banners blocked.
- Use it when you need a page rendered to PDF rather than a raster image.
- Use it when you want the screenshot uploaded and returned as a hosted URL instead of raw bytes.
Quick setup
- 1Create a ScreenshotOne access key at https://dash.screenshotone.com/access.
- 2Install the `screenshotone-mcp-server` npm package, or clone the repo and run `npm install`.
- 3Add the server to your MCP client config and set SCREENSHOTONE_ACCESS_KEY in its env.
- 4Restart the MCP client so it loads the server (or start the HTTP server with `npm run dev:server:http`).
- 5Ask the assistant to take_screenshot of a test URL to verify.
Security notes
The ScreenshotOne API key bills rendering usage to your account; keep it in env. Captured URLs are sent to ScreenshotOne's servers for rendering, so avoid passing internal or authenticated pages.
ScreenshotOne MCP Server FAQ
Where do I get the access key?
Sign up at ScreenshotOne and create a key at https://dash.screenshotone.com/access, then set it as SCREENSHOTONE_ACCESS_KEY.
Is there a free tier?
ScreenshotOne offers a free tier with a monthly screenshot quota; heavier usage requires a paid plan. The MCP server itself is open source (ISC).
What output formats are supported?
PNG, JPEG, WebP, and PDF, selectable via the format option on the screenshot tool.
Can it capture a full page or just the viewport?
Both. Use the full-page option for the entire scrollable page, or set viewport width/height for a fixed-size capture, and a CSS selector to target a single element.
Does it run locally or over HTTP?
Both. It runs over stdio for desktop MCP clients and also exposes an HTTP transport configurable via MCP_HTTP_HOST, MCP_HTTP_PORT, and MCP_HTTP_PATH.
Alternatives to ScreenshotOne MCP Server
Popular community server that feeds Figma layout data to coding agents via a Figma API token.
Official MiniMax server for TTS, voice cloning, music, image, and video generation.
Official ElevenLabs server for text-to-speech, voice cloning, sound effects, and audio.
Compare ScreenshotOne MCP Server with: