@just-every/mcp-screenshot-website-fast

@just-every/mcp-screenshot-website-fast

Fast screenshot capture and tiling optimized for AI model workflows.

89
Stars
8
Forks
89
Watchers
2
Issues
Provides a fast and efficient command-line tool for capturing high-quality screenshots of webpages, specifically optimized for integration with AI vision workflows via the Model Context Protocol (MCP). Automates image tiling to 1072x1072 pixel chunks for optimal processing and compatibility with tools like Claude Vision API. Includes advanced features such as full-page capture, screencast recording, support for JavaScript injection, configurable viewports, and resource-efficient browser management.

Key Features

Fast screenshot capture using Puppeteer
Automatic tiling of images to 1072x1072 pixels
Full-page and viewport-specific screenshot options
Screencast capture for recording sequences over time
No content caching for always fresh screenshots
Configurable viewports for responsive testing
Advanced wait strategies for dynamic page content
Animated WebP export for screencasts
JavaScript injection prior to capture
Resource-efficient browser lifecycle management

Use Cases

Integrating automated screenshot capture into AI model workflows
Processing large web pages into model-friendly chunks for OCR or vision APIs
Recording visual changes over time with scheduled screencasts
Testing and validating responsive layouts across different devices
Creating high-quality reference images for documentation or reporting
Capturing web-based dynamic content with advanced wait conditions
Exporting browser animation sequences as WebP for AI or QA workflows
Running in cloud or CI/headless environments for automated quality checks
Injecting custom JavaScript to manipulate page content before capture
Seamlessly deploying screenshot tools across IDEs using MCP standards

README

@just-every/mcp-screenshot-website-fast

Fast, efficient screenshot capture of web pages - optimized for CLI coding tools. Automatically tiles full pages into 1072x1072 chunks for optimal processing.

npm version GitHub Actions

Overview

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.

Features

  • πŸ“Έ Fast screenshot capture using Puppeteer headless browser
  • 🎯 Claude Vision optimized with 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 viewports for responsive testing
  • ⏱️ Wait strategies for dynamic content (networkidle, custom delays)
  • πŸ“„ Full page capture by 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 dependencies for fast npm installs
  • πŸ”Œ MCP integration for seamless AI workflows
  • πŸ”‹ Resource efficient - Automatic browser cleanup after 60 seconds of inactivity
  • 🧹 Memory management - Pages are closed after each screenshot to prevent leaks

Installation

Claude Code

bash
claude mcp add screenshot-website-fast -s user -- npx -y @just-every/mcp-screenshot-website-fast

VS Code

bash
code --add-mcp '{"name":"screenshot-website-fast","command":"npx","args":["-y","@just-every/mcp-screenshot-website-fast"]}'

Cursor

bash
cursor://anysphere.cursor-deeplink/mcp/install?name=screenshot-website-fast&config=eyJzY3JlZW5zaG90LXdlYnNpdGUtZmFzdCI6eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqdXN0LWV2ZXJ5L21jcC1zY3JlZW5zaG90LXdlYnNpdGUtZmFzdCJdfX0=

JetBrains IDEs

Settings β†’ Tools β†’ AI Assistant β†’ Model Context Protocol (MCP) β†’ Add

Choose "As JSON" and paste:

json
{"command":"npx","args":["-y","@just-every/mcp-screenshot-website-fast"]}

Raw JSON (works in any MCP client)

json
{
  "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).

Prerequisites

  • Node.js 20.x or higher
  • npm or npx
  • Chrome/Chromium (automatically downloaded by Puppeteer)

Quick Start

MCP Server Usage

Once installed in your IDE, the following tools are available:

Available Tools

  • 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

Usage Examples

Default 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:

  • 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

take_screencast

Captures a series of screenshots over time to create a screencast. Only captures the top tile (1072x1072) of the viewport.

Parameters

  • 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)

Usage Examples

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:

  • 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

Development Usage

Install

bash
npm install
npm run build

Capture screenshot

bash
# 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

CLI Options

  • -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)

Auto-Restart Feature

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:

bash
# Run directly without restart wrapper
npm run serve:dev

Architecture

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

Development

bash
# 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

Why This Tool?

Built specifically for AI vision workflows:

  1. Optimized for Claude Vision API - Automatic resolution limiting to 1072x1072 pixels (1.15 megapixels)
  2. Automatic tiling - Full pages split into perfect chunks for AI processing
  3. Always fresh - No caching ensures you get the latest content
  4. MCP native - First-class integration with AI development tools
  5. Simple API - Clean, straightforward interface for capturing screenshots

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Submit a pull request

Troubleshooting

Puppeteer Issues

  • Ensure Chrome/Chromium can be downloaded
  • Check firewall settings
  • Try setting PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true and provide custom executable

Screenshot Quality

  • Adjust viewport dimensions
  • Use appropriate wait strategies
  • Check if site requires authentication

Timeout Errors

  • Increase wait time with --wait-for flag
  • Use different --wait-until strategies
  • Check if site is accessible

License

MIT

Star History

Star History Chart

Repository Owner

just-every
just-every

Organization

Repository Details

Language JavaScript
Default Branch main
Size 648 KB
Contributors 3
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

JavaScript
51.71%
TypeScript
47.22%
Shell
1.07%

Tags

Topics

claude codex fast mcp mcp-server screenshot

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • ScreenMonitorMCP v2

    ScreenMonitorMCP v2

    Real-time screen monitoring and visual analysis for AI assistants via MCP.

    ScreenMonitorMCP v2 is a Model Context Protocol (MCP) server enabling AI assistants to capture, analyze, and interact with screen content in real time. It supports instant screenshots, live streaming, advanced vision-based analysis, and provides performance monitoring across Windows, macOS, and Linux. Integration with clients like Claude Desktop is streamlined, offering easy configuration and broad compatibility. The tool leverages AI vision models to provide intelligent insights into screen content and system health.

    • ⭐ 64
    • MCP
    • inkbytefo/ScreenMonitorMCP
  • WebScraping.AI MCP Server

    WebScraping.AI MCP Server

    MCP server for advanced web scraping and AI-driven data extraction

    WebScraping.AI MCP Server implements the Model Context Protocol to provide web data extraction and question answering functionalities. It integrates with WebScraping.AI to offer robust tools for retrieving, rendering, and parsing web content, including structured data and natural language answers from web pages. It supports JavaScript rendering, proxy management, device emulation, and custom extraction configurations, making it suitable for both individual and team deployments in AI-assisted workflows.

    • ⭐ 33
    • MCP
    • webscraping-ai/webscraping-ai-mcp-server
  • Web Analyzer MCP

    Web Analyzer MCP

    Intelligent web content analysis and summarization via MCP.

    Web Analyzer MCP is an MCP-compliant server designed for intelligent web content analysis and summarization. It leverages FastMCP to perform advanced web scraping, content extraction, and AI-powered question-answering using OpenAI models. The tool integrates with various developer IDEs, offering structured markdown output, essential content extraction, and smart Q&A functionality. Its features streamline content analysis workflows and support flexible model selection.

    • ⭐ 2
    • MCP
    • kimdonghwi94/web-analyzer-mcp
  • ScreenPilot

    ScreenPilot

    Empower LLMs with full device control through screen automation.

    ScreenPilot provides an MCP server interface to enable large language models to interact with and control graphical user interfaces on a device. It offers a comprehensive toolkit for screen capture, mouse control, keyboard input, scrolling, element detection, and action sequencing. The toolkit is suitable for automation, education, and experimentation, allowing AI agents to perform complex operations on a user’s device.

    • ⭐ 50
    • MCP
    • Mtehabsim/ScreenPilot
  • Scrapeless MCP Server

    Scrapeless MCP Server

    A real-time web integration layer for LLMs and AI agents built on the open MCP standard.

    Scrapeless MCP Server is a powerful integration layer enabling large language models, AI agents, and applications to interact with the web in real time. Built on the open Model Context Protocol, it facilitates seamless connections between models like ChatGPT, Claude, and tools such as Cursor to external web capabilities, including Google services, browser automation, and advanced data extraction. The system supports multiple transport modes and is designed to provide dynamic, real-world context to AI workflows. Robust scraping, dynamic content handling, and flexible export formats are core parts of the feature set.

    • ⭐ 57
    • MCP
    • scrapeless-ai/scrapeless-mcp-server
  • MCP Web Research Server

    MCP Web Research Server

    Bring real-time web research and Google search capabilities into Claude using MCP.

    MCP Web Research Server acts as a Model Context Protocol (MCP) server, seamlessly integrating web research functionalities with Claude Desktop. It enables Google search, webpage content extraction, research session tracking, and screenshot capture, all accessible directly from Claude. The server supports interactive and guided research sessions, exposing session data and screenshots as MCP resources for enhanced context-aware AI interactions.

    • ⭐ 284
    • MCP
    • mzxrai/mcp-webresearch
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results