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执行目录方案(如assess、identify或attack-path),无需编写 Cypher。 - 检索历史 WHOIS 或 BGP 数据 — 使用
whisper_history查找指标的历史注册或路由记录。 - 发现域名抢注变体 — 使用
domain_variants查找针对某个域名的品牌保护变体,并对照实时图进行验证。
文档
WhisperGraph MCP 服务器
面向 AI 智能体的互联网基础设施图谱——包含 460 亿个节点和边,映射 DNS、IP、ASN、BGP、WHOIS、Web 链接和威胁情报。通过 2 次 HTTP 调用即可程序化注册。
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 密钥。可通过以下任一方式获取:
- 程序化方式(推荐智能体使用) - 请参阅下方的 智能体快速入门。
- 通过仪表板(推荐人类使用) - 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 密钥——无需浏览器、无需验证码、无需等待列表。
步骤 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。
工具
所有八个工具均为只读。
| 工具 | 功能描述 |
|---|---|
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(供应商/运营商)、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" } } }
每个方案都带有一个 docsUrl(在 list_recipes 中可见),链接到其在 whisper.security/docs 下的页面。
资源
六个 MCP 资源:完整模式、关系图、Cypher 函数参考、查询手册,以及实时的 whisper://stats 和 whisper://quota。
提示模板
八个调查工作流提示模板: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。