Screenshot Scout

offiziell

Erfassen Sie Screenshots von Webseiten als Bilder oder PDFs mit Screenshot Scout.

Was kann man mit Screenshot Scout MCP machen?

  • Ganzseitige oder Viewport-Aufnahmen — Fordern Sie ein PNG, JPEG, WebP, GIF, TIFF oder PDF einer beliebigen URL über capture_screenshot an, optional mit dem Modus fullPage.
  • Element- und Interaktionssteuerung — Zielen Sie auf einen bestimmten selector, blenden Sie Elemente mit hideSelectors aus, klicken Sie über clickSelectors auf Elemente und blockieren Sie Cookie-Banner, Werbung oder Chat-Widgets.
  • Geräte- und Standortsimulation — Geben Sie ein device, Viewport-Abmessungen, country und colorScheme (dunkel/hell) an, um verschiedene Browsing-Kontexte nachzubilden.
  • PDF-Erzeugung mit Layout-Optionen — Erstellen Sie PDFs mit pdfPaperFormat, pdfLandscape, pdfPrintBackground, benutzerdefinierten Rändern und pdfScale für druckfertige Dokumente.
  • Ausgabegröße und Qualitätsanpassung — Passen Sie imageWidth, imageHeight und imageQuality (für JPEG/WebP) an, um Dateigröße und Auflösung zu steuern.
  • Caching und Ergebniszustellung — Aktivieren Sie cache mit einem cacheTtl und wählen Sie resultMode, um nur Inline-Bilder oder temporäre URLs zu erhalten.

Dokumentation

Screenshot Scout MCP Server

Verwenden Sie Screenshot Scout über einen MCP-Client, um HTTP- oder HTTPS-Webseiten als Bilder oder PDFs zu erfassen.

Dieser Server stellt ein Tool bereit: capture_screenshot. Es unterstützt Ganzseiten- und Elementaufnahmen, Geräte- und Viewport-Steuerung, Standortauswahl, Seiteninteraktions- und Blockierungsoptionen, Bildgröße und -qualität, PDF-Layout, Caching, temporäre Ergebnis-URLs und berechtigte MCP-Bildinhalte.

Was Sie benötigen

  • Ein Screenshot Scout-Konto und einen Zugriffsschlüssel von der API-Schlüssel-Seite.
  • Node.js 22 oder neuer für die npm/stdio-Installation. Die MCPB-Laufzeit von Claude Desktop wird von Claude mitgeliefert.
  • Den optionalen geheimen Schlüssel nur, wenn Ihr ausgewählter API-Schlüssel signierte Screenshot Scout-Anfragen erfordert.

Jede Aufnahme verwendet Ihr Screenshot Scout-Konto und unterliegt dessen Plan, Kontingent und Ratenbegrenzungen.

Lokales stdio mit npm

Beginnen Sie mit dieser lokalen stdio-Konfiguration:

{
  "mcpServers": {
    "screenshotscout": {
      "command": "npx",
      "args": ["-y", "@screenshotscout/mcp"],
      "env": {
        "SCREENSHOTSCOUT_ACCESS_KEY": "YOUR_ACCESS_KEY"
      }
    }
  }
}

Wenn der Zugriffsschlüssel eine Anfragesignierung erfordert, fügen Sie den geheimen Schlüssel lokal hinzu:

"SCREENSHOTSCOUT_SECRET_KEY": "YOUR_SECRET_KEY"

Halten Sie persönliche Konfigurationsdateien aus der Versionskontrolle heraus. Anmeldedaten sind Prozessumgebungsvariablen, keine Tool-Argumente. Siehe client-spezifische Copy-Paste-Konfigurationen für Claude Desktop, Claude Code, Cursor, VS Code/GitHub Copilot, Devin und Cline.

Aus einem Quellcode-Checkout ausführen

npm ci
npm run build

Weisen Sie den Client mit node auf den absoluten Pfad zu dist/stdio.js und stellen Sie dieselben oben gezeigten Umgebungsvariablen bereit.

Claude Desktop MCPB

