just-every/mcp-screenshot-website-fast
About
High-quality screenshot capture optimized for Claude Vision API. Automatically tiles full pages into 1072x1072 chunks (1.15 megapixels) with configurable viewports and wait strategies for dynamic content.
Details
- Author
- just-every
- Downloads
- 374
- Categories
- Web Scraping, Community, Other, Automation, Design
Jump to
- Fast screenshot capture using Puppeteer headless browser
- Claude Vision optimized with 1072x1072 resolution limiting
- Automatic tiling of full pages into 1072x1072 chunks
- Always fresh content with no caching
- Configurable viewports for responsive testing
- Wait strategies for dynamic content (networkidle, custom delays)
- Full page capture by default for complete page screenshots
- Minimal dependencies for fast npm installs
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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
just-every/mcp-screenshot-website-fastCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install the server via your MCP client using the command npx -y @just-every/mcp-screenshot-website-fast. For example, in Claude Code run claude mcp add screenshot-website-fast -s user -- npx -y @just-every/mcp-screenshot-website-fast. After setup, the tool screenshot_website_fast becomes available in your client, accepting parameters such as url (required), width, height, fullPage, waitUntil, and waitFor. You can also use the CLI directly for development with commands like npm run dev capture <url> -o screenshot.png.
take_screenshot
Fast, efficient screenshot capture of web pages - optimized for CLI coding tools. Use this after performing updates to web pages to ensure your changes are displayed correctly. Automatically tiles full pages into 1072x1072 chunks for optimal processing.
take_screencast
Capture a series of screenshots of a web page over time, producing a screencast. Uses adaptive frame rates: 100ms intervals for ≤5s, 200ms for 5-10s, 500ms for >10s. PNG format: individual frames. WebP format: animated WebP with 4-second pause at end for looping.
capture_selector
Capture a screenshot of a specific DOM element matched by a CSS selector. Use this when a full-page screenshot would send unnecessary pixels.
capture_console
Capture console output from a web page. Accepts a URL, optional JS command to run, and duration to wait (default 4 seconds). Returns all console messages during that time.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"just-every/mcp-screenshot-website-fast": {
"screenshot-website-fast": {
"command": "npx",
"args": [
"-y",
"@just-every/mcp-screenshot-website-fast"
]
}
}
}
}
McpServers
{
"screenshot-website-fast": {
"command": "npx",
"args": [
"-y",
"@just-every/mcp-screenshot-website-fast"
]
}
}
High-quality screenshot capture optimized for Claude Vision API. Automatically tiles full pages into 1072x1072 chunks (1.15 megapixels) with configurable viewports and wait strategies for dynamic content.
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.
- 📸Fast screenshot captureusing Puppeteer headless browser
- 🎯Claude Vision optimizedwith automatic resolution limiting (1072x1072 for optimal 1.15 megapixels)
- 🔲Automatic tiling- Full pages are automatically split into 1072x1072 tiles
- 🎬Screencast capture- Record series of screenshots over time with configurable intervals
- 🔄Always fresh content- No caching ensures up-to-date screenshots
- 📱Configurable viewportsfor responsive testing
- ⏱️Wait strategiesfor dynamic content (networkidle, custom delays)
- 📄Full page captureby default for complete page screenshots
- 🎥Animated WebP export- Save screencasts as high-quality animated WebP files
- 💉JavaScript injection- Execute custom JS before screencast capture
- 📦Minimal dependenciesfor fast npm installs
- 🔌MCP integrationfor seamless AI workflows
- 🪟Windows-compatible launcherfor npm-installed MCP usage
- 🔋Resource efficient- Automatic browser cleanup after 60 seconds of inactivity
- 🧹Memory management- Pages are closed after each screenshot to prevent leaks
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
{"command":"npx","args":["-y","@just-every/mcp-screenshot-website-fast"]}
{ "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).
- Node.js 20.x or higher
- npm or npx
- Chrome/Chromium (automatically downloaded by Puppeteer)
Once installed in your IDE, the following tools are available:
-
take_screenshot- Captures a high-quality screenshot of a webpage
- Parameters:
- url(required): The HTTP/HTTPS URL to capture
- width(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 milliseconds
- directory(optional): Directory to save screenshots - returns file paths instead of base64 images
capture_selector- Captures a screenshot of a specific DOM element matched by a CSS selector
- Parameters:
- url(required): The HTTP/HTTPS URL to capture
- selector(required): CSS selector for the element to capture
- width(optional): Viewport width in pixels (max 1072, default: 1072)
- height(optional): Viewport height in pixels (max 1072, default: 1072)
- waitUntil(optional): Wait until event: load, domcontentloaded, networkidle0, networkidle2 (default: domcontentloaded)
- waitForMS(optional): Additional wait time in milliseconds
- selectorTimeoutMS(optional): How long to wait for the selector to appear before failing (default: 5000)
take_screenshot(url="https://example.com")
take_screenshot(url="https://example.com", directory="/path/to/screenshots")
capture_selector(url="https://example.com", selector="#main")
- Screenshots are saved as PNG files with timestamps
- File paths are returned instead of base64 data
- For tiled screenshots, each tile is saved as a separate file
- Directory is created automatically if it doesn't exist
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 capture
- duration(optional): Total duration in seconds (default: 10)
- interval(optional): Interval between screenshots in seconds (default: 2)
- jsEvaluate(optional): JavaScript code to execute at the start
- waitUntil(optional): Wait strategy: 'load', 'domcontentloaded', 'networkidle0', 'networkidle2'
- waitForMS(optional): Additional wait time before starting
- directory(optional): Save as animated WebP to directory (captures every 1 second)
Basic screencast (5 frames over 10 seconds):
take_screencast(url="https://example.com")
take_screencast(url="https://example.com", duration=15, interval=3)
take_screencast( url="https://example.com", jsEvaluate="document.body.style.backgroundColor = 'red';" )
take_screencast(url="https://example.com", directory="/path/to/output")
- An animated WebP is created with 1-second intervals
- Individual frames are also saved as PNG files
- The animation loops forever by default
- WebP provides excellent quality:
- Full color support (no 256 color limitation)
- Efficient compression for web animations
- Perfect for gradient backgrounds and smooth animations
- Smaller file sizes compared to GIF with better quality
# 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:
- Automatically restarts the server if it crashes
- Handles unhandled exceptions and promise rejections
- Implements exponential backoff (max 10 attempts in 1 minute)
- Logs all restart attempts for monitoring
- Gracefully handles shutdown signals (SIGINT, SIGTERM)
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:
- Optimized for Claude Vision API- Automatic resolution limiting to 1072x1072 pixels (1.15 megapixels)
- Automatic tiling- Full pages split into perfect chunks for AI processing
- Always fresh- No caching ensures you get the latest content
- MCP native- First-class integration with AI development tools
- Simple API- Clean, straightforward interface for capturing screenshots
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Submit a pull request
- Ensure Chrome/Chromium can be downloaded
- Check firewall settings
- Try settingPUPPETEER_SKIP_CHROMIUM_DOWNLOAD=trueand provide custom executable
- Adjust viewport dimensions
- Use appropriate wait strategies
- Check if site requires authentication
- Increase wait time with--wait-forflag
- Use different--wait-untilstrategies
- Check if site is accessible
Browser MCP server for AI agents to automate web pages with Puppeteer, accessibility-tree actions, optional vision mode, and cross-platform browser control.
A MCP server to retrieve up-to-date jobs from company career sites.
Fetch the content of a remote URL as Markdown with Jina Reader.
An MCP server using Playwright for browser automation and webscrapping
Fast, token-efficient web content extraction that converts websites to clean Markdown. Features Mozilla Readability, smart caching, polite crawling with robots.txt support, and concurrent fetching with minimal dependencies.
Secure fetch to prevent access to local resources
MCP Server to let Claude / your AI control the browser
A MCP server that provides comprehensive website snapshot capabilities using Playwright. This server enables LLMs to capture and analyze web pages through structured accessibility snapshots, network monitoring, and console message collection.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




