Attestd Mcp

io.github.attestd-io由 GitHub 账号 attestd-io 发布v0.3.1更新于 Oct 24, 2026

CVE checks, supply chain signals, live catalog, and CVE detail for MCP clients (infra, PyPI, npm).

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

Attestd MCP 服务器,让助手检查依赖版本是否存在可利用的 CVE 和供应链入侵,并查询 CVE 详情。

可以做什么
  • 检查单个产品与版本的 CVE 风险、EPSS、KEV 与补丁建议
  • 一次批量审计最多 100 个包,适合 lockfile 与清单审查
  • 查询单个 CVE 的 CVSS、EPSS、KEV 状态与受影响产品
  • 列出已覆盖的基础设施产品与受监控的 PyPI/npm 包
  • 查看当前密钥的剩余调用额度与超额情况
适用场景
适合在助手审查依赖、lockfile 或清单时,判断某个版本是否存在可利用的 CVE 或已确认的供应链入侵;也适合在漏洞排查中获取结构化的 CVE 背景信息。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js 18 或更高版本。检查、CVE 详情、用量工具以及实时产品列表需要 ATTESTD_API_KEY 中的 Attestd API 密钥;没有密钥时只返回内置的静态产品列表。可用 ATTESTD_BASE_URL 覆盖 API 地址。
安装前请注意
API 密钥是机密,通过 ATTESTD_API_KEY 传入并发送给 Attestd API。每个检查项都计为一次计费调用,批量超出月度额度会在计费前返回 429;get_usage 会显示超额调用与预估超额费用。所检查的包名和版本会发送给第三方服务。超出覆盖范围表示风险未知,而非安全。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Attestd Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@attestd/mcp

[npm version] [smithery badge]

Attestd checks whether a dependency version has exploitable CVEs or a confirmed supply-chain compromise. One API call returns a structured risk response.

Official Model Context Protocol (MCP) server for Attestd. Exposes CVE risk and supply-chain checks as tools for Claude Code, Claude Desktop, and any MCP-compatible client.

Get a free API key · Full docs

  • stdio transport: run via npx -y @attestd/mcp with no global install.
  • check_package_vulnerability: wraps GET /v1/check using @attestd/sdk.
  • check_batch_vulnerabilities: checks up to 100 packages in one call. Use for lockfile and manifest audits.
  • list_covered_products: returns Attestd-covered products. With an API key, returns live data from GET /v1/products. Without a key, returns the static bundled infrastructure list.
  • get_cve_details: returns CVSS, EPSS, KEV status, and affected products for a single CVE id.
  • get_usage: returns remaining quota for the authenticated key (GET /v1/usage).

Prerequisites

  • Node.js 18+
  • An Attestd API key from the portal. Required for check_package_vulnerability, check_batch_vulnerabilities, get_cve_details, get_usage, and live list_covered_products.

Claude Code / MCP config

Add to ~/.claude/mcp.json or project .mcp.json:

json
{  "mcpServers": {    "attestd": {      "command": "npx",      "args": ["-y", "@attestd/mcp"],      "env": {        "ATTESTD_API_KEY": "your-api-key-here"      }    }  }}

Optional: override the API base URL (e.g. dev):

json
"env": {  "ATTESTD_API_KEY": "your-api-key-here",  "ATTESTD_BASE_URL": "https://dev.api.attestd.io"}

Tools

check_package_vulnerability

ArgumentTypeDescription
productstringProduct slug (nginx, postgresql, litellm, …)
versionstringExact version (1.20.0)

Returns JSON with:

FieldMeaning
outsideCoveragetrue if the product is not covered. Unknown risk, not safe.
riskStatecritical | high | elevated | low | none | null when outside coverage
riskFactorsRisk factor vocabulary driving riskState
maxEpssHighest EPSS probability across matching CVEs
activelyExploitedCISA KEV signal
remoteExploitabletrue if any matching CVE is remotely exploitable
authenticationRequiredtrue only when all matching CVEs require authentication
patchAvailable / fixedVersionPatch guidance
confidenceSynthesis confidence 0.0–1.0
cveIdsCVE IDs contributing to the risk assessment
typosquatPackage name integrity: detected, resembles, confidence, ecosystem (SDK 0.5 runtime; extra fields are omitted)
messageExplanation when outsideCoverage is true
supplyChainCompromised / supplyChainDescriptionPyPI/npm supply-chain signal

On invalid/missing API key or rate limit, returns isError: true with a JSON error string.

check_batch_vulnerabilities

ArgumentTypeDescription
itemsarrayArray of { product, version } objects. Maximum 100 per call. Each item costs one API call.

Quota is checked upfront. If the batch would exceed your monthly quota, a 429 is returned before any calls are billed.

Returns JSON with count and results. Supported items include the same fields as check_package_vulnerability minus typosquat. Outside-coverage items return only product, version, outsideCoverage: true, and riskState: null.

list_covered_products

No arguments. With an API key, returns live JSON from GET /v1/products:

FieldMeaning
source"live" when fetched from the API
totalCombined count of CVE products and supply chain packages
cveProductsCVE infrastructure slugs with display names
supplyChainPackagesMonitored PyPI/npm packages

Without an API key, returns the static bundled list:

FieldMeaning
source"static"
countNumber of bundled infrastructure products
productsArray of { slug, display } entries

get_cve_details

ArgumentTypeDescription
cve_idstringCVE identifier, e.g. CVE-2021-44228

Returns JSON with:

FieldMeaning
foundtrue when the CVE is in Attestd's database; false on 404 (not an error)
cveIdCVE identifier
descriptionNVD description text
cvssScore / cvssVectorCVSS base score and vector
activelyExploitedCISA KEV signal
remoteExploitableRemotely exploitable
authenticationRequiredAuthentication required for exploitation
affectedProductsAttestd product slugs affected by this CVE
epssScore / epssPercentileEPSS probability and percentile
sourcePublishedAt / lastCheckedAtISO timestamps

When the CVE is not found, returns { "found": false, "cveId": "..." } without isError. On invalid/missing API key or rate limit, returns isError: true with a JSON error string.

get_usage

No arguments. Requires an API key. Returns JSON from GET /v1/usage:

FieldMeaning
tierAccount plan tier
keyCallsThisMonthCalls billed to this key in the current period
accountCallsThisMonthCalls billed across all keys on the account
includedCallsMonthly included call cap
billingPeriodStart / billingPeriodEndISO timestamps
overageCalls / estimatedOverageUsdOverage vs the included cap

On invalid/missing API key or rate limit, returns isError: true with a JSON error string.

Verify locally

bash
npm run buildecho '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js

License

MIT. See LICENSE.

来源:README.md,提交 e21fe18

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.3.1最新Sep 26, 2026
  2. v0.2.1Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分