mcpField
T
threatcluster

threatcluster

远程服务
github.com/Jam0k安全22 周前更新
代码仓库

关于 threatcluster

ThreatCluster 是面向安全分析人员和 Agent 的威胁情报 API 封装及 MCP 服务。它通过只读工具提供实时事件集群、实体档案、漏洞状态和勒索软件泄露站受害者信息。

主要功能

  1. 01搜索事件集群和威胁记录
  2. 02查询攻击者、恶意软件及厂商档案
  3. 03检查包含 KEV 和 EPSS 数据的 CVE
  4. 04查询勒索软件泄露站受害者
  5. 05追踪热门实体与已利用漏洞
  6. 06提供带引用网址的只读工具

适用场景

  1. 01检查某个 CVE 是否已遭利用
  2. 02查看近期事件及其时间线
  3. 03查找勒索软件泄露站受害者名单
  4. 04为 Agent 提供带引用的威胁情报

MCP 相关

MCP 服务通过 ThreatCluster API 提供只读工具,用于搜索事件、实体、漏洞和勒索软件受害者。工具结果包含引用网址,以及调用成本和剩余额度。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://threatcluster.io/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://threatcluster.io/mcp需要授权
安装包
npmthreatcluster-mcp0.2.3

工具

详细介绍

ThreatCluster:免费的 CTI API 和 MCP 服务

免费的威胁情报 API(每天 100 个积分,无需银行卡),以及基于它的 MCP 服务。向 Claude、Cursor 或任何 MCP 客户端询问最新动态、受影响对象、某个 CVE 是否遭到利用,即可从实时语料库获得答案。该语料库包含去重后的事件集群、攻击者和恶意软件档案、含 KEV 和 EPSS 信息的 CVE,以及勒索软件泄露站点上的受害者。

一个 MCP 服务,可让 Claude、Cursor、VS Code、Windsurf、Zed 及任何其他 MCP 客户端从 ThreatCluster 获取实时威胁情报(设置指南):事件集群(每起事件对应一个去重后的故事,包含威胁评分、时间线和提取出的实体)、实体档案(攻击者、恶意软件、工具、供应商、CVE)、含 KEV / EPSS / 利用状态的 CVE 记录,以及勒索软件泄露站点上的受害者。

这是对公开 REST API 的轻量、可审计封装。每次工具调用只会向 https://threatcluster.io/api/public/v1 发出一到两次 GET 请求,并使用你自己的 API 密钥;不会有其他数据离开你的设备,也不会收集遥测数据。

为什么选择它,而不是信息源聚合器

