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 types —
list_labels로 모든 노드 레이블과 개수를 나열하거나,describe_label로 레이블의 속성을 검사합니다. - Assess threat posture of an indicator —
explain_indicator를 사용하여 IP, 호스트명, CIDR 또는 ASN에 대한 위협 점수, 수준 및 기여 요인을 확인합니다. - Run pre-built investigation recipes — Cypher를 작성하지 않고
run_recipe를 통해assess,identify또는attack-path와 같은 카탈로그 레시피를 실행합니다. - Retrieve historical WHOIS or BGP data —
whisper_history로 지표에 대한 과거 등록 또는 라우팅 기록을 조회합니다. - Discover typosquatting domains —
domain_variants를 사용하여 라이브 그래프와 대조 확인된 도메인의 브랜드 보호 변형을 찾습니다.
문서
WhisperGraph MCP 서버
AI 에이전트를 위한 인터넷 인프라 그래프 - DNS, IP, ASN, BGP, WHOIS, 웹 링크 및 위협 인텔리전스를 매핑하는 460억 개의 노드와 엣지. 2번의 HTTP 호출로 프로그래밍 방식으로 가입하세요.
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 키가 필요합니다. 다음 방법 중 하나로 받으세요:
- 프로그래밍 방식 (에이전트에 권장) - 아래 에이전트 빠른 시작을 참조하세요.
- 대시보드를 통해 (사람에게 권장) - console.whisper.security/sign-up.
호스팅된 원격 서버 (설치 불필요)
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개의 도구는 모두 읽기 전용입니다.
| 도구 | 기능 |
|---|---|
query | WhisperGraph에 대해 Cypher 쿼리를 실행합니다. 백엔드에 도달하기 전에 안전 규칙 세트에 대해 유효성이 검사됩니다. |
list_labels | 모든 노드 레이블을 개수와 함께 나열합니다. 어떤 레이블을 기준으로 삼을지 확실하지 않을 때 쿼리를 작성하기 전에 호출하세요. |
describe_label | 레이블이 존재하는지 확인하고 해당 속성 키를 열거합니다. |
explain_indicator | IP, 호스트 이름, 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://stats 및 whisper://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_TRANSPORT | stdio | 로컬 CLI 사용 시 stdio, 원격/Docker 사용 시 http. |
HTTP_HOST | 0.0.0.0 | HTTP 전송을 위한 바인드 호스트입니다. |
HTTP_PORT | 8080 | HTTP 전송을 위한 바인드 포트입니다. |
WHISPER_ALLOWED_HOSTS | (없음) | HTTP 모드에서 DNS 리바인딩 보호를 위한 쉼표로 구분된 Host 헤더 허용 목록입니다. 신뢰할 수 있는 게이트웨이 뒤에서만 비워 두세요. |
WHISPER_DB_URL | https://graph.whisper.security | 호스팅된 WhisperGraph API의 기본 URL입니다. |
WHISPER_QUERY_TIMEOUT_MS | 60000 | API로 전달되는 쿼리별 엄격한 기한입니다. |
WHISPER_DB_TIMEOUT_MS | 10000 | 비쿼리 호출에 대한 HTTP 타임아웃입니다. |
LOG_LEVEL | info | debug, 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를 참조하세요.