WhisperGraph MCP

공식

오픈소스, 자체 호스팅 가능한 WhisperGraph용 MCP 서버 — DNS, BGP, GeoIP, WHOIS 및 위협 인텔리전스를 매핑하는 73억 9천만 개 노드 / 390억 개 엣지 그래프. 6개의 읽기 전용 도구(Cypher 쿼리 + 스키마 분석 + 위협 평가), 6개의 리소스, 8개의 조사 프롬프트. stdio 및 Streamable HTTP 전송 지원.

WhisperGraph MCP(으)로 무엇을 할 수 있나요?

  • Query the internet infrastructure graph — 46B 개의 DNS, IP, ASN, BGP, WHOIS 및 웹 링크 노드에 대해 query로 Cypher 쿼리를 실행합니다.
  • Explore available data typeslist_labels로 모든 노드 레이블과 개수를 나열하거나, describe_label로 레이블의 속성을 검사합니다.
  • Assess threat posture of an indicatorexplain_indicator를 사용하여 IP, 호스트명, CIDR 또는 ASN에 대한 위협 점수, 수준 및 기여 요인을 확인합니다.
  • Run pre-built investigation recipes — Cypher를 작성하지 않고 run_recipe를 통해 assess, identify 또는 attack-path와 같은 카탈로그 레시피를 실행합니다.
  • Retrieve historical WHOIS or BGP datawhisper_history로 지표에 대한 과거 등록 또는 라우팅 기록을 조회합니다.
  • Discover typosquatting domainsdomain_variants를 사용하여 라이브 그래프와 대조 확인된 도메인의 브랜드 보호 변형을 찾습니다.

문서

WhisperGraph

WhisperGraph MCP 서버

AI 에이전트를 위한 인터넷 인프라 그래프 - DNS, IP, ASN, BGP, WHOIS, 웹 링크 및 위협 인텔리전스를 매핑하는 460억 개의 노드와 엣지. 2번의 HTTP 호출로 프로그래밍 방식으로 가입하세요.

npm version License: Apache-2.0 Node >= 20


WhisperGraph는 세계 최대의 인터넷 인프라 그래프 데이터베이스(20개 엔티티 유형에 걸쳐 460억 개의 노드와 엣지)를 기반으로 하는 MCP 서버로, 모든 도메인, IP, ASN, 프리픽스, 조직, 웹 링크 및 위협 인텔리전스 목록을 단일 Cypher 쿼리 가능 그래프로 매핑합니다. 보안 팀, 사고 대응자 및 AI 에이전트가 조사, 귀속, 브랜드 보호 및 인프라 포렌식에 사용합니다.

처음부터 에이전트를 위해 설계되었습니다.

  • 2번의 HTTP 호출로 프로그래밍 방식 가입. 브라우저, CAPTCHA, 사람의 개입이 필요 없습니다. 이메일 인증만 필요합니다. 약 5초 만에 API 키를 사용할 수 있습니다.
  • 에이전트를 포함한 모든 사용자에게 무료 체험판 제공. 더 높은 할당량을 위한 유료 등급도 있습니다.

질문할 수 있는 내용:

  • DNS: 해석, 네임서버, MX, SPF 체인, DNSSEC
  • 라우팅: ASN 소유권, BGP 오리진 이력, MOAS 충돌, 피어링
  • 호스팅 및 소유권: 등록기관, WHOIS 연락처, 조직 매핑
  • 위협 인텔리전스: 18개 카테고리에 걸친 약 40개 피드, 전체 위협 점수 산정을 위한 CALL explain()
  • 이력: WHOIS 이력, BGP 경로 변경 사항
  • 웹: 도메인 간 분석을 위한 109억 개의 하이퍼링크

자세히 알아보기: 에이전트 가입 · WhisperGraph 소개 · Cypher API 참조 · 쿼리 가이드 · Cypher 구문 · 함수 · 모범 사례 · MCP 설정

빠른 시작

WhisperGraph API 키가 필요합니다. 다음 방법 중 하나로 받으세요:

호스팅된 원격 서버 (설치 불필요)

Whisper는 https://mcp.whisper.security에서 호스팅된 MCP 서버를 실행합니다. 원격 서버를 지원하는 모든 MCP 클라이언트를 이곳으로 지정하고 API 키로 인증하세요:

{
  "mcpServers": {
    "whisper": {
      "url": "https://mcp.whisper.security",
      "headers": { "Authorization": "Bearer <your_api_key>" }
    }
  }
}

MCP 클라이언트 (stdio)

로컬 stdio 전송의 경우 MCP 클라이언트 구성에 다음을 추가하세요:

{
  "mcpServers": {
    "whisper-graph": {
      "command": "npx",
      "args": ["-y", "@whisper-security/whisper-graph-mcp"],
      "env": { "WHISPER_API_KEY": "your-api-key" }
    }
  }
}

이 리포지토리를 자체 호스팅하는 것은 자체 환경에서 MCP 계층을 실행하려는 팀을 위한 것입니다. 설정 방법을 참조하세요.

에이전트 빠른 시작

두 번의 HTTP 호출로 작동하는 API 키를 받으세요 - 브라우저, CAPTCHA, 대기자 명단이 필요 없습니다.

1단계 - 가입 시작 (Whisper가 인증 코드를 이메일로 전송):

POST https://console.whisper.security/api/signup
Content-Type: application/json