大多数免费的 CTI MCP 服务都封装了其他人提供的指标信息源(OTX、abuse.ch、AbuseIPDB)。ThreatCluster 本身就是语料库:每个故事都是一个集群,由报道该事件的所有信息源构建而成,包含威胁评分、时间线和从文本中提取的实体;同一个 API 还提供泄露站点受害者列表和 CVE 利用状态。免费密钥涵盖所有这些内容,可查询最近 7 天的数据;付费套餐则可延长时间范围。详情和托管端点(https://threatcluster.io/mcp)请见 threatcluster.io/about/free-api。

基于同一份工具规范发布了两个版本,因此两者完全一致:

运行环境安装方式软件包
Python 3.10+uvx threatcluster-mcp(或 pipx run threatcluster-mcp)PyPI:threatcluster-mcp
Node 18+npx -y threatcluster-mcpnpm:threatcluster-mcp

1. 获取密钥

免费密钥包含五种读取权限,每天 100 个积分,每分钟 30 次请求,以及 7 天的数据回溯范围:https://threatcluster.io/api。将密钥放入 THREATCLUSTER_API_KEY。如果你使用 tc CLI 并已运行 tc auth login,Python 服务会自动读取该凭据(从密钥环或 ~/.config/tc-cli/credentials 文件);Node 服务则只会读取该文件。

2. 添加服务

Claude Code

claude mcp add threatcluster -e THREATCLUSTER_API_KEY=tc_live_... -- npx -y threatcluster-mcp
# or the Python build:
claude mcp add threatcluster -e THREATCLUSTER_API_KEY=tc_live_... -- uvx threatcluster-mcp

Claude Desktop(claude_desktop_config.json,Settings > Developer > Edit Config)

{
  "mcpServers": {
    "threatcluster": {
      "command": "npx",
      "args": ["-y", "threatcluster-mcp"],
      "env": { "THREATCLUSTER_API_KEY": "tc_live_..." }
    }
  }
}

Cursor — 一键添加:请见 listings/cursor-deeplink.md,或添加到 ~/.cursor/mcp.json / .cursor/mcp.json:

{ "mcpServers": { "threatcluster": { "command": "npx", "args": ["-y", "threatcluster-mcp"], "env": { "THREATCLUSTER_API_KEY": "tc_live_..." } } } }

VS Code(.vscode/mcp.json;输入提示会要求输入密钥,而不会将其存储在文件中)

{
  "inputs": [{ "type": "promptString", "id": "tc-key", "description": "ThreatCluster API key", "password": true }],
  "servers": {
    "threatcluster": { "type": "stdio", "command": "npx", "args": ["-y", "threatcluster-mcp"], "env": { "THREATCLUSTER_API_KEY": "${input:tc-key}" } }
  }
}

Windsurf(~/.codeium/windsurf/mcp_config.json)— 使用与 Claude Desktop 相同的 mcpServers 配置块。

Zed(settings.json)

{ "context_servers": { "threatcluster": { "command": { "path": "npx", "args": ["-y", "threatcluster-mcp"], "env": { "THREATCLUSTER_API_KEY": "tc_live_..." } } } } }

无需启动客户端即可检查配置:THREATCLUSTER_API_KEY=... npx -y threatcluster-mcp --check(会显示密钥的来源及其发送目标,但绝不会显示密钥本身)。

3. 工具

费用以 ThreatCluster API 积分计算(免费密钥:每天 100 积分)。每个结果中的每个集群、实体、受害者和 CVE 都包含 cost(本次调用消耗的积分)、budget(根据响应标头显示的今日剩余积分)、as_of 和 url 字段,供引用。

工具可回答的问题API 端点积分
search_threats按关键词搜索事件集群;依次尝试完整短语、全部单词、任意单词;matched_stage 会说明命中了哪种匹配方式每个词条调用一次 GET /threats?keyword=每个词条 1 积分(最多调用 8 次)
search_everything一次调用搜索集群、实体档案和暗网命中项GET /search5
newest_threats按首次报告时间或热度趋势,查询过去 1 小时 / 24 小时 / 7 天 / 30 天的新内容GET /threats1
get_threat获取单个集群的完整记录:摘要、时间线、文章、实体;include_iocs 会添加经过验证的指标GET /threats/{id}(以及 /iocs)1(+1)
leak_site_victims按行业、组织、国家或受害者筛选勒索软件泄露站点列表,并提供整个时间范围的总数GET /darkweb/ransomware/victims + /facets2
lookup_entity查询攻击者、恶意软件、工具、供应商、产品、国家、行业或 CVE 的档案GET /entities/search + GET /entities/{type}/{value}2
get_vulnerability查询单个 CVE:CVSS、EPSS、包含截止日期的 KEV、漏洞利用、供应商、产品GET /vulnerabilities/{cve_id}1
exploited_vulnerabilities查询指定时间范围内的 CVE,并按 KEV / 公开漏洞利用 / 严重性 / 供应商 / 产品筛选GET /vulnerabilities1
trending_entities查询指定时间范围内热度上升的攻击者、恶意软件、工具、供应商、CVE、国家GET /entities/trending1
api_budget查看剩余积分和最近响应中的速率状态——不调用 API—0

一个提示词 threatcluster_analyst 包含分析员规则(先使用工具;每条事实都要引用返回的 url;说明搜索的时间范围;泄露站点列表中的内容仅为声称)。

错误会作为 MCP 工具错误返回,并附带 API 自身的消息:401 会提示 Agent 设置 THREATCLUSTER_API_KEY,并说明如何获取免费密钥;429 会包含 Retry-After;403 会指出缺少的作用域或回溯时间范围,以及可解除限制的方案。

了解更多 threatcluster.io

安全

  • 密钥从 THREATCLUSTER_API_KEY(其次是 TC_REFRESH_TOKEN,再其次是 tc-cli 存储)读取,并且只会通过 X-API-Key 标头发送到 THREATCLUSTER_API_BASE(由 tc login 生成的 JWT 则使用 Authorization: Bearer)。
  • 密钥绝不会被记录或由 --check 打印,也不会写入磁盘,并且会从所有错误字符串中清除;测试套件会断言密钥不会出现在任何 stdout 和 stderr 字节中,包括响应正文引用密钥的 401 错误。
  • 仅使用 stdio。除 API 外不建立任何出站连接。不收集分析数据。
  • 所有工具均为只读(readOnlyHint: true),并会在发出任何请求前根据规范验证参数。

环境

变量默认值用途
THREATCLUSTER_API_KEY—你的密钥(tc_live_…、tc_agent_…)或来自 tc login 的 bearer token
THREATCLUSTER_API_BASEhttps://threatcluster.io/api/public/v1API 基础地址(用于可自托管或本地测试服务)
THREATCLUSTER_SITEhttps://threatcluster.io结果中 url 字段的基础地址

仓库布局

tools/tools.json   the single source of truth: tools, schemas, endpoint mapping, credits, prompt
python/            PyPI package (hatchling; mcp + httpx)          -> console script threatcluster-mcp
node/              npm package (TypeScript; @modelcontextprotocol/sdk + zod) -> bin threatcluster-mcp
tests/fixtures/    recorded API responses and tool outputs; both packages must replay them identically
listings/          directory manifests and submission copy (Smithery, MCP registry, Glama, mcp.so, Cursor, VS Code)
.github/workflows/ CI (both suites) and tag-triggered publishing (PyPI trusted publishing, npm provenance)

python3 tools/sync_tools.py 会将规范复制到两个软件包中;如果副本不一致,CI 将失败。

开发

pip install -e "python/[test]" && (cd python && pytest)
cd node && npm install && npm test
# live validation against a real API (spends ~30 credits, re-records tests/fixtures):
THREATCLUSTER_LIVE=1 THREATCLUSTER_API_KEY=... THREATCLUSTER_API_BASE=... pytest python/tests/test_live.py

相关内容:tc CLI、API 参考、用于实现基础工具调用函数的 Agent 工具指南,以及集成指南。

GPL-3.0-or-later © ThreatCluster Ltd.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。