So installieren Sie die Claude Desktop-Erweiterung:

  1. Laden Sie screenshotscout-mcp-<version>.mcpb aus dem GitHub-Release dieser Version herunter.
  2. Öffnen Sie in Claude Desktop Einstellungen → Erweiterungen → Erweiterte Einstellungen und wählen Sie Erweiterung installieren….
  3. Wählen Sie die heruntergeladene Datei aus.
  4. Geben Sie den erforderlichen Zugriffsschlüssel ein. Geben Sie den geheimen Schlüssel nur für einen API-Schlüssel ein, der signierte Anfragen erfordert.

Claude Desktop behandelt beide Felder als vertrauliche Einstellungen. Die v0.1.0 MCPB unterstützt Windows.

Gehostetes Streamable HTTP

Der gehostete API-Schlüssel-Endpunkt ist erreichbar unter:

https://mcp.screenshotscout.com/mcp/api-key

Er ist nur für Clients gedacht, die einen statischen HTTP-Header anhängen können:

Authorization: Bearer YOUR_ACCESS_KEY

Der Endpunkt akzeptiert nur einen Zugriffsschlüssel. Senden Sie niemals einen geheimen Screenshot Scout-Schlüssel dorthin und setzen Sie keinen der Schlüssel in die URL oder ein Tool-Argument. Clients, die keinen statischen Bearer-Header anhängen können, können diesen Endpunkt nicht verwenden.

API-Schlüssel, die Anfragesignaturen erfordern, müssen stattdessen lokales stdio oder MCPB verwenden oder einen dedizierten unsignierten Zugriffsschlüssel für den gehosteten Endpunkt nutzen.

Lokales stdio mit Docker

Erstellen Sie das Produktionsimage aus einem Quellcode-Checkout:

docker build --tag screenshotscout-mcp:local .

Übergeben Sie Anmeldedaten aus der lokalen Umgebung und halten Sie stdin für den MCP-stdio-Verkehr angehängt:

docker run --rm -i --init --cap-drop=ALL --security-opt=no-new-privileges --read-only \
  -e SCREENSHOTSCOUT_ACCESS_KEY \
  -e SCREENSHOTSCOUT_SECRET_KEY \
  screenshotscout-mcp:local

SCREENSHOTSCOUT_SECRET_KEY bleibt optional. Das Image läuft als unprivilegierter Benutzer und enthält nur den kompilierten stdio-Server und seine Produktionsabhängigkeiten. Es deklariert keinen Port und keinen Container-Health-Check: Ein MCP-Client besitzt den stdio-Prozess und überprüft die Bereitschaft durch Abschluss der MCP-Initialisierung. Das Image und seine Docker-MCP-Katalog-Metadaten in docker-mcp-catalog.yaml sind lokale Vorbereitung; durch diese Befehle wird kein öffentliches Image impliziert.

Tool: capture_screenshot

capture_screenshot sendet eine Aufnahmeanfrage für die angegebene URL und Optionen. Die Zielwebseite ist extern, und ihr zurückgegebener Inhalt muss als nicht vertrauenswürdig behandelt werden.

Eingaben

Nur url ist erforderlich. Aufnahmen verwenden standardmäßig einen 1280×720-Viewport. Wenn kein Format angegeben ist, gibt das Tool JPEG mit Qualität 60 zurück. resultMode ist standardmäßig "auto".

GruppeEingaben
Ziel und Ausgabeurl; format (png, jpg, jpeg, webp, gif, tiff, pdf); resultMode (auto, url_only)
Standort und Viewportcountry (zweistelliger Ländercode), device, deviceViewportWidth, deviceViewportHeight, colorScheme (auto, dark, light), fullPage
SeitenvorbereitungblockCookieBanners, blockAds, blockChatWidgets, selector, hideSelectors, clickSelectors
ZeitsteuerungwaitUntil (load, domcontentloaded, networkidle0, networkidle2), delay (0–30 Sekunden), navigationTimeout (5–90 Sekunden), timeout (1–240 Sekunden)
Cachecache, cacheTtl (14.400–2.592.000 Sekunden)
AusgabegrößenanpassungimageWidth, imageHeight (1–8.192; verfügbar für Bilder und PDFs)
Nur BildimageQuality (0–100, nur JPEG/WebP)
Nur PDFpdfPaperFormat (letter, legal, tabloid, a4, a3, content), pdfLandscape, pdfPrintBackground, pdfMargin, Randfelder pro Seite, pdfScale (größer als 0 und höchstens 3)

