# PGHQdev/OpenScreenShot [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/PGHQdev/OpenScreenShot/tree/main/mcp  
**GitHub Stars:** 92  
**npm Downloads (last month):** 1151  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/pghqdev-openscreenshot

## Description
Website screenshots from a local headless Chrome, with selector, text-pattern and rectangle redaction before capture; also a CLI.

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

```json
"mcpServers": {
  "openscreenshot": {
    "command": "npx",
    "args": ["-y","openscreenshot"]
  }
}
```

## Documentation

## What PGHQdev/OpenScreenShot MCP server does

PGHQdev/OpenScreenShot exposes local website capture through the Model Context Protocol. It launches a headless browser available on the machine, loads a full URL, and returns the result as PNG image content to the MCP client. Captures can cover only the configured viewport or the complete scrollable page.

The server is accompanied by an `openscreenshot` command-line interface. The CLI writes local PNG files by default and can send image bytes to stdout, which makes it suitable for shell pipelines and CI jobs. It also supports viewport dimensions, full-page mode, and the same three redaction approaches available through MCP.

## How it works

An MCP client starts the package as a local process over standard input and output. Running `openscreenshot serve` explicitly starts that server mode; invoking `openscreenshot` without arguments on piped stdin does the same. There is no MCP URL to configure for the local setup.

The primary MCP tool is `capture_screenshot`. Its required `url` must be a complete page address, such as an `https://` URL. `fullPage` controls whole-page capture, while `width` and `height` set the viewport within the supported ranges of 200–3840 pixels wide and 200–2160 pixels high.

Redaction is applied before the image is produced. CSS selectors cover matching elements and their children, named patterns find email addresses, phone-like numbers, or secrets, and rectangles cover pixel coordinates in the output image. The resulting MCP response contains `image/png` content rather than a named file.

## Setup and configuration

The runtime requires Node.js 22.12 or newer and an installed Google Chrome, Chromium, or Microsoft Edge. The package does not download or bundle a browser, so the browser executable must already be available on the machine.

Clients using an `mcpServers` configuration can launch it with `npx -y openscreenshot`:

```json
{
  "mcpServers": {
    "openscreenshot": {
      "command": "npx",
      "args": ["-y", "openscreenshot"]
    }
  }
}
```

Claude Code can register the same command with `claude mcp add openscreenshot -- npx -y openscreenshot`. After changing configuration, reload or restart the client, and ensure that `npx` or the selected package runner is on its `PATH`.

## Tools and capabilities

- Capture viewport or full-page website screenshots.
- Set desktop-style viewport width and height.
- Redact elements with CSS selectors.
- Redact email, phone, or secret text patterns, including form values.
- Cover output coordinates with rectangular black boxes.
- Return PNG image content through MCP.
- Write PNG files or stdout bytes through the CLI.
- Optionally render through OpenScreenShot Cloud from the CLI or MCP flow when configured for cloud use.

## Limitations and notes

The MCP tool does not save a named file; use the CLI when a filesystem path is required. Local output is PNG, and choosing a `.jpg` or `.pdf` filename does not convert it. The CLI can request other formats only with the cloud option.

A narrow viewport changes layout width but retains a desktop user agent; it does not emulate mobile touch behavior or device pixel ratio. Selector redaction fails when a selector is invalid or matches no element. A successful CLI exit code confirms that a file was written, not that the page rendered correctly, so captures should be checked for loading states or error pages.

_Full upstream README: https://allmcps.com/mcp/pghqdev-openscreenshot/readme_

