npm package: @screenshotsage/mcp-server
Description: MCP server for ScreenshotSage - Capture website screenshots from AI assistants
Author: ScreenshotSage
Latest version: 1.0.0

# ScreenshotSage MCP Server

An MCP (Model Context Protocol) server that enables AI assistants to capture website screenshots using the [ScreenshotSage](https://screenshotsage.com) API.

## Installation

```bash
npm install -g @screenshotsage/mcp-server
```

Or run directly with npx:

```bash
npx @screenshotsage/mcp-server
```

## Configuration

### Get an API Key

1. Sign up at [screenshotsage.com](https://screenshotsage.com)
2. Go to your dashboard and create an API key
3. Set the `SCREENSHOTSAGE_API_KEY` environment variable

### Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

```json
{
  "mcpServers": {
    "screenshotsage": {
      "command": "npx",
      "args": ["@screenshotsage/mcp-server"],
      "env": {
        "SCREENSHOTSAGE_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

### Claude Code

Add to your Claude Code MCP settings:

```json
{
  "mcpServers": {
    "screenshotsage": {
      "command": "npx",
      "args": ["@screenshotsage/mcp-server"],
      "env": {
        "SCREENSHOTSAGE_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

## Available Tools

### capture_screenshot

Capture a screenshot of any website URL.

**Parameters:**

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL to capture |
| `format` | string | No | Output format: `png`, `jpeg`, `webp`, `pdf`, `html` |
| `width` | number | No | Viewport width (320-3840, default: 1200) |
| `height` | number | No | Viewport height (200-3840) |
| `fullPage` | boolean | No | Capture full scrollable page |
| `devicePreset` | string | No | Device preset: `desktop`, `tablet`, `mobile` |
| `darkMode` | boolean | No | Force dark color scheme |
| `delay` | number | No | Delay before capture in ms (0-10000) |
| `waitForSelector` | string | No | CSS selector to wait for |
| `blockAds` | boolean | No | Block advertisements |
| `blockCookieBanners` | boolean | No | Block cookie consent banners |
| `hideSelectors` | array | No | CSS selectors to hide |
| `geolocation` | object | No | Emulate location `{latitude, longitude, accuracy}` |
| `timezone` | string | No | IANA timezone (e.g., "America/New_York") |
| `language` | string | No | Accept-Language header |

**Example usage in Claude:**

> "Take a screenshot of https://example.com"

> "Capture a full-page mobile screenshot of https://news.ycombinator.com in dark mode"

> "Screenshot https://maps.google.com with geolocation set to New York City"

### get_screenshot

Get metadata for a previously captured screenshot.

**Parameters:**

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | number | Yes | The screenshot ID |

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `SCREENSHOTSAGE_API_KEY` | Yes | Your ScreenshotSage API key |
| `SCREENSHOTSAGE_BASE_URL` | No | API base URL (default: https://screenshotsage.com) |

## Examples

### Basic Screenshot

Ask Claude: "Take a screenshot of https://github.com"

### Mobile Screenshot with Dark Mode

Ask Claude: "Capture a mobile screenshot of https://twitter.com in dark mode"

### Full Page with Ad Blocking

Ask Claude: "Take a full-page screenshot of https://medium.com with ads blocked"

### Screenshot with Geolocation

Ask Claude: "Screenshot Google Maps centered on Paris, France"

## Pricing

The MCP server uses your ScreenshotSage API quota. See [pricing](https://screenshotsage.com/pricing) for plan details:

- **Free**: 200 screenshots/month
- **Starter**: 1,000 screenshots/month
- **Professional**: 5,000 screenshots/month

## Links

- [ScreenshotSage Website](https://screenshotsage.com)
- [API Documentation](https://screenshotsage.com/docs)
- [Dashboard](https://screenshotsage.com/dashboard)

## License

MIT