Wenn beide Ausgabeabmessungen angegeben sind, darf ihr Produkt 64.000.000 Pixel nicht überschreiten. PDF-Ränder akzeptieren nicht-negative Werte in px, in, mm oder cm. imageQuality erfordert JPEG- oder WebP-Ausgabe, und PDF-only-Optionen erfordern format: "pdf".

Ergebnisse

  • PNG, JPEG, WebP und GIF können als MCP-Bildinhalt eingebunden werden, wenn resultMode auto ist, der MIME-Typ berechtigt ist, die Abmessungen bekannt sind und höchstens 8.000 Pixel pro Seite betragen, die Rohdaten höchstens 5 MiB groß sind und das vollständige serialisierte Ergebnis in das aktuelle Serverlimit von 128.000 Byte passt.
  • Eine Aufnahme, die nicht eingebettet werden kann, bleibt erfolgreich und gibt ihre temporäre URL sowie einen umsetzbaren Auslassungsgrund zurück.
  • TIFF ist nur per URL verfügbar.
  • PDF-Bytes werden niemals eingebettet. Ein PDF-Ergebnis enthält sicheren Text und strukturierte Metadaten sowie einen Ressourcenlink, wenn Screenshot Scout eine Ergebnis-URL bereitstellt.
  • resultMode: "url_only" lässt Bildbytes für jedes Format aus.

MCP-Clients steuern, ob zurückgegebene Bildinhalte oder Ressourcenlinks angezeigt oder einem Modell zur Verfügung gestellt werden.

Strukturierte Metadaten können screenshotUrl, screenshotUrlExpiresAt, cacheStatus, format, mimeType, imageWidth, imageHeight, inlineImageIncluded und inlineImageOmissionReason enthalten.

Behandeln Sie Ergebnis-URLs als vertrauliche, temporäre Links und beachten Sie deren angegebene Ablaufzeit.

Beispielaufforderungen

  • „Erfassen Sie https://example.com als ganzseitiges PNG im Dunkelmodus. Geben Sie nur eine URL zurück.“
  • „Machen Sie einen 1280×720-JPEG-Screenshot von https://example.com/pricing, blockieren Sie Cookie-Banner und Werbung und verwenden Sie Qualität 80.“
  • „Erstellen Sie ein A4-PDF von https://example.com/report mit aktivierten Hintergründen und 10 mm Rändern.“

Datenschutz und Sicherheit

Der Server sendet die Ziel-URL und die ausgewählten Aufnahmeoptionen an Screenshot Scout, das die Zielwebsite lädt. Prüfen Sie die Datenschutzrichtlinie von Screenshot Scout, bevor Sie privates oder reguliertes Material erfassen.

  • Erfassen Sie keine Seiten, auf die Sie nicht zugreifen dürfen.
  • Fügen Sie keine Anmeldedaten in Aufforderungen, Tool-Eingaben, URLs, Problemberichte oder Protokolle ein.
  • Bewahren Sie lokale Zugriffs- und geheime Schlüssel in clientverwaltetem Secret-Speicher oder privater Umgebungskonfiguration auf.
  • Der lokale stdio-Server fügt keine Telemetrie hinzu. Die Anwendungsprotokollierung für den gehosteten Dienst ist auf Anfragemethode, Antwortstatus, Dauer und bereinigte unerwartete Fehler beschränkt. Sie ist so konzipiert, dass sie keine Anmeldedaten, Ziel-URLs, Screenshot-URLs, Anfrage- oder Antwortinhalte oder Bildbytes enthält.
  • Prüfen Sie jedes Ziel und jede Aufnahmeanfrage, bevor Sie die Tool-Nutzung zulassen. Das Tool ist offen, verbraucht Kontingent und interagiert mit einer externen Website.
  • Melden Sie Schwachstellen privat, wie in SECURITY.md beschrieben.

Entwicklung

npm ci
npm run format:check
npm run lint
npm run typecheck
npm test
npm run metadata:check
npm run registry:validate
npm run mcpb:validate
npm run mcpb:pack

Lizenz

MIT © Oleksii Velykyi