Screenshot Scout

officiel

Capturez des captures d'écran de pages web sous forme d'images ou de PDF avec Screenshot Scout.

Que pouvez-vous faire avec Screenshot Scout MCP ?

  • Captures plein écran ou de la zone visible — Demandez un PNG, JPEG, WebP, GIF, TIFF ou PDF de n’importe quelle URL via capture_screenshot, avec le mode fullPage en option.
  • Contrôle des éléments et des interactions — Ciblez un selector spécifique, masquez des éléments avec hideSelectors, cliquez sur des éléments via clickSelectors, et bloquez les bannières de cookies, les publicités ou les widgets de chat.
  • Simulation d’appareil et de localisation — Spécifiez un device, des dimensions de zone visible, un country et un colorScheme (sombre/clair) pour imiter différents contextes de navigation.
  • Génération de PDF avec options de mise en page — Créez des PDF avec pdfPaperFormat, pdfLandscape, pdfPrintBackground, des marges personnalisées et pdfScale pour des documents prêts à imprimer.
  • Redimensionnement de la sortie et réglage de la qualité — Ajustez imageWidth, imageHeight et imageQuality (pour JPEG/WebP) afin de contrôler la taille du fichier et la résolution.
  • Mise en cache et livraison des résultats — Activez cache avec un cacheTtl, et choisissez resultMode pour obtenir des images intégrées ou uniquement des URL temporaires.

Documentation

Serveur MCP Screenshot Scout

Utilisez Screenshot Scout depuis un client MCP pour capturer des pages web HTTP ou HTTPS en images ou PDF.

Ce serveur expose un outil, capture_screenshot. Il prend en charge les captures de page entière et d'éléments, les contrôles d'appareil et de viewport, la sélection de localisation, les options d'interaction et de blocage de page, le dimensionnement et la qualité des images, la mise en page PDF, la mise en cache, les URLs de résultats temporaires et le contenu d'image MCP éligible.

Ce dont vous avez besoin

  • Un compte Screenshot Scout et une clé d'accès depuis la page des clés API.
  • Node.js 22 ou plus récent pour l'installation npm/stdio. Le runtime MCPB de Claude Desktop est fourni avec Claude.
  • La clé secrète optionnelle uniquement lorsque votre clé API sélectionnée exige des requêtes Screenshot Scout signées.

Chaque capture utilise votre compte Screenshot Scout et est soumise à son forfait, à son quota et à ses limites de débit.

Stdio local avec npm

Commencez avec cette configuration stdio locale :

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

Si la clé d'accès exige une signature de requête, ajoutez la clé secrète localement :

"SCREENSHOTSCOUT_SECRET_KEY": "YOUR_SECRET_KEY"

Conservez les fichiers de configuration personnels hors du contrôle de source. Les identifiants sont des valeurs d'environnement de processus, pas des arguments d'outil. Voir les configurations copier-coller spécifiques aux clients pour Claude Desktop, Claude Code, Cursor, VS Code/GitHub Copilot, Devin et Cline.

Exécution depuis une copie source

npm ci
npm run build

Pointez le client vers le chemin absolu de dist/stdio.js avec node, et fournissez les mêmes variables d'environnement que ci-dessus.

Claude Desktop MCPB

Pour installer l'extension Claude Desktop :

  1. Téléchargez screenshotscout-mcp-<version>.mcpb depuis la version GitHub correspondante.
  2. Dans Claude Desktop, ouvrez Paramètres → Extensions → Paramètres avancés et choisissez Installer une extension….
  3. Sélectionnez le fichier téléchargé.
  4. Saisissez la clé d'accès requise. Saisissez la clé secrète uniquement pour une clé API qui exige des requêtes signées.

Claude Desktop traite ces deux champs comme des paramètres sensibles. Le MCPB v0.1.0 prend en charge Windows.

HTTP Streamable hébergé

Le point d'accès API hébergé est disponible à :

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

Il est destiné uniquement aux clients capables d'attacher un en-tête HTTP statique :

Authorization: Bearer YOUR_ACCESS_KEY

Le point d'accès n'accepte qu'une clé d'accès. N'y envoyez jamais de clé secrète Screenshot Scout, et ne placez jamais l'une ou l'autre clé dans l'URL ou un argument d'outil. Les clients qui ne peuvent pas attacher un en-tête Bearer statique ne peuvent pas utiliser ce point d'accès.

Les clés API qui exigent des signatures de requête doivent plutôt utiliser le stdio local ou MCPB, ou utiliser une clé d'accès non signée dédiée pour le point d'accès hébergé.

Stdio local avec Docker

Construisez l'image de production depuis une copie source :

docker build --tag screenshotscout-mcp:local .

Transmettez les identifiants depuis l'environnement local et conservez stdin attaché pour le trafic MCP stdio :

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 reste optionnel. L'image s'exécute en tant qu'utilisateur non privilégié et contient uniquement le serveur stdio compilé et ses dépendances de production. Elle ne déclare ni port ni vérification de santé de conteneur : un client MCP possède le processus stdio et vérifie la disponibilité en complétant l'initialisation MCP. L'image et ses métadonnées Docker MCP Catalog dans docker-mcp-catalog.yaml sont une préparation locale ; aucune image publique n'est sous-entendue par ces commandes.

