MCP Server
The ScreenshotRun MCP Server lets AI agents — like Claude, Cursor, or Windsurf — take screenshots and check API usage autonomously. Instead of writing code, you just tell the AI "take a screenshot of example.com" and it does the rest.
MCP (Model Context Protocol) is an open standard for connecting AI models to external tools. By adding the ScreenshotRun MCP server, your AI assistant gets two new capabilities: capturing screenshots and checking your usage quota.
Available Tools
The MCP server exposes two tools to the AI agent:
| Tool | Description |
|---|---|
take_screenshot |
Captures a screenshot of any public URL. Supports all API parameters (viewport, device, format, dark mode, blocking, CSS/JS injection, etc.). Returns the image as base64 data for the AI to analyze or save. |
check_usage |
Returns your current quota: screenshots used, remaining, usage percentage, billing period dates. Useful for preventing AI agents from burning through your quota in batch workflows. |
Installation
The MCP server is distributed as an npm package: screenshotrun-mcp. No global installation needed — it runs via npx.
You need your API key before setting up. Get it from your dashboard.
Claude Desktop
Add this to your Claude Desktop config file (claude_desktop_config.json):
{
"mcpServers": {
"screenshotrun": {
"command": "npx",
"args": ["-y", "screenshotrun-mcp"],
"env": {
"SCREENSHOTRUN_API_KEY": "YOUR_API_KEY"
}
}
}
}
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Restart Claude Desktop after saving the config.
Claude Code (CLI)
claude mcp add screenshotrun npx -y screenshotrun-mcp \
-e SCREENSHOTRUN_API_KEY=YOUR_API_KEY
Cursor
Create or edit .cursor/mcp.json in your project root:
{
"mcpServers": {
"screenshotrun": {
"command": "npx",
"args": ["-y", "screenshotrun-mcp"],
"env": {
"SCREENSHOTRUN_API_KEY": "YOUR_API_KEY"
}
}
}
}
Windsurf
Add to your Windsurf MCP configuration:
{
"mcpServers": {
"screenshotrun": {
"command": "npx",
"args": ["-y", "screenshotrun-mcp"],
"env": {
"SCREENSHOTRUN_API_KEY": "YOUR_API_KEY"
}
}
}
}
Usage Examples
Once the MCP server is connected, you can ask the AI to capture screenshots using natural language. Here are some examples of what you can say:
Basic screenshot
Take a screenshot of https://example.com
Mobile screenshot in dark mode
Capture https://example.com as it looks on a mobile phone in dark mode
Full-page screenshot
Take a full-page screenshot of https://example.com/pricing in WebP format
Visual comparison
Take screenshots of stripe.com, paddle.com, and lemonsqueezy.com. Compare their pricing page designs.
Check remaining quota
How many screenshots do I have left this month?
How It Works Under the Hood
- The AI decides to use the
take_screenshottool based on your request. - The MCP server sends a capture request to the ScreenshotRun API.
- It polls for completion (every 2 seconds, up to 60 seconds timeout).
- Once ready, the image is downloaded and returned to the AI as base64 data.
- The AI can then analyze the image, compare it with others, or save it to disk.
Security
- Your API key is stored in the MCP config file and passed as an environment variable. It is never sent to the AI model itself.
- The MCP server only communicates with
api.screenshotrun.com— no data is sent elsewhere. - Each screenshot captured by the AI agent counts toward your plan quota, just like any other API request.
Source Code
The MCP server is open source: github.com/screenshotrun/screenshotrun-mcp