Fast, efficient screenshot capture of web pages - optimized for CLI coding tools. Automatically tiles full pages into 1072x1072 chunks for optimal processing.
Built specifically for AI vision workflows, this tool captures high-quality screenshots with automatic resolution limiting and tiling for optimal processing by Claude Vision API and other AI models. It ensures screenshots are perfectly sized at 1072x1072 pixels (1.15 megapixels) for maximum compatibility.
claude mcp add screenshot-website-fast -s user -- npx -y @just-every/mcp-screenshot-website-fast
code --add-mcp '{"name":"screenshot-website-fast","command":"npx","args":["-y","@just-every/mcp-screenshot-website-fast"]}'
cursor://anysphere.cursor-deeplink/mcp/install?name=screenshot-website-fast&config=eyJzY3JlZW5zaG90LXdlYnNpdGUtZmFzdCI6eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqdXN0LWV2ZXJ5L21jcC1zY3JlZW5zaG90LXdlYnNpdGUtZmFzdCJdfX0=
Settings โ Tools โ AI Assistant โ Model Context Protocol (MCP) โ Add
Choose "As JSON" and paste:
{"command":"npx","args":["-y","@just-every/mcp-screenshot-website-fast"]}Raw JSON (works in any MCP client)
{ "mcpServers": { "screenshot-website-fast": { "command": "npx", "args": ["-y", "@just-every/mcp-screenshot-website-fast"] } } }
Drop this into your client's mcp.json (e.g. .vscode/mcp.json, ~/.cursor/mcp.json, or .mcp.json for Claude).
Once installed in your IDE, the following tools are available:
take_screenshot
- Captures a high-quality screenshot of a webpage
url
(required): The HTTP/HTTPS URL to capturewidth
(optional): Viewport width in pixels (max 1072, default: 1072)height
(optional): Viewport height in pixels (max 1072, default: 1072)fullPage
(optional): Capture full page screenshot with tiling (default: true)waitUntil
(optional): Wait until event: load, domcontentloaded, networkidle0, networkidle2 (default: domcontentloaded)waitFor
(optional): Additional wait time in millisecondsdirectory
(optional): Directory to save screenshots - returns file paths instead of base64 imagesDefault usage (returns base64 images):
take_screenshot(url="https://example.com")
Save to directory (returns file paths):
take_screenshot(url="https://example.com", directory="/path/to/screenshots")
When using the directory
parameter:
Captures a series of screenshots over time to create a screencast. Only captures the top tile (1072x1072) of the viewport.
url
(required): The URL to captureduration
(optional): Total duration in seconds (default: 10)interval
(optional): Interval between screenshots in seconds (default: 2)jsEvaluate
(optional): JavaScript code to execute at the startwaitUntil
(optional): Wait strategy: 'load', 'domcontentloaded', 'networkidle0', 'networkidle2'waitForMS
(optional): Additional wait time before startingdirectory
(optional): Save as animated WebP to directory (captures every 1 second)Basic screencast (5 frames over 10 seconds):
take_screencast(url="https://example.com")
Custom timing:
take_screencast(url="https://example.com", duration=15, interval=3)
With JavaScript execution:
take_screencast(
url="https://example.com",
jsEvaluate="document.body.style.backgroundColor = 'red';"
)
Save as animated WebP:
take_screencast(url="https://example.com", directory="/path/to/output")
When using the directory
parameter:
npm install npm run build
# Full page with automatic tiling (default) npm run dev capture https://example.com -o screenshot.png # Viewport-only screenshot npm run dev capture https://example.com --no-full-page -o screenshot.png # Wait for specific conditions npm run dev capture https://example.com --wait-until networkidle0 --wait-for 2000 -o screenshot.png
-w, --width <pixels>
- Viewport width (max 1072, default: 1072)-h, --height <pixels>
- Viewport height (max 1072, default: 1072)--no-full-page
- Disable full page capture and tiling--wait-until <event>
- Wait until event: load, domcontentloaded, networkidle0, networkidle2--wait-for <ms>
- Additional wait time in milliseconds-o, --output <path>
- Output file path (required for tiled output)The MCP server includes automatic restart capability by default for improved reliability:
For development/debugging without auto-restart:
# Run directly without restart wrapper npm run serve:dev
mcp-screenshot-website-fast/
โโโ src/
โ โโโ internal/ # Core screenshot capture logic
โ โโโ utils/ # Logger and utilities
โ โโโ index.ts # CLI entry point
โ โโโ serve.ts # MCP server entry point
โ โโโ serve-restart.ts # Auto-restart wrapper
# Run in development mode npm run dev capture https://example.com -o screenshot.png # Build for production npm run build # Run tests npm test # Type checking npm run typecheck # Linting npm run lint
Built specifically for AI vision workflows:
Contributions are welcome! Please:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
and provide custom executable--wait-for
flag--wait-until
strategiesMIT
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4