Skip to main content
Glama
dhanavathsrikanth

screenshotapi-mcp

README.md
# ScreenshotAPI MCP Server

An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server for [ScreenshotAPI](https://screenshotapi.tech) — capture screenshots, extract page content as Markdown, and manage your account from any MCP-compatible AI agent.

## Tools

| Tool | Description |
|------|-------------|
| `render-screenshot` | Capture a screenshot of any URL with full control over viewport, device emulation, format, and blocking options |
| `capture-element` | Capture a specific CSS selector on a page — great for headers, articles, or widgets |
| `convert-to-markdown` | Render a page and return its content as clean Markdown |
| `get-usage` | Check your account quota, credits balance, and feature entitlements |
| `get-screenshot` | Retrieve a screenshot job by ID (for polling async jobs) |

## Quick Start

Run directly with npx — no installation needed:

```bash
SCREENSHOTAPI_KEY=your_api_key npx --yes screenshotapi-mcp
```

## Claude Desktop Configuration

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "screenshotapi": {
      "command": "npx",
      "args": ["--yes", "screenshotapi-mcp"],
      "env": {
        "SCREENSHOTAPI_KEY": "sk_live_your_api_key_here"
      }
    }
  }
}
```

## Other MCP Clients

Any MCP client can connect via stdio. Run the server directly:

```bash
SCREENSHOTAPI_KEY=your_api_key node build/index.js
```

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `SCREENSHOTAPI_KEY` | Yes | Your ScreenshotAPI API key (`sk_live_...` or `sk_test_...`) |
| `SCREENSHOTAPI_URL` | No | API base URL (default: `https://api.screenshotapi.tech`) |

Get your API key at [screenshotapi.tech/dashboard](https://screenshotapi.tech/dashboard).

## Building from Source

```bash
git clone https://github.com/your-org/screenshotapi-mcp.git
cd screenshotapi-mcp
npm install
npm run build
SCREENSHOTAPI_KEY=your_key node build/index.js
```

## License

MIT

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation4/5

Tools are mostly distinct: render-screenshot captures full pages, capture-element targets specific DOM elements, convert-to-markdown extracts text, get-screenshot retrieves by ID, and get-usage is account-related. The only minor overlap is between the two capture tools, but their descriptions clearly differentiate full-page vs. element capture.

Naming Consistency5/5

All tool names follow a consistent verb-noun pattern with hyphenated lowercase (render-screenshot, capture-element, convert-to-markdown, get-usage, get-screenshot). The verbs clearly indicate actions, and the nouns identify the object, making the naming predictable and easy to infer.

Tool Count5/5

With 5 tools, the server is well-scoped for a screenshot utility. Each tool serves a distinct purpose without redundancy, covering the core capture, retrieval, conversion, and account management needs. This count is appropriate and not overwhelming or thin.

Completeness4/5

The tool surface covers the primary workflow: capturing screenshots (full-page and element), converting to markdown, retrieving past captures, and checking usage. Minor gaps exist, such as no tool for listing all captures or deleting them, but these are not essential for the core screenshot API functionality and can be worked around.

Maintenance

ActivityMaintained
ResponsivenessNo issues