WhisperGraph MCP
offiziellOpen-Source, selbst hostbarer MCP-Server für WhisperGraph – ein Graph mit 7,39B Knoten / 39B Kanten, der DNS, BGP, GeoIP, WHOIS und Bedrohungsinformationen abbildet. Sechs schreibgeschützte Tools (Cypher-Abfrage + Schema-Introspection + Bedrohungsbewertung), sechs Ressourcen, acht Untersuchungsaufforderungen. stdio- und Streamable-HTTP-Transporte.
Was kann man mit WhisperGraph MCP machen?
- Query the internet infrastructure graph — führen Sie Cypher-Abfragen über 46B DNS-, IP-, ASN-, BGP-, WHOIS- und Web-Link-Knoten mit
queryaus. - Explore available data types — listen Sie alle Knotenbezeichnungen und deren Anzahl mit
list_labelsauf, oder prüfen Sie die Eigenschaften einer Bezeichnung mitdescribe_label. - Assess threat posture of an indicator — erhalten Sie einen Bedrohungs-Score, eine Bedrohungsstufe und beitragende Faktoren für eine IP, einen Hostnamen, ein CIDR oder eine ASN mit
explain_indicator. - Run pre-built investigation recipes — führen Sie Katalog-Rezepte wie
assess,identifyoderattack-pathüberrun_recipeaus, ohne Cypher schreiben zu müssen. - Retrieve historical WHOIS or BGP data — schlagen Sie vergangene Registrierungs- oder Routing-Datensätze für einen Indikator mit
whisper_historynach. - Discover typosquatting domains — finden Sie Markenschutz-Varianten einer Domain, die gegen den Live-Graphen geprüft werden, mit
domain_variants.
Dokumentation
WhisperGraph MCP Server
Der Infrastruktur-Graph des Internets für KI-Agenten – 46 Milliarden Knoten und Kanten, die DNS, IPs, ASNs, BGP, WHOIS, Weblinks und Threat Intelligence abbilden. Programmgesteuerte Anmeldung in 2 HTTP-Aufrufen.
WhisperGraph ist ein MCP-Server, der auf der weltweit größten Internet-Infrastruktur-Graphendatenbank basiert – 46 Milliarden Knoten und Kanten über 20 Entitätstypen hinweg, die jede Domain, IP, ASN, jedes Präfix, jede Organisation, jeden Weblink und jeden Threat-Intelligence-Eintrag in einen einzigen, mit Cypher abfragbaren Graphen abbildet. Genutzt von Sicherheitsteams, Incident Respondern und KI-Agenten für Untersuchungen, Attribution, Markenschutz und Infrastruktur-Forensik.
Von Anfang an für Agenten entwickelt.
- Programmgesteuerte Anmeldung in 2 HTTP-Aufrufen. Kein Browser, kein CAPTCHA, kein menschliches Eingreifen. Nur E-Mail-Verifizierung. Funktionsfähiger API-Schlüssel in ca. 5 Sekunden.
- Kostenlose Testphase für alle, einschließlich Agenten. Kostenpflichtige Stufen für höhere Kontingente.
Was Sie abfragen können:
- DNS: Auflösung, Nameserver, MX, SPF-Ketten, DNSSEC
- Routing: ASN-Inhaberschaft, BGP-Ursprungshistorie, MOAS-Konflikte, Peering
- Hosting & Inhaberschaft: Registrar, WHOIS-Kontakte, Organisationszuordnung
- Threat Intelligence: ~40 Feeds aus 18 Kategorien,
CALL explain()für vollständiges Threat-Scoring - Historisch: WHOIS-Historie, BGP-Routenänderungen
- Web: 10,9 Mrd. Hyperlinks für domainübergreifende Analysen
Mehr erfahren: Agenten-Anmeldung · WhisperGraph-Einführung · Cypher-API-Referenz · Abfrageleitfaden · Cypher-Syntax · Funktionen · Best Practices · MCP-Einrichtung
Schnellstart
Sie benötigen einen WhisperGraph-API-Schlüssel. Erhalten Sie einen entweder:
- Programmgesteuert (empfohlen für Agenten) – siehe Agenten-Schnellstart unten.
- Über das Dashboard (empfohlen für Menschen) – console.whisper.security/sign-up.
Gehosteter Remote-Server (keine Installation)
Whisper betreibt einen gehosteten MCP-Server unter https://mcp.whisper.security. Richten Sie jeden MCP-Client, der Remote-Server unterstützt, darauf aus und authentifizieren Sie sich mit Ihrem API-Schlüssel:
{
"mcpServers": {
"whisper": {
"url": "https://mcp.whisper.security",
"headers": { "Authorization": "Bearer <your_api_key>" }
}
}
}
MCP-Clients (stdio)
Für lokalen stdio-Transport fügen Sie dies zu Ihrer MCP-Client-Konfiguration hinzu:
{
"mcpServers": {
"whisper-graph": {
"command": "npx",
"args": ["-y", "@whisper-security/whisper-graph-mcp"],
"env": { "WHISPER_API_KEY": "your-api-key" }
}
}
}
Das Self-Hosting dieses Repos ist für Teams gedacht, die die MCP-Schicht in ihrer eigenen Umgebung betreiben möchten. Siehe Einrichtung.
Agenten-Schnellstart
Erhalten Sie einen funktionsfähigen API-Schlüssel in zwei HTTP-Aufrufen – kein Browser, kein CAPTCHA, keine Warteliste.
Schritt 1 – Anmeldung starten (Whisper sendet einen Verifizierungscode per 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>"}}
Schritt 2 – Mit dem per E-Mail erhaltenen Code verifizieren:
POST https://console.whisper.security/api/signup/verify
Content-Type: application/json
{"signup_id":"...","code":"..."}
Die Antwort enthält api_key, mcp_url, dashboard_url und docs_url. Verwenden Sie api_key im obigen MCP-Konfigurationsausschnitt. Vollständige Dokumentation: whisper.security/docs/agent-signup.
Werkzeuge
Alle acht Werkzeuge sind schreibgeschützt.
| Werkzeug | Funktion |
|---|---|
query | Führt eine Cypher-Abfrage gegen WhisperGraph aus. Wird vor Erreichen des Backends anhand eines Sicherheitsregelsatzes validiert. |
list_labels | Listet jedes Knoten-Label mit Anzahl auf. Rufen Sie es vor dem Schreiben einer Abfrage auf, wenn Sie unsicher sind, auf welchem Label Sie aufsetzen sollen. |
describe_label | Bestätigt die Existenz eines Labels und listet seine Eigenschaftsschlüssel auf. |
explain_indicator | Bedrohungsbewertung für eine IP, einen Hostnamen, ein CIDR oder eine ASN – Score, Stufe, Faktoren, Quellen. |
whisper_history | Historische WHOIS- oder BGP-Daten für einen Indikator. |
domain_variants | Typosquatting-/Markenschutz-Varianten einer Domain, gegen den Graphen geprüft. |
list_recipes | Listet den vollständigen whisper.security-Katalog mit vorgefertigten Rezepten auf (siehe unten). |
run_recipe | Führt ein beliebiges Katalogrezept per Slug aus – eine schlüssellose Direktprozedur oder einen schlüsselbasierten mehrstufigen Ablauf. |
Katalogrezepte
list_recipes + run_recipe legen den gesamten whisper.security-Katalog offen – 29 kuratierte Rezepte, kein manuell geschriebenes Cypher erforderlich. Der mitgelieferte Katalog (src/catalog/recipes.json) wird aus der kanonischen Quelle mit npm run sync:catalog generiert und bildet somit die Plattform ab.
Zwei Arten:
- Direktrezepte (schlüssellos). Eine einzelne Graphprozedur, die ohne Schlüssel ausgeführt wird (ratenbegrenzt):
assess(Bedrohungslage),identify(Anbieter/Betreiber),explain,variants,origins(CDN-Enttarnung),history/history-whois,walk,psl-tldplusone,psl-affiliation,asset,lookup-tor-relay,db-schema. - Ablaufrezepte (schlüsselbasiert). Kuratierte mehrstufige Untersuchungen, die einen API-Schlüssel benötigen:
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" } } }
Jedes Rezept trägt eine docsUrl (sichtbar in list_recipes), die auf seine Seite unter whisper.security/docs verlinkt.
Ressourcen
Sechs MCP-Ressourcen: das vollständige Schema, die Beziehungskarte, eine Cypher-Funktionsreferenz, ein Abfrage-Kochbuch sowie Live-whisper://stats und whisper://quota.
Prompts
Acht Prompt-Vorlagen für Untersuchungsworkflows: investigate-ip, map-attack-surface, compare-domains, blast-radius, threat-triage, whois-pivot, bgp-investigation, typosquat-sweep.
Self-Hosting (Docker / HTTP)
Für Remote- oder Team-Bereitstellungen betreiben Sie den Server über Streamable HTTP:
docker run -p 8080:8080 -e MCP_TRANSPORT=http \
ghcr.io/whisper-sec/whisper-graph-mcp:latest
Oder mit Docker Compose:
docker compose up
Im HTTP-Modus authentifiziert der Server eingehende Anfragen nicht – er leitet den
X-API-Key- oder Authorization: Bearer-Header des Aufrufers an die gehostete WhisperGraph-API
weiter und greift auf die Umgebungsvariable WHISPER_API_KEY zurück, wenn kein Header
vorhanden ist. Platzieren Sie ihn hinter Ihrem eigenen Gateway, wenn Sie Zugriffskontrolle benötigen.
Konfiguration
Die gesamte Konfiguration erfolgt über Umgebungsvariablen.
| Variable | Standardwert | Beschreibung |
|---|---|---|
WHISPER_API_KEY | (keiner) | Ihr WhisperGraph-API-Schlüssel. Erhalten Sie einen programmgesteuert in 2 HTTP-Aufrufen oder über das Dashboard. |
MCP_TRANSPORT | stdio | stdio für lokale CLI-Nutzung, http für Remote/Docker. |
HTTP_HOST | 0.0.0.0 | Bind-Host für den HTTP-Transport. |
HTTP_PORT | 8080 | Bind-Port für den HTTP-Transport. |
WHISPER_ALLOWED_HOSTS | (keiner) | Kommagetrennte Host-Header-Zulassungsliste für DNS-Rebinding-Schutz im HTTP-Modus. Nur hinter einem vertrauenswürdigen Gateway leer lassen. |
WHISPER_DB_URL | https://graph.whisper.security | Basis-URL der gehosteten WhisperGraph-API. |
WHISPER_QUERY_TIMEOUT_MS | 60000 | Hartes Zeitlimit pro Abfrage, das an die API weitergeleitet wird. |
WHISPER_DB_TIMEOUT_MS | 10000 | HTTP-Timeout für Nicht-Abfrage-Aufrufe. |
LOG_LEVEL | info | debug, info, warn oder error. |
Entwicklung
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
Mitwirken
Beiträge sind willkommen. Siehe CONTRIBUTING.md und unseren Verhaltenskodex. Sicherheitsprobleme: siehe SECURITY.md.
Lizenz
Apache-2.0. „Whisper“, das Whisper-Logo und „WhisperGraph“ sind Marken von Whisper Security – siehe NOTICE.