Outil : capture_screenshot

capture_screenshot envoie une requête de capture pour l'URL et les options fournies. La page web cible est externe et son contenu renvoyé doit être traité comme non fiable.

Entrées

Seul url est requis. Les captures utilisent un viewport de 1280×720 par défaut. Lorsqu'aucun format n'est spécifié, l'outil renvoie un JPEG à la qualité 60. resultMode est par défaut "auto".

GroupeEntrées
Cible et sortieurl ; format (png, jpg, jpeg, webp, gif, tiff, pdf) ; resultMode (auto, url_only)
Localisation et viewportcountry (code pays à deux lettres), device, deviceViewportWidth, deviceViewportHeight, colorScheme (auto, dark, light), fullPage
Préparation de la pageblockCookieBanners, blockAds, blockChatWidgets, selector, hideSelectors, clickSelectors
ChronométragewaitUntil (load, domcontentloaded, networkidle0, networkidle2), delay (0–30 secondes), navigationTimeout (5–90 secondes), timeout (1–240 secondes)
Cachecache, cacheTtl (14 400–2 592 000 secondes)
Redimensionnement de sortieimageWidth, imageHeight (1–8 192 ; disponible pour les images et les PDF)
Image uniquementimageQuality (0–100, JPEG/WebP uniquement)
PDF uniquementpdfPaperFormat (letter, legal, tabloid, a4, a3, content), pdfLandscape, pdfPrintBackground, pdfMargin, champs de marge par côté, pdfScale (supérieur à 0 et au plus 3)

Lorsque les deux dimensions de sortie sont fournies, leur produit ne peut pas dépasser 64 000 000 pixels. Les marges PDF acceptent des valeurs non négatives en px, in, mm ou cm. imageQuality exige une sortie JPEG ou WebP, et les options PDF uniquement exigent format: "pdf".

Résultats

  • PNG, JPEG, WebP et GIF peuvent être inclus comme contenu d'image MCP lorsque resultMode est auto, le type MIME est éligible, les dimensions sont connues et au maximum 8 000 pixels par côté, les données brutes font au plus 5 Mio, et le résultat sérialisé complet tient dans la limite actuelle de 128 000 octets du serveur.
  • Une capture non éligible à l'intégration reste réussie et renvoie son URL temporaire ainsi qu'une raison d'omission exploitable.
  • Le TIFF est disponible uniquement par URL.
  • Les octets PDF ne sont jamais intégrés. Un résultat PDF inclut du texte sûr et des métadonnées structurées, plus un lien de ressource lorsque Screenshot Scout fournit une URL de résultat.
  • resultMode: "url_only" omet les octets d'image pour chaque format.

Les clients MCP contrôlent si le contenu d'image renvoyé ou les liens de ressources sont affichés ou rendus disponibles à un modèle.

Les métadonnées structurées peuvent inclure screenshotUrl, screenshotUrlExpiresAt, cacheStatus, format, mimeType, imageWidth, imageHeight, inlineImageIncluded et inlineImageOmissionReason.

Traitez les URLs de résultats comme des liens sensibles et temporaires et respectez leur expiration signalée.

Exemples de prompts

  • « Capturez https://example.com en PNG pleine page en mode sombre. Renvoyez uniquement une URL. »
  • « Prenez une capture d'écran JPEG 1280×720 de https://example.com/pricing, bloquez les bannières de cookies et les publicités, et utilisez la qualité 80. »
  • « Créez un PDF A4 de https://example.com/report avec les arrière-plans activés et des marges de 10 mm. »

Confidentialité et sécurité

Le serveur envoie l'URL cible et les options de capture sélectionnées à Screenshot Scout, qui charge le site web cible. Consultez la politique de confidentialité de Screenshot Scout avant de capturer des contenus privés ou réglementés.

  • Ne capturez pas de pages auxquelles vous n'êtes pas autorisé à accéder.
  • Ne collez pas d'identifiants dans les prompts, les entrées d'outil, les URLs, les rapports de problème ou les journaux.
  • Conservez les clés d'accès et secrètes locales dans un stockage de secrets géré par le client ou une configuration d'environnement privée.
  • Le serveur stdio local n'ajoute aucune télémétrie. La journalisation applicative du service hébergé est limitée à la méthode de requête, au statut de réponse, à la durée et aux erreurs inattendues assainies. Elle est conçue pour ne pas inclure d'identifiants, d'URLs cibles, d'URLs de captures d'écran, de contenu de requête ou de réponse, ni d'octets d'image.
  • Examinez chaque cible et chaque requête de capture avant d'autoriser l'utilisation de l'outil. L'outil est en monde ouvert, consomme du quota et interagit avec un site web externe.
  • Signalez les vulnérabilités en privé comme décrit dans SECURITY.md.

Développement

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

Licence

MIT © Oleksii Velykyi