# chasesaurabh/mcp-page-capture [Health: Active]

**Category:** 🔎 Search & Data Extraction  
**Repository:** https://github.com/chasesaurabh/mcp-page-capture  
**GitHub Stars:** 3  
**npm Downloads (last month):** 42  
**Views:** 6  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/chasesaurabh-mcp-page-capture

## Description
MCP server that captures webpage screenshots, with viewport or full-page options and base64 PNG output.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "mcp-page-capture": {
    "command": "npx",
    "args": ["-y","mcp-page-capture"]
  }
}
```

## Documentation

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

_Full upstream README: https://allmcps.com/mcp/chasesaurabh-mcp-page-capture/readme_

