WhisperGraph MCP Server
官方开源、可自托管的 MCP 服务器,用于 WhisperGraph —— 一个包含 73.9 亿节点 / 390 亿条边的图谱,映射 DNS、BGP、GeoIP、WHOIS 及威胁情报。提供六个只读工具(Cypher 查询 + 模式自省 + 威胁评估)、六个资源、八个调查提示。支持 stdio 和 Streamable HTTP 传输。
文档
WhisperGraph MCP 服务器
面向 AI 智能体的互联网基础设施图谱——包含 460 亿个节点和边,映射 DNS、IP、ASN、BGP、WHOIS、Web 链接和威胁情报。只需两次 HTTP 调用即可程序化注册。
WhisperGraph 是一个 MCP 服务器,背后是全球最大的互联网基础设施图数据库——包含 460 亿个节点和边,涵盖 20 种实体类型,将每个域名、IP、ASN、前缀、组织、Web 链接和威胁情报列表映射到一个可进行 Cypher 查询的单一图谱中。安全团队、事件响应人员和 AI 智能体用它进行调查、归因、品牌保护和基础设施取证。
从第一天起就为智能体而构建。
- 两次 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>" }
}
}
}
Claude Desktop / Claude Code / Cursor(stdio)
对于本地 stdio 传输,将此配置添加到你的 MCP 客户端配置中:
{
"mcpServers": {
"whisper-graph": {
"command": "npx",
"args": ["-y", "@whisper-security/whisper-graph-mcp"],
"env": { "WHISPER_API_KEY": "your-api-key" }
}
}
}
或使用 Claude Code:
claude mcp add whisper-graph -e WHISPER_API_KEY=your-api-key -- npx -y @whisper-security/whisper-graph-mcp
自托管此仓库适用于希望在自己的环境中运行 MCP 层的团队。请参阅如何设置。
智能体快速入门
通过两次 HTTP 调用获取可用的 API 密钥——无需浏览器、无需验证码、无需等待列表。
步骤 1——开始注册(Whisper 会发送验证码邮件):
POST https://console.whisper.security/api/signup
Content-Type: application/json
{"email":"[email protected]","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 | 检查域名的误植/品牌保护变体,并与图谱进行比对。 |
资源
六个 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 密钥。可通过两次 HTTP 调用程序化获取或通过仪表板获取。 |
MCP_TRANSPORT | stdio | stdio 用于本地 CLI 使用,http 用于远程/Docker。 |
HTTP_HOST | 0.0.0.0 | HTTP 传输的绑定主机。 |
HTTP_PORT | 8080 | HTTP 传输的绑定端口。 |
WHISPER_ALLOWED_HOSTS | (无) | 逗号分隔的 Host 头允许列表,用于 HTTP 模式下的 DNS 重绑定保护。仅在受信任网关后留空。 |
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。