WhisperGraph MCP

官方

开源、可自托管的 MCP 服务器,用于 WhisperGraph —— 一个包含 73.9 亿节点 / 390 亿条边的图谱,映射 DNS、BGP、GeoIP、WHOIS 及威胁情报。提供六个只读工具(Cypher 查询 + 模式自省 + 威胁评估)、六个资源、八个调查提示。支持 stdio 和 Streamable HTTP 传输。

你可以用 WhisperGraph MCP 做什么?

  • 查询互联网基础设施图 — 使用 query 对 46B 个 DNS、IP、ASN、BGP、WHOIS 和网页链接节点运行 Cypher 查询。
  • 探索可用数据类型 — 使用 list_labels 列出所有节点标签及其计数,或使用 describe_label 查看标签的属性。
  • 评估指标的威胁态势 — 使用 explain_indicator 获取 IP、主机名、CIDR 或 ASN 的威胁评分、等级和影响因素。
  • 运行预构建的调查方案 — 通过 run_recipe 执行目录方案(如 assessidentifyattack-path),无需编写 Cypher。
  • 检索历史 WHOIS 或 BGP 数据 — 使用 whisper_history 查找指标的历史注册或路由记录。
  • 发现域名抢注变体 — 使用 domain_variants 查找针对某个域名的品牌保护变体,并对照实时图进行验证。

文档

WhisperGraph

WhisperGraph MCP 服务器

面向 AI 智能体的互联网基础设施图谱——包含 460 亿个节点和边,映射 DNS、IP、ASN、BGP、WHOIS、Web 链接和威胁情报。通过 2 次 HTTP 调用即可程序化注册。

npm version License: Apache-2.0 Node >= 20


WhisperGraph 是一个 MCP 服务器,由全球最大的互联网基础设施图数据库提供支持——包含 460 亿个节点和边,涵盖 20 种实体类型,将每个域名、IP、ASN、前缀、组织、Web 链接和威胁情报列表映射到一个可进行 Cypher 查询的单一图谱中。安全团队、事件响应人员和 AI 智能体使用它进行调查、归因、品牌保护和基础设施取证。

从第一天起就为智能体构建。

  • 通过 2 次 HTTP 调用即可程序化注册。 无需浏览器、无需验证码、无需人工干预。仅需邮箱验证。约 5 秒即可获得可用的 API 密钥。
  • 面向所有人(包括智能体)提供免费试用。 更高配额提供付费套餐。

您可以查询的内容:

  • DNS:解析、域名服务器、MX、SPF 链、DNSSEC
  • 路由:ASN 归属、BGP 起源历史、MOAS 冲突、对等互联
  • 托管与归属:注册商、WHOIS 联系人、组织映射
  • 威胁情报:涵盖 18 个类别的约 40 个情报源,CALL explain() 用于全面威胁评分
  • 历史数据:WHOIS 历史记录、BGP 路由变更
  • Web: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 密钥——无需浏览器、无需验证码、无需等待列表。

步骤 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_keymcp_urldashboard_urldocs_url。在上述 MCP 配置片段中使用 api_key。完整文档:whisper.security/docs/agent-signup

工具

所有八个工具均为只读。

工具功能描述
query针对 WhisperGraph 执行 Cypher 查询。在到达后端之前,会根据安全规则集进行验证。
list_labels列出每个节点标签及其计数。当您不确定要锚定哪个标签时,请在编写查询之前调用它。
describe_label确认标签是否存在并枚举其属性键。
explain_indicator对 IP、主机名、CIDR 或 ASN 进行威胁评估——评分、级别、因素、来源。
whisper_history获取某个指标的 WHOIS 或 BGP 历史数据。
domain_variants生成域名的误植域名/品牌保护变体,并与图谱进行比对检查。
list_recipes列出 whisper.security 目录中完整的现成方案(见下文)。
run_recipe通过 slug 运行任何目录方案——无密钥直接过程或有密钥多步骤流程。

目录方案

list_recipes + run_recipe 公开了整个 whisper.security 目录——包含 29 个精选方案,无需手写 Cypher。内置目录(src/catalog/recipes.json)是从规范源通过 npm run sync:catalog 生成的,因此它会跟踪平台更新。

两种类型:

  • 直接方案(无密钥)。 无需密钥即可运行的单个图谱过程(有速率限制):assess(威胁态势)、identify(供应商/运营商)、explainvariantsorigins(CDN 去隐藏)、history / history-whoiswalkpsl-tldplusonepsl-affiliationassetlookup-tor-relaydb-schema
  • 流程方案(有密钥)。 需要 API 密钥的精选多步骤调查:attack-pathattack-surfaceindicator-enrichmentinfrastructure-mappingsubdomain-takeoverbgp-hijack-exposureblast-radiusroute-healthtyposquatnameserver-hijack-dns-consistencymap-supply-chain-concentrationdiscover-ai-agent-infrastructurebuild-takedown-evidence-packageindicatoranycast-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" } } }

每个方案都带有一个 docsUrl(在 list_recipes 中可见),链接到其在 whisper.security/docs 下的页面。

资源

六个 MCP 资源:完整模式、关系图、Cypher 函数参考、查询手册,以及实时的 whisper://statswhisper://quota

提示模板

八个调查工作流提示模板:investigate-ipmap-attack-surfacecompare-domainsblast-radiusthreat-triagewhois-pivotbgp-investigationtyposquat-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-KeyAuthorization: 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_MS60000转发到 API 的每个查询的硬性截止时间。
WHISPER_DB_TIMEOUT_MS10000非查询调用的 HTTP 超时时间。
LOG_LEVELinfodebuginfowarnerror

开发

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