MCP Page Capture logo

MCP Page Capture

by chasesaurabh

Captures webpage screenshots and DOM content through Puppeteer, with full-page, viewport, device emulation, and interaction steps.

Install MCP Page Capture

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "chasesaurabh-mcp-page-capture": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-page-capture"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y mcp-page-capture

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 1mo ago.

Overview

chasesaurabh/mcp-page-capture MCP server uses Puppeteer and headless Chromium to capture screenshots or extract DOM content from arbitrary URLs. It exposes `captureScreenshot` and `extractDom` over MCP, supporting viewport changes, waits, form filling, clicks, scrolling, selectors, headers, and cookies. Reach for it when an agent needs visual captures, mobile emulation, authenticated page access, or structured content from a browser-rendered page.

Use cases

  • Capture full-page screenshots of rendered websites
  • Extract content from a selected DOM region
  • Test responsive layouts with mobile device presets
  • Fill forms and click through browser workflows
  • Capture authenticated pages using headers or cookies

Key features

  • Puppeteer-driven headless Chromium screenshots
  • Viewport, full-page, and element capture
  • Rendered DOM extraction with CSS selectors
  • Six-step browser interaction schema
  • Mobile and desktop device presets
  • Headers and cookie support

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

21/21 checks healthy over the last 90d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 4d ago via OSV.dev · mcp-page-capture (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars3Stargazers on the source repository.
npm downloads42Package downloads in the last 30 days.
Last commit10mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity6 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Page Capture works

What chasesaurabh/mcp-page-capture MCP server does

The chasesaurabh/mcp-page-capture MCP server opens web pages in headless Chromium and exposes two MCP tools: captureScreenshot and extractDom. The screenshot tool returns image content, including PNG output encoded as base64, while the DOM tool returns structured page content and can limit extraction to a CSS selector.

It is intended for pages that require browser rendering rather than simple HTTP retrieval. A request can target an arbitrary URL and optionally provide request headers. The server can also work with cookies, which supports examples such as capturing a page behind a session or bearer-token-based access.

How it works

The server starts a Node.js MCP process and validates each incoming request against its schemas. Puppeteer launches or reuses a Chromium instance, navigates to the requested URL, performs the requested actions, and returns structured results to the MCP client.

Screenshot workflows use six primary step types:

  • viewport sets a device preset or explicit dimensions.
  • wait pauses for a selector or duration.
  • fill enters values into text fields, selects, checkboxes, or radio buttons.
  • click activates an element and can wait for another selector.
  • scroll moves to a selector or vertical position.
  • screenshot captures the viewport, an element, or the complete page.

The server adds a screenshot step when one is omitted and can correct step ordering by moving viewport first and screenshot last. Login and search patterns are also documented as higher-level inputs that expand into multiple actions.

Setup and configuration

The chasesaurabh/mcp-page-capture MCP server requires Node.js 18 or newer and npm 9 or newer. Chromium download permissions are needed on the first run, and the runtime must be able to reach the requested URLs. Install it from npm with npx mcp-page-capture, or clone the repository and run npm install, npm run build, and npm start.

For local MCP client configuration, the repository shows a Node command that starts dist/cli.js. The path may need to be absolute depending on the working directory. Development mode is available through npm run dev. Docker build and run instructions are also provided for environments that need a packaged Chromium setup.

Tools and capabilities

captureScreenshot supports normal viewport captures, full-page images, element screenshots, device presets such as mobile and tablet profiles, interaction steps, custom headers, and cookie setup. extractDom can retrieve rendered content for a page or a selected CSS region. The schema exposes four top-level request areas: url, steps, headers, and validate.

The implementation includes automatic retries with exponential backoff, structured logging, defensive error handling, telemetry hooks, and pluggable local filesystem, S3, and memory storage backends.

Limitations and notes

The server depends on a working Chromium installation or download and network access to every target URL. Browser actions may require selectors that match the target page. No external API key is listed as a requirement.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Page Capture

Install it from npm with `npx mcp-page-capture`, or clone the repository and run `npm install` followed by `npm run build` and `npm start`.

It requires Node.js 18 or newer and npm 9 or newer.

Call `captureScreenshot` with a `screenshot` step whose `fullPage` value is `true`.

Yes. Use the `extractDom` tool and optionally provide a CSS selector to limit the extracted content.

The supplied examples show custom request headers and cookie setup, including a bearer authorization header and a session cookie.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Page Capture AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/chasesaurabh-mcp-page-capture?style=directory)](https://allmcps.com/mcp/chasesaurabh-mcp-page-capture)
HTML Embed
<a href="https://allmcps.com/mcp/chasesaurabh-mcp-page-capture"><img src="https://allmcps.com/api/badge/chasesaurabh-mcp-page-capture?style=directory" alt="MCP Page Capture on AllMCPs" /></a>