WhisperGraph MCP
officielServeur MCP open source et auto-hébergeable pour WhisperGraph — un graphe de 7,39 milliards de nœuds / 39 milliards d'arêtes cartographiant DNS, BGP, GeoIP, WHOIS et le renseignement sur les menaces. Six outils en lecture seule (requête Cypher + introspection de schéma + évaluation des menaces), six ressources, huit invites d'investigation. Transports stdio et Streamable HTTP.
Que pouvez-vous faire avec Whisper Graph MCP ?
- Query the internet infrastructure graph — run Cypher queries across 46B DNS, IP, ASN, BGP, WHOIS, and web-link nodes with
query. - Explore available data types — list all node labels and their counts with
list_labels, or inspect a label’s properties withdescribe_label. - Assess threat posture of an indicator — get a threat score, level, and contributing factors for an IP, hostname, CIDR, or ASN using
explain_indicator. - Run pre-built investigation recipes — execute catalog recipes like
assess,identify, orattack-pathviarun_recipewithout writing Cypher. - Retrieve historical WHOIS or BGP data — look up past registration or routing records for an indicator with
whisper_history. - Discover typosquatting domains — find brand-protection variants of a domain checked against the live graph using
domain_variants.
Documentation
Serveur MCP WhisperGraph
Le graphe d'infrastructure Internet pour les agents IA - 46 milliards de nœuds et d'arêtes cartographiant DNS, IP, ASN, BGP, WHOIS, liens Web et renseignements sur les menaces. Inscrivez-vous par programmation en 2 appels HTTP.
WhisperGraph est un serveur MCP s'appuyant sur la plus grande base de données graphe d'infrastructure Internet au monde - 46 milliards de nœuds et d'arêtes répartis sur 20 types d'entités, cartographiant chaque domaine, IP, ASN, préfixe, organisation, lien Web et listing de renseignement sur les menaces en un seul graphe interrogeable en Cypher. Utilisé par les équipes de sécurité, les intervenants en cas d'incident et les agents IA pour les enquêtes, l'attribution, la protection de marque et l'investigation d'infrastructure.
Conçu pour les agents dès le premier jour.
- Inscription programmatique en 2 appels HTTP. Pas de navigateur, pas de CAPTCHA, pas d'intervention humaine. Vérification par e-mail uniquement. Clé API fonctionnelle en ~5 secondes.
- Essai gratuit pour tous, y compris les agents. Niveaux payants pour des quotas plus élevés.
Ce que vous pouvez demander :
- DNS : résolution, serveurs de noms, MX, chaînes SPF, DNSSEC
- Routage : propriété ASN, historique d'origine BGP, conflits MOAS, peering
- Hébergement et propriété : registrar, contacts WHOIS, cartographie d'organisation
- Renseignement sur les menaces : ~40 flux répartis sur 18 catégories,
CALL explain()pour une évaluation complète des menaces - Historique : historique WHOIS, changements de route BGP
- Web : 10,9 milliards d'hyperliens pour l'analyse inter-domaines
En savoir plus : Inscription agent · Introduction à WhisperGraph · Référence de l'API Cypher · Guide de requêtes · Syntaxe Cypher · Fonctions · Bonnes pratiques · Configuration MCP
Démarrage rapide
Vous avez besoin d'une clé API WhisperGraph. Obtenez-en une soit :
- Par programmation (recommandé pour les agents) - voir Démarrage rapide agent ci-dessous.
- Via le tableau de bord (recommandé pour les humains) - console.whisper.security/sign-up.
Serveur distant hébergé (sans installation)
Whisper exécute un serveur MCP hébergé à l'adresse https://mcp.whisper.security. Pointez n'importe quel client MCP prenant en charge les serveurs distants vers celui-ci et authentifiez-vous avec votre clé API :
{
"mcpServers": {
"whisper": {
"url": "https://mcp.whisper.security",
"headers": { "Authorization": "Bearer <your_api_key>" }
}
}
}
Clients MCP (stdio)
Pour le transport stdio local, ajoutez ceci à la configuration de votre client MCP :
{
"mcpServers": {
"whisper-graph": {
"command": "npx",
"args": ["-y", "@whisper-security/whisper-graph-mcp"],
"env": { "WHISPER_API_KEY": "your-api-key" }
}
}
}
L'auto-hébergement de ce dépôt est destiné aux équipes qui souhaitent exécuter la couche MCP dans leur propre environnement. Voir Comment configurer.
Démarrage rapide agent
Obtenez une clé API fonctionnelle en deux appels HTTP - pas de navigateur, pas de CAPTCHA, pas de liste d'attente.
Étape 1 - démarrez l'inscription (Whisper envoie un code de vérification par e-mail) :
POST https://console.whisper.security/api/signup
Content-Type: application/json
{"email":"your-agent@example.com","attribution":{"agent_name":"your-agent","source":"<registry-name>"}}
Étape 2 - vérifiez avec le code reçu par e-mail :
POST https://console.whisper.security/api/signup/verify
Content-Type: application/json
{"signup_id":"...","code":"..."}
La réponse contient api_key, mcp_url, dashboard_url et docs_url. Utilisez api_key dans l'extrait de configuration MCP ci-dessus. Documentation complète : whisper.security/docs/agent-signup.
Outils
Les huit outils sont en lecture seule.
| Outil | Ce qu'il fait |
|---|---|
query | Exécute une requête Cypher sur WhisperGraph. Validée par un ensemble de règles de sécurité avant d'atteindre le backend. |
list_labels | Liste chaque étiquette de nœud avec le nombre d'occurrences. Appelez-le avant d'écrire une requête si vous n'êtes pas sûr de l'étiquette sur laquelle vous ancrer. |
describe_label | Confirme qu'une étiquette existe et énumère ses clés de propriété. |
explain_indicator | Évaluation des menaces pour une IP, un nom d'hôte, un CIDR ou un ASN - score, niveau, facteurs, sources. |
whisper_history | Données WHOIS ou BGP historiques pour un indicateur. |
domain_variants | Variantes de typosquattage / protection de marque d'un domaine, vérifiées par rapport au graphe. |
list_recipes | Liste le catalogue complet whisper.security de recettes prêtes à l'emploi (voir ci-dessous). |
run_recipe | Exécute n'importe quelle recette du catalogue par son slug - une procédure directe sans clé ou un flux en plusieurs étapes avec clé. |
Recettes du catalogue
list_recipes + run_recipe exposent l'intégralité du catalogue whisper.security - 29 recettes organisées, sans nécessiter d'écrire du Cypher. Le catalogue intégré (src/catalog/recipes.json) est généré à partir de la source canonique avec npm run sync:catalog, il suit donc la plateforme.
Deux types :
- Recettes directes (sans clé). Une procédure graphe unique qui s'exécute sans clé (limitée en débit) :
assess(posture de menace),identify(fournisseur/opérateur),explain,variants,origins(dé-cloaking CDN),history/history-whois,walk,psl-tldplusone,psl-affiliation,asset,lookup-tor-relay,db-schema. - Recettes de flux (avec clé). Enquêtes organisées en plusieurs étapes qui nécessitent une clé API :
attack-path,attack-surface,indicator-enrichment,infrastructure-mapping,subdomain-takeover,bgp-hijack-exposure,blast-radius,route-health,typosquat,nameserver-hijack-dns-consistency,map-supply-chain-concentration,discover-ai-agent-infrastructure,build-takedown-evidence-package,indicator,anycast-dns-root-sovereignty.
// keyless direct recipe
{ "name": "run_recipe", "arguments": { "recipe": "assess", "inputs": { "v": "185.220.101.33" } } }
// keyed multi-step flow (needs WHISPER_API_KEY / X-API-Key)
{ "name": "run_recipe", "arguments": { "recipe": "indicator-enrichment", "inputs": { "value": "github.com" } } }
Chaque recette porte un docsUrl (visible dans list_recipes) renvoyant vers sa page sous whisper.security/docs.
Ressources
Six ressources MCP : le schéma complet, la carte des relations, une référence des fonctions Cypher, un livre de recettes de requêtes, plus les whisper://stats et whisper://quota en direct.
Invites
Huit modèles d'invite de flux de travail d'enquête : investigate-ip, map-attack-surface, compare-domains, blast-radius, threat-triage, whois-pivot, bgp-investigation, typosquat-sweep.
Auto-hébergement (Docker / HTTP)
Pour les déploiements distants ou d'équipe, exécutez le serveur via HTTP Streamable :
docker run -p 8080:8080 -e MCP_TRANSPORT=http \
ghcr.io/whisper-sec/whisper-graph-mcp:latest
Ou avec Docker Compose :
docker compose up
En mode HTTP, le serveur n'authentifie pas les requêtes entrantes - il relaie l'en-tête X-API-Key ou Authorization: Bearer de l'appelant vers l'API WhisperGraph hébergée, en se repliant sur la variable d'environnement WHISPER_API_KEY lorsqu'aucun en-tête n'est présent. Placez-le derrière votre propre passerelle si vous avez besoin de contrôle d'accès.
Configuration
Toute la configuration se fait via des variables d'environnement.
| Variable | Valeur par défaut | Description |
|---|---|---|
WHISPER_API_KEY | (aucune) | Votre clé API WhisperGraph. Obtenez-en une par programmation en 2 appels HTTP ou via le tableau de bord. |
MCP_TRANSPORT | stdio | stdio pour une utilisation CLI locale, http pour distant/Docker. |
HTTP_HOST | 0.0.0.0 | Hôte de liaison pour le transport HTTP. |
HTTP_PORT | 8080 | Port de liaison pour le transport HTTP. |
WHISPER_ALLOWED_HOSTS | (aucune) | Liste d'autorisation d'en-têtes Host séparés par des virgules pour la protection contre le rebinding DNS en mode HTTP. Laissez vide uniquement derrière une passerelle de confiance. |
WHISPER_DB_URL | https://graph.whisper.security | URL de base de l'API WhisperGraph hébergée. |
WHISPER_QUERY_TIMEOUT_MS | 60000 | Délai strict par requête transmis à l'API. |
WHISPER_DB_TIMEOUT_MS | 10000 | Délai d'attente HTTP pour les appels sans requête. |
LOG_LEVEL | info | debug, info, warn ou error. |
Développement
npm install
npm run dev # run from source over stdio
npm test # unit + integration tests (no secrets needed)
npm run build # bundle to dist/
npm run lint # eslint
npm run typecheck # tsc --noEmit
Contribution
Les contributions sont les bienvenues. Voir CONTRIBUTING.md et notre Code de conduite. Problèmes de sécurité : voir SECURITY.md.
Licence
Apache-2.0. "Whisper", le logo Whisper et "WhisperGraph" sont des marques déposées de Whisper Security - voir NOTICE.