claude mcp add mcp-page-capture -- npx -y mcp-page-capture
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
3 โ ยท chasesaurabh/mcp-page-capture ยท read from the GitHub search API ยท (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list ยท type: MCP server
Harvest history
first seen 2026-10-09 ยท last seen 2026-10-16 ยท seen 32ร ยท listed by 7 sources
Score
score 703 ยท 3 โ ยท 7 sources ยท mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP ๆๅก. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository chasesaurabh/mcp-page-capture๏ผfirst catalogued 2026-10-09๏ผlast seen 2026-10-16ใThere is no official certification or quality rating here โ we record sources and dates only.
mcp-page-capture is a Model Context Protocol (MCP) server that orchestrates headless Chromium via Puppeteer to capture pixel-perfect screenshots of arbitrary URLs. It is optimized for Copilot/MCP-enabled environments and can be embedded into automated workflows or run as a standalone developer tool. Features - ๐ธ High-fidelity screenshots powered by Puppeteer and headless Chromium - โ๏ธ **LLM-optimized schema** with minimal parameters exposed and sensible defaults - ๐ Structured DOM extraction with optional CSS selectors for AI-friendly consumption - ๐ฑ Device presets for mobile emulation (iPhone, iPad, Android, desktop) - ๐ฏ **6 simplified steps** for LLM friendliness: viewport, wait, fill, click, scroll, screenshot - ๐ค **Smart defaults** - screenshot auto-captured, field types auto-detected - ๐ **Consistent parameters** - target for elements, for for waiting, to for scrolling, device for viewport - ๐ Automatic retry with exponential backoff for transient failures - ๐ Telemetry hooks for centralized observability and monitoring - ๐พ Pluggable storage backends (local filesystem, S3, memory) - ๐ก๏ธ Structured logging plus defensive error handling for operational visibility - ๐ Launch via npm start, npm run dev, or as a long-lived MCP sidecar - ๐ณ Docker image with multi-platform support (amd64, arm64) How It Works 1. The MCP transport boots a Node.js server and registers the captureScreenshot and extractDom tools. 2. Incoming tool invocations are validated against the relevant type definitions. 3. Puppeteer starts (or reuses) a Chromium instance, navigates to the requested URL, and either captures a screenshot or serializes the DOM according to the tool parameters. 4. The server returns structured content (images, text, DOM trees, metadata) to the caller or downstream workflow. Requirements - Node.js โฅ 18.x - npm โฅ 9.x - Chromium package download permissions (first run) - Network access to the target URLs ๐ LLM-Friendly Features Simplified Schema (5-Star LLM Rating) - โ Only 4 top-level parameters: url, steps, headers, validate - โ Exactly 6 step types (no more, no less) - โ Consistent parameter naming across all steps - โ Automatic screenshot if omitted - โ Smart field type detection - โ Actionable error messages with recovery suggestions - โ Single source of truth for all schemas - โ Deprecation warnings for legacy parameters - โ **NEW**: Validate mode for pre-flight step checking - โ **NEW**: Step order enforcement with auto-correction - โ **NEW**: Embedded LLM reference in MCP server instructions Quick Start for LLMs See **LLM Quick Reference** for the 6 primary step types and common patterns. For advanced features, see **Advanced Steps**. The 6 Step Types (Exactly 6, No More) | Step | Purpose | Key Parameters | Example | |------|---------|----------------|--------| | viewport | Set device | device, width, height | { "type": "viewport", "device": "mobile" } | | wait | Wait for element/time | for OR duration, timeout | { "type": "wait", "for": ".loaded" } | | fill | Fill form field | target, value, submit | { "type": "fill", "target": "#email", "value": "a@b.com" } | | click | Click element | target, waitFor | { "type": "click", "target": "button", "waitFor": ".result" } | | scroll | Scroll page | to, y | { "type": "scroll", "to": "#footer" } | | screenshot | Capture (auto-added) | fullPage, element | { "type": "screenshot", "fullPage": true } | **Step Order**: Auto-fixed! viewport auto-moves to first, screenshot auto-added at end. Composite Patterns (NEW) High-level patterns that auto-expand to multiple steps: Installation From source (recommended during development) From npm Running the server For hot reload while iterating locally, run npm run dev. Why Docker? - Guarantees a consistent Puppeteer + Chromium environment with all system libraries when teammates or CI run the server. No more "it works on my machine" mismatches. - Provides a ready-to-deploy container image for hosting mcp-page-capture as a sidecar/service on Kubernetes, ECS, Fly.io, etc.