Skip to content
Conduit

mcp server

capturekit-mcp

Official MCP server for the CaptureKit screenshot API.

capturekitdev/capturekit-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "capturekit-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@capturekitdev/mcp"
      ],
      "env": {
        "CAPTUREKIT_API_KEY": "<your CAPTUREKIT_API_KEY>"
      }
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Nov 8, 2026

CaptureKit MCP Server

Official Model Context Protocol server for the CaptureKit screenshot API.

Capture websites as PNG, JPEG, WebP or PDF, extract their content, or analyse them with AI.

It lets Claude, Cursor, VS Code, Windsurf and any MCP client call the API as tools. Runs over stdio (local) or Streamable HTTP (self-hosted).

Requirements

  • Node.js 20 or newer
  • a CaptureKit API key — sign up, then copy it from the dashboard

Hosted server (recommended)

CaptureKit runs this server for you at https://mcp.capturekit.dev/ (Streamable HTTP). Send your API key in the x-api-key header; nothing to install.

claude mcp add --transport http capturekit https://mcp.capturekit.dev/ --header "x-api-key: YOUR_API_KEY"
{
  "mcpServers": {
    "capturekit": {
      "url": "https://mcp.capturekit.dev/",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

The hosted server and this package expose the same API; run the package locally when you want stdio, your own network egress, or to self-host it.

Run it locally

Claude Code

claude mcp add capturekit --env CAPTUREKIT_API_KEY=YOUR_API_KEY -- npx -y @capturekitdev/mcp

Claude Desktop, Cursor, Windsurf and other clients

Add the server to the client's MCP configuration (claude_desktop_config.json, .cursor/mcp.json…):

{
  "mcpServers": {
    "capturekit": {
      "command": "npx",
      "args": ["-y", "@capturekitdev/mcp"],
      "env": {
        "CAPTUREKIT_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

VS Code

{
  "servers": {
    "capturekit": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@capturekitdev/mcp"],
      "env": {
        "CAPTUREKIT_API_KEY": "${input:capturekit-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "capturekit-api-key",
      "description": "CaptureKit API key",
      "password": true
    }
  ]
}

Claude Desktop extension

Download the .mcpb bundle from the releases page and open it; Claude Desktop asks for your API key.

Docker

docker build -t capturekit-mcp .
docker run -i --rm -e CAPTUREKIT_API_KEY=YOUR_API_KEY capturekit-mcp

Tools

ToolDescription
analyzeAI Content API analyzes any webpage and returns AI insights summary, value proposition, features, categories, use cases, and optional contact signals.
captureBrowser-like Screenshot API that captures webpages as PNG/JPEG/WebP or PDF for previews, QA, reporting, monitoring, and archiving no headless setup.
contentCaptureKit Content API extracts structured webpage data, metadata, links, HTML/Markdown: in one request for SEO, monitoring, indexing and automation.
statsInfrastructure health for an engine or endpoint over the last hour. Not scoped to your account or tenant. Enabled per account: HTTP 403 means contact support to activate it.
usageRetrieve real-time usage statistics and credit balance for your CaptureKit account.
website_crawlerWebsite Crawler API fetches raw HTML from any webpage in request mode (no rendering) for fast scraping, audits, monitoring, and link/metadata extraction.

Every tool that calls the API consumes credits. JSON results are returned as text; images are returned inline and other files (PDF…) as embedded resources, up to 4 MB.

Streamable HTTP

npx @capturekitdev/mcp --http --port 3000

The endpoint is POST /mcp (stateless, JSON responses). Each client sends its own key in the x-api-key header (or Authorization: Bearer <key>); the server never uses a key of its own. It binds to 127.0.0.1 by default and rejects browser origins unless you allow them — put it behind TLS before exposing it.

createHttpHandler() is exported for Fetch-compatible runtimes (Cloudflare Workers, Deno, Bun):

import { createHttpHandler } from "@capturekitdev/mcp";

export default { fetch: createHttpHandler({ allowedOrigins: [] }) };

Security

  • The API key is read from CAPTUREKIT_API_KEY (stdio) or the request headers (HTTP) and removed from error messages.
  • Content fetched from websites is untrusted: the server instructions tell the model to treat it as data, not instructions.
  • See SECURITY.md to report a vulnerability.

Development

npm install
npm test
npm run build
npx @modelcontextprotocol/inspector node dist/stdio.js

Built on the SDK

The server uses the official Node.js SDK (@capturekitdev/sdk).

All CaptureKit SDKs

SDKPackageInstall
Node.js@capturekitdev/sdknpm install @capturekitdev/sdk
Pythoncapturekitdevpip install capturekitdev
Gocapturekit-gogo get github.com/capturekitdev/capturekit-go
.NETCaptureKitdotnet add package CaptureKit
Rubycapturekitdevgem install capturekitdev
PHPcapturekitdev/sdkcomposer require capturekitdev/sdk
Javacapturekit-javabuild from source, see its README
CLI@capturekitdev/clinpm install -g @capturekitdev/cli
MCP server@capturekitdev/mcpnpx -y @capturekitdev/mcp

License

MIT — see LICENSE.

↑↓ navigate openesc close