{"email":"your-agent@example.com","attribution":{"agent_name":"your-agent","source":"<registry-name>"}}

2단계 - 이메일로 받은 코드로 인증:

POST https://console.whisper.security/api/signup/verify
Content-Type: application/json

{"signup_id":"...","code":"..."}

응답에는 api_key, mcp_url, dashboard_url, docs_url이 포함됩니다. 위의 MCP 구성 스니펫에서 api_key을 사용하세요. 전체 문서: whisper.security/docs/agent-signup.

도구

8개의 도구는 모두 읽기 전용입니다.

도구기능
queryWhisperGraph에 대해 Cypher 쿼리를 실행합니다. 백엔드에 도달하기 전에 안전 규칙 세트에 대해 유효성이 검사됩니다.
list_labels모든 노드 레이블을 개수와 함께 나열합니다. 어떤 레이블을 기준으로 삼을지 확실하지 않을 때 쿼리를 작성하기 전에 호출하세요.
describe_label레이블이 존재하는지 확인하고 해당 속성 키를 열거합니다.
explain_indicatorIP, 호스트 이름, CIDR 또는 ASN에 대한 위협 평가 - 점수, 수준, 요인, 출처.
whisper_history지표에 대한 이력 WHOIS 또는 BGP 데이터.
domain_variants그래프와 비교하여 확인된 도메인의 타이포스쿼팅/브랜드 보호 변형.
list_recipes미리 만들어진 레시피의 전체 whisper.security 카탈로그를 나열합니다(아래 참조).
run_recipe슬러그로 모든 카탈로그 레시피 실행 - 키 없는 직접 절차 또는 키가 있는 다단계 흐름.

카탈로그 레시피

list_recipes + run_recipe는 전체 whisper.security 카탈로그를 노출합니다 - 29개의 선별된 레시피, 직접 작성한 Cypher가 필요 없습니다. 벤더 카탈로그(src/catalog/recipes.json)는 npm run sync:catalog을 사용하여 표준 소스에서 생성되므로 플랫폼을 추적합니다.

두 가지 종류:

  • 직접 레시피 (키 없음). 키 없이 실행되는 단일 그래프 절차(속도 제한 있음): assess (위협 태세), identify (벤더/운영자), explain, variants, origins (CDN 디클로킹), history / history-whois, walk, psl-tldplusone, psl-affiliation, asset, lookup-tor-relay, db-schema.
  • 흐름 레시피 (키 필요). 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" } } }

각 레시피에는 whisper.security/docs 아래의 해당 페이지로 연결되는 docsUrl(list_recipes에서 볼 수 있음)이 있습니다.

리소스

6개의 MCP 리소스: 전체 스키마, 관계 맵, Cypher 함수 참조, 쿼리 쿡북, 그리고 실시간 whisper://statswhisper://quota.

프롬프트

8개의 조사 워크플로우 프롬프트 템플릿: investigate-ip, map-attack-surface, compare-domains, blast-radius, threat-triage, whois-pivot, bgp-investigation, typosquat-sweep.

자체 호스팅 (Docker / HTTP)

원격 또는 팀 배포의 경우 Streamable HTTP를 통해 서버를 실행하세요:

docker run -p 8080:8080 -e MCP_TRANSPORT=http \
  ghcr.io/whisper-sec/whisper-graph-mcp:latest

또는 Docker Compose 사용:

docker compose up

HTTP 모드에서 서버는 인바운드 요청을 인증하지 않습니다 - 호출자의 X-API-Key 또는 Authorization: Bearer 헤더를 호스팅된 WhisperGraph API로 중계하며, 헤더가 없을 경우 WHISPER_API_KEY 환경 변수로 폴백합니다. 액세스 제어가 필요한 경우 자체 게이트웨이 뒤에 배치하세요.

구성

모든 구성은 환경 변수를 통해 이루어집니다.

변수기본값설명
WHISPER_API_KEY(없음)WhisperGraph API 키입니다. 프로그래밍 방식으로 2번의 HTTP 호출 또는 대시보드를 통해 받으세요.
MCP_TRANSPORTstdio로컬 CLI 사용 시 stdio, 원격/Docker 사용 시 http.
HTTP_HOST0.0.0.0HTTP 전송을 위한 바인드 호스트입니다.
HTTP_PORT8080HTTP 전송을 위한 바인드 포트입니다.
WHISPER_ALLOWED_HOSTS(없음)HTTP 모드에서 DNS 리바인딩 보호를 위한 쉼표로 구분된 Host 헤더 허용 목록입니다. 신뢰할 수 있는 게이트웨이 뒤에서만 비워 두세요.
WHISPER_DB_URLhttps://graph.whisper.security호스팅된 WhisperGraph API의 기본 URL입니다.
WHISPER_QUERY_TIMEOUT_MS60000API로 전달되는 쿼리별 엄격한 기한입니다.
WHISPER_DB_TIMEOUT_MS10000비쿼리 호출에 대한 HTTP 타임아웃입니다.
LOG_LEVELinfodebug, info, warn, 또는 error.

개발

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

기여

기여를 환영합니다. CONTRIBUTING.md행동 강령을 참조하세요. 보안 문제: SECURITY.md를 참조하세요.

라이선스

Apache-2.0. "Whisper", Whisper 로고 및 "WhisperGraph"는 Whisper Security의 상표입니다 - NOTICE를 참조하세요.