SnapAPI MCP Server
snapapi-mcp
MCP (Model Context Protocol) Server für SnapAPI — Erstellen Sie Screenshots, scrapen Sie Webseiten, extrahieren Sie Inhalte, generieren Sie PDFs, nehmen Sie Videos auf und analysieren Sie Seiten direkt aus KI-Tools wie Claude Desktop, Cursor, Windsurf, Cline und Zed.
Was ist das?
Dieses Paket führt einen lokalen MCP-Server aus, der Ihren KI-Assistenten mit der SnapAPI Web-Capture-API verbindet. Sobald die Konfiguration abgeschlossen ist, kann Ihre KI:
Screenshots erstellen von jeder URL (ganze Seite, mobil, Dark Mode, Elementauswahl, Geräteemulation)
Webseiten scrapen und sauberen Text, HTML oder Linklisten mithilfe eines echten Browsers abrufen
Inhalte extrahieren, die für die LLM-Verarbeitung optimiert sind (Markdown, Artikel, Metadaten, strukturierte Daten)
PDFs generieren aus URLs oder HTML
Videos aufnehmen von Browsersitzungen mit optionalen Interaktionsszenarien
Seiten analysieren mit KI (Extrahieren + Analysieren in einem Aufruf)
Ihre Nutzung und Kontostatistiken überprüfen
Related MCP server: Local-MCP-server
Voraussetzungen
Node.js 18 oder neuer
Ein SnapAPI-API-Schlüssel — erhältlich unter app.snapapi.pics
Schnellstart
Claude Desktop
Fügen Sie dies zu ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows) hinzu:
{
"mcpServers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}Starten Sie Claude Desktop nach dem Speichern neu.
Cursor
Fügen Sie dies zu ~/.cursor/mcp.json hinzu:
{
"mcpServers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}Windsurf
Fügen Sie dies zu ~/.codeium/windsurf/mcp_config.json hinzu:
{
"mcpServers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}Cline (VS Code)
Öffnen Sie die Cline-Einstellungen → MCP Servers → Add Server:
Command:
npxArgs:
-y snapapi-mcpEnvironment:
SNAPAPI_API_KEY=sk_live_your_key_here
VS Code (native MCP-Unterstützung)
Fügen Sie dies zu .vscode/mcp.json in Ihrem Arbeitsbereich (oder Ihren Benutzereinstellungen) hinzu:
{
"servers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}Zed
Fügen Sie dies zu ~/.config/zed/settings.json hinzu:
{
"context_servers": {
"snapapi": {
"command": {
"path": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key_here"
}
}
}
}
}Automatisierter Installer
Führen Sie das enthaltene Hilfsskript aus:
# For Claude Desktop
./install-mcp.sh claude
# For Cursor
./install-mcp.sh cursor
# For Windsurf
./install-mcp.sh windsurfVerfügbare Tools
ping
Überprüfen Sie, ob SnapAPI erreichbar ist und Ihr API-Schlüssel gültig ist. Keine Parameter erforderlich.
Beispiel-Prompt: "Ping SnapAPI, um zu prüfen, ob es funktioniert"
screenshot
Erstellen Sie einen Screenshot einer beliebigen URL mit umfangreichen Anpassungsmöglichkeiten.
Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
| string | * | URL für die Aufnahme |
| string | * | Rohes HTML zum Rendern (Alternative zu url) |
| string | * | Markdown zum Rendern (Alternative zu url) |
| string | nein |
|
| number | nein | 1–100 für jpeg/webp (Standard: 80) |
| number | nein | Viewport-Breite (Standard: 1280) |
| number | nein | Viewport-Höhe (Standard: 800) |
| boolean | nein | Ganze scrollbare Seite aufnehmen |
| string | nein | CSS-Selektor für Elementaufnahme |
| number | nein | Wartezeit in ms nach dem Laden der Seite vor der Aufnahme |
| string | nein |
|
| boolean | nein | Dunkles Farbschema |
| boolean | nein | Werbenetzwerke blockieren |
| boolean | nein | Cookie-Popups blockieren |
| string | nein | Benutzerdefiniertes CSS zum Injizieren |
| string | nein | Benutzerdefiniertes JS zum Ausführen |
| string | nein | Geräte-Preset (z. B. |
| string[] | nein | Elemente, die vor der Aufnahme ausgeblendet werden sollen |
*Mindestens einer der Parameter url, html oder markdown muss angegeben werden.
Beispiel-Prompts:
"Erstelle einen Screenshot von https://example.com im Dark Mode"
"Screenshot von https://github.com auf einem iPhone 15 Pro"
"Erstelle einen Screenshot der gesamten Seite von https://news.ycombinator.com mit blockierten Anzeigen"
"Rendere dieses HTML als Screenshot:
<h1>Hallo</h1>"
scrape
Scrapen Sie Webseiteninhalte mithilfe eines echten Browsers (JavaScript-gerenderte Seiten funktionieren).
Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | URL zum Scrapen |
| string | nein |
|
| number | nein | Zu verfolgende Seiten, 1–10 (Standard: 1) |
| number | nein | Zusätzliche Wartezeit in ms nach dem Laden der Seite |
| boolean | nein | Bilder/Medien/Schriftarten blockieren, um den Vorgang zu beschleunigen |
| string | nein | Browser-Gebietsschema (z. B. |
| boolean | nein | Residential Proxy verwenden, um Blockaden zu umgehen |
Beispiel-Prompts:
"Scrape den Textinhalt von https://example.com/blog"
"Hole alle Links von https://news.ycombinator.com"
"Scrape https://example.com/pricing als HTML"
extract
Extrahieren Sie saubere, strukturierte Inhalte, die für LLMs optimiert sind.
Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | URL zum Extrahieren |
| string | nein |
|
| string | nein | Extraktion auf ein CSS-Element begrenzen |
| string | nein | Auf CSS-Selektor warten vor dem Extrahieren |
| number | nein | Maximale Zeichenlänge |
| boolean | nein | Rauschen entfernen (Standard: true) |
| boolean | nein | Werbenetzwerke blockieren |
| boolean | nein | Cookie-Popups blockieren |
| object | nein | Benutzerdefinierte Feld-Extraktionszuordnung |
Beispiel-Prompts:
"Extrahiere den Artikelinhalt von https://example.com/post als Markdown"
"Hole die Metadaten (Titel, Beschreibung, OG-Bild) von https://example.com"
"Extrahiere Preis und Bewertung von https://example.com/product"
Generieren Sie ein PDF aus einer URL oder HTML.
Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
| string | * | URL zur PDF-Konvertierung |
| string | * | HTML zur PDF-Konvertierung (Alternative zu url) |
| string | nein |
|
| boolean | nein | Querformat |
| boolean | nein | Hintergrundgrafiken einbeziehen |
| number | nein | Skalierungsfaktor 0.1–2 |
| string | nein | Oberer Rand, z. B. |
| string | nein | Unterer Rand |
| string | nein | Linker Rand |
| string | nein | Rechter Rand |
| number | nein | Wartezeit in ms nach dem Laden der Seite |
| string | nein |
|
*Mindestens einer der Parameter url oder html muss angegeben werden.
Beispiel-Prompts:
"Generiere ein PDF von https://example.com/report im A4-Querformat"
"Konvertiere dieses HTML in ein PDF mit 2cm Rändern"
analyze
Extrahieren Sie Inhalte von einer URL und analysieren Sie diese mit einem KI-Modell in einem einzigen Aufruf.
Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | URL zur Analyse |
| string | ja | Analyseanweisung für die KI |
| string | nein |
|
| number | nein | Maximale Zeichenanzahl des Inhalts für die KI (Standard: 20000) |
Beispiel-Prompts:
"Analysiere https://example.com/article — was sind die Hauptargumente?"
"Extrahiere alle Produktspezifikationen von https://example.com/product"
"Was ist die Stimmung dieses Nachrichtenartikels: https://example.com/news"
video
Nehmen Sie eine Browsersitzung als Video (WebM) auf.
Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | URL zur Aufnahme |
| number | nein | Aufnahmedauer in Sekunden, 1–60 (Standard: 5) |
| number | nein | Viewport-Breite (Standard: 1280) |
| number | nein | Viewport-Höhe (Standard: 800) |
| string | nein | JavaScript, das während der Aufnahme ausgeführt werden soll (scrollen, klicken usw.) |
| number | nein | Wartezeit in ms vor Beginn der Aufnahme |
| string | nein |
|
| boolean | nein | Dunkles Farbschema |
| boolean | nein | Werbenetzwerke blockieren |
| boolean | nein | Cookie-Popups blockieren |
| string | nein | Geräte-Preset — verwenden Sie |
Beispiel-Prompts:
"Nimm ein 10-sekündiges Video von https://example.com auf, während nach unten gescrollt wird"
"Nimm https://example.com auf einem iPhone 15 Pro auf"
get_usage
Überprüfen Sie Ihr SnapAPI-Kontingent und Ihre monatlichen Statistiken. Keine Parameter erforderlich.
Beispiel-Prompts:
"Wie viele SnapAPI-Anfragen habe ich diesen Monat noch übrig?"
"Zeige mir meine SnapAPI-Nutzung"
list_devices
Listen Sie alle verfügbaren Geräte-Presets für Screenshot- und Videoemulation auf. Keine Parameter erforderlich.
Beispiel-Prompt: "Welche Geräte-Presets sind für Screenshots verfügbar?"
Umgebungsvariablen
Variable | Erforderlich | Beschreibung |
| Ja | Ihr SnapAPI-API-Schlüssel ( |
| Nein | API-Basis-URL (Standard: |
Entwicklung
# Clone the repo
git clone https://github.com/Sleywill/snapapi-mcp.git
cd snapapi-mcp
# Install dependencies
npm install
# Build
npm run build
# Run locally (reads MCP protocol from stdin)
SNAPAPI_API_KEY=sk_live_your_key node dist/index.jsFehlerbehebung
"SNAPAPI_API_KEY environment variable is required"
Stellen Sie sicher, dass der env-Block in Ihrer MCP-Konfiguration Ihren API-Schlüssel enthält. Prüfen Sie, ob er mit sk_live_ beginnt.
Tools erscheinen nicht in Claude Desktop Starten Sie Claude Desktop nach dem Speichern der Konfiguration neu. Überprüfen Sie die MCP-Protokolle unter:
macOS:
~/Library/Logs/Claude/mcp*.logWindows:
%APPDATA%\Claude\logs\mcp*.log
npx dauert beim ersten Ausführen zu lange
Verwenden Sie "args": ["-y", "snapapi-mcp"] — das -y-Flag bestätigt die Installationsaufforderung automatisch ohne Interaktion.
screenshot / scrape gibt einen Fehler zurück
Überprüfen Sie, ob Ihr API-Schlüssel unter app.snapapi.pics/dashboard gültig ist
Überprüfen Sie Ihr verbleibendes Kontingent mit dem
get_usage-ToolVersuchen Sie bei JavaScript-lastigen Seiten,
"waitUntil": "networkidle"und einen"delay"-Wert hinzuzufügen
analyze-Tool gibt einen Fehler zurück
Der Analyse-Endpunkt erfordert Anthropic-API-Guthaben im SnapAPI-Backend. Verwenden Sie das extract-Tool als Fallback, um den Seiteninhalt abzurufen und ihn selbst zu analysieren.
Lizenz
MIT
Available Tools
9 toolsanalyzeA
Extract content from a URL and analyze it with an AI model. Returns AI-generated insights, summaries, sentiment, or custom analysis based on your prompt. Combines web extraction with LLM analysis in one call.
Inputs: url (required), prompt (required), extractType, maxLength.
extractA
Extract clean, structured content from a URL. Returns Markdown, plain text, article data (via Mozilla Readability), OG metadata, links, images, or custom structured fields. Optimized for feeding web content to LLMs without HTML noise.
Inputs: url (required), type, selector, waitFor, +6 more.
get_usageA
Check your SnapAPI account usage, quota, and plan details for the current billing period. Shows requests used vs. limit, remaining quota, and monthly statistics.
Inputs: no named parameters.
list_devicesA
List all available device presets for screenshot and video emulation. Each preset sets the correct viewport, device scale factor, and mobile flag (phones, tablets, desktops). Pass the device id to the screenshot or video tool.
Inputs: no named parameters.
pdfB
Generate a PDF from a URL or HTML content. Supports page sizes, margins, landscape orientation, background graphics, and custom scaling.
Inputs: url, html, pdfOptions, width, +3 more.
pingA
Check that the SnapAPI service is reachable and the API key is valid. Returns the API status and current server time. Use this to verify your configuration before making other calls.
Inputs: no named parameters.
scrapeA
Scrape a URL using a real browser and return page content as plain text (Markdown), raw HTML, or a list of links. Works on JavaScript-rendered pages.
Inputs: url (required), type, pages, waitMs, +3 more.
screenshotA
Take a screenshot of a URL or render HTML/Markdown and return the image. Supports full-page capture, device emulation, dark mode, element selection, custom CSS/JS injection, ad/cookie-banner blocking, and more.
Inputs: url, html, markdown, format, +14 more.
videoA
Record a browser session as a video (WebM). Optionally runs a JavaScript scenario (clicks, scrolls, form fills) before and during recording. Returns a URL to download the recorded video.
Inputs: url (required), width, height, duration, +7 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools are clearly distinct by output type (image, PDF, video, usage, devices), but scrape and extract overlap significantly—both return Markdown, plain text, and links from a URL. Descriptions help differentiate raw scraping from structured extraction, but an agent could still be uncertain which to choose.
Names are all lowercase and readable, but conventions are mixed: some are verb+object (get_usage, list_devices), some are bare verbs (scrape, extract, analyze, ping), and some are noun-like action commands (pdf, video, screenshot). There is no consistent verb_noun pattern, though the naming is still predictable enough to navigate.
Nine tools is a well-scoped set for a browser automation and web content API. Each tool covers a distinct core capability or supporting function, with no obvious bloat or redundancy that would make the surface feel heavy.
The tool surface covers the advertised SnapAPI capabilities thoroughly: scraping, structured extraction, screenshots, PDFs, video recording, AI analysis, device presets, usage checks, and connectivity verification. There are no obvious dead ends or missing core operations for this stateless, action-oriented API.
Maintenance
Related MCP Connectors
SnapRender gives AI agents eyes on the web through a hosted MCP server. Send a public URL and get the page back as an image, a PDF or clean markdown, with no browser to run or maintain. Capture the viewport or the full page as PNG, JPEG, WebP or PDF, at desktop size or with a phone, tablet or laptop preset, in light or dark mode. Ads and cookie banners are removed by default, and you can hide elements or click one before the capture. extract_content reads the same page as markdown, text, article, links or metadata, so an agent can see a page and read it in one session. Made for monitoring and client work: batch up to 50 URLs in one job, check the cache for free before spending a capture, share signed links that render without an API key, and get webhooks when a batch finishes or a scheduled capture spots a change. Track competitors' pricing and landing pages, or send clients current screenshots of their sites. Connect with OAuth (Google, GitHub or email) or an API key. Works with Claude, ChatGPT, Cursor, VS Code and any MCP client. Free plan: 200 screenshots a month, no credit card. Paid plans from $9 a month for 2,000 up to $199 a month for 200,000. Home: https://snap-render.com Docs: https://snap-render.com/ai-agents
Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API
Web scraping, browser automation, screenshots and AI data extraction for AI agents via MCP.
Official Browserless MCP server: browser automation, scraping, screenshots and PDFs for AI agents.
Related MCP Servers
- FlicenseAqualityDmaintenanceA lightweight Model Context Protocol (MCP) server that enables your LLM to capture screenshots of any specified URL and return only the access URL for the captured image. This tool simplifies the process of generating and sharing webpage snapshots, making it perfect for integrating visual capture ca12-
- FlicenseNot gradedqualityDmaintenanceEnables tool-calling LLMs to search the internet, capture website images, extract webpage text, and more via a local MCP server.16-
- FlicenseNot gradedqualityDmaintenanceScreenshot & Render API for AI Agents. MCP Server lets Claude, Cursor capture webpages and render HTML. Direct access, no VPN needed.-
- AlicenseNot gradedqualityDmaintenanceScreenshot and HTML Rendering MCP Server for AI Agents. Capture screenshots, render HTML to images, and generate PDFs via simple API calls. Compatible with Claude, Cursor, and any MCP client.1MIT