# OpenScreenShot

Captures full-page or viewport screenshots using your local browser or cloud rendering. Helpful for visual checks by AI agents.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 87
- Author: PGHQdev
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/PGHQdev/OpenScreenShot/tree/HEAD/mcp
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/openscreenshot

## What it does

This MCP server gives AI agents a tool called `capture_screenshot` to render web pages. It interacts with your machine's preinstalled Chrome or Edge instances rather than packaging its own heavy binary. Captures can focus on a fixed viewport or document the full scroll height as a PNG image. Built-in redaction hides elements matching CSS selectors, pixel rectangles, or patterns like emails and secrets.

For local execution, the environment must provide a Node runtime starting from build 22.12 together with an existing desktop browser. Without an accessible Chrome or Edge installation, local capture commands fail immediately. Connecting to the optional cloud service removes local browser dependency and allows exporting into PDF or WebP.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://cloud.openscreenshot.app/mcp`
- Environment variables: `CHROME_PATH`, `OPENSCREENSHOT_API_KEY`, `OPENSCREENSHOT_CLOUD_URL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add --env CHROME_PATH=<CHROME_PATH> --env OPENSCREENSHOT_API_KEY=<OPENSCREENSHOT_API_KEY> --env OPENSCREENSHOT_CLOUD_URL=<OPENSCREENSHOT_CLOUD_URL> --transport stdio mcp -- npx -y openscreenshot
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http mcp https://cloud.openscreenshot.app/mcp
```

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add mcp --url https://cloud.openscreenshot.app/mcp
```

2. **Platform CLI**
```bash
codex mcp add mcp --env CHROME_PATH=<CHROME_PATH> --env OPENSCREENSHOT_API_KEY=<OPENSCREENSHOT_API_KEY> --env OPENSCREENSHOT_CLOUD_URL=<OPENSCREENSHOT_CLOUD_URL> -- npx -y openscreenshot
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp": {
            "url": "https://cloud.openscreenshot.app/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp": {
            "command": "npx",
            "args": [
                "-y",
                "openscreenshot"
            ],
            "env": {
                "CHROME_PATH": "<CHROME_PATH>",
                "OPENSCREENSHOT_API_KEY": "<OPENSCREENSHOT_API_KEY>",
                "OPENSCREENSHOT_CLOUD_URL": "<OPENSCREENSHOT_CLOUD_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp": {
            "type": "http",
            "url": "https://cloud.openscreenshot.app/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "openscreenshot"
            ],
            "env": {
                "CHROME_PATH": "<CHROME_PATH>",
                "OPENSCREENSHOT_API_KEY": "<OPENSCREENSHOT_API_KEY>",
                "OPENSCREENSHOT_CLOUD_URL": "<OPENSCREENSHOT_CLOUD_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http mcp https://cloud.openscreenshot.app/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e CHROME_PATH=<CHROME_PATH> -e OPENSCREENSHOT_API_KEY=<OPENSCREENSHOT_API_KEY> -e OPENSCREENSHOT_CLOUD_URL=<OPENSCREENSHOT_CLOUD_URL> mcp npx -y openscreenshot
```
Replace <…> with your own values

## When to use it
- capture entire scrollable web pages inside AI chats
- test responsive designs by specifying custom viewport dimensions
- mask sensitive emails, tokens, and UI elements on captured images
- render web content to PDF or WebP using cloud endpoints

## Example prompts
- Capture a full-page screenshot of `https://example.com` and save it to `page.png`
- Take a screenshot of `https://example.com` at 390 by 844 resolution to inspect the mobile layout
- Screenshot `https://example.com` with email addresses and `#profile-card` redacted

## Similar
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32221
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23263
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [apify-mcp-server](https://affpapa.org/en/nevibecode/mcp/apify-mcp-server.md) — MCP server · ★ 12927

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
