mcpField
C
certindex-mcp

certindex-mcp

本地服务
ctindex.io安全03 周前更新

关于 certindex-mcp

certindex-mcp 是轻量 MCP 服务,将请求转发到 CertIndex 托管的 Certificate Transparency API。它适用于需要证书、子域名、签发历史或到期信息的 Agent 和客户端;历史数据覆盖可能不完整。

主要功能

  1. 01按域名和属性搜索证书
  2. 02按 SHA-256 指纹获取证书
  3. 03枚举已观测到的子域名
  4. 04查找即将到期的证书
  5. 05提交并获取全索引扫描结果
  6. 06查看用量和历史回填状态

适用场景

  1. 01查看某域名已索引的证书
  2. 02枚举 CT 日志中发现的子域名
  3. 03识别即将到期的证书
  4. 04执行广泛的证书索引搜索

MCP 相关

将 CertIndex REST API 操作作为工具提供给 MCP 客户端,并通过 HTTPS 转发调用至托管服务。使用时需要 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"certindex-certindex": {
"command": "uvx",
"args": [
"certindex-mcp"
],
"env": {
"CERTINDEX_API_KEY": "<CERTINDEX_API_KEY>"
}
}
}
}
启动命令uvx certindex-mcp
需要配置的环境变量
CERTINDEX_API_KEY密钥CertIndex API key (free tier at https://ctindex.io)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicertindex-mcp0.2.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

certindex-mcp

CI PyPI License: MIT

一个 MCP(Model Context Protocol)服务,将 CertIndex 的 Certificate Transparency 搜索工具提供给任何兼容 MCP 的客户端(Claude Desktop、MCP Inspector、Continue 等)。

CertIndex 直接从公开的 Certificate Transparency 日志摄取证书,并通过自有索引提供查询服务。历史数据回填仍在进行中,因此结果可能不完整,尤其是较旧的证书。本服务封装了公开的 CertIndex REST API,让大模型可以提出这类问题:

  • “列出 CertIndex 为 example.com 索引的 TLS 证书。”
  • “Let's Encrypt 发现了 mycompany.io 的哪些子域名?”
  • “显示 api.mycompany.io 在未来 30 天内到期的证书。”
  • “获取 SHA-256 <fingerprint> 对应的完整 PEM 和 CT 日志元数据。”

为什么会有这个仓库

CertIndex 单体仓库包含一个 MCP 服务(挂载于 https://api.ctindex.io/mcp),可直接连接生产环境的 Postgres 索引。这个独立软件包是一个精简的客户端适配层:它通过 MCP 与你的编辑器 / Agent 通信,并通过 HTTPS 将每次工具调用转发到托管的 CertIndex REST API。由此带来两个好处:

  1. 你无需拥有一份索引副本——在 https://ctindex.io 注册一个免费 API 密钥即可。
  2. 这个软件包的依赖极少(mcp、httpx、pydantic)——易于审计、易于引入,无需数据库驱动程序。

安装

0.3.0 版使用 MCP Python SDK 2.x(mcp>=2,<3)和 Python 3.11 及更高版本。 控制台命令、环境变量和十个工具名称均未更改。 必须保留 SDK 1.x 的应用程序,请使用 certindex-mcp==0.2.1。

pip install certindex-mcp

也可以使用 uvx 一次性运行:

uvx certindex-mcp

如需改为从源代码安装最新开发版本:

pip install git+https://github.com/certindex/certindex-mcp

快速开始 — Claude Desktop

将以下内容添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "certindex": {
      "command": "uvx",
      "args": ["certindex-mcp"],
      "env": {
        "CERTINDEX_API_KEY": "ctx_live_..."
      }
    }
  }
}

重启 Claude Desktop。工具栏中将显示十个 CertIndex 工具。

工具

10 个工具,与托管的 CertIndex MCP 服务一一对应:

工具功能重要参数
search_certificates按域名、CN、颁发者、SAN、有效期或通配符状态搜索 CT 索引。domain、cn、issuer、san、expired、is_wildcard、page/limit
get_certificate按 SHA-256 指纹获取单个证书。sha256、include_enrichment
get_domain_certificates获取指定精确域名的已索引证书。valid_only、include_enrichment、include_signals(付费计划)、page/limit
get_subdomains列出 CT 中出现过的唯一子域名。偏移量(page/limit)或键集游标模式——传入 cursor="" 开始,然后将每次响应的 next_cursor 传回
get_latest_cert获取域名当前有效的最新证书。include_enrichment、include_signals、include_precerts(允许预证书参与“最新”证书的竞争)
get_expiring_certs获取域名中将在 days 天内到期的证书。days
submit_global_sweep提交对整个索引执行的异步、不限域名的 CN/SAN 子串扫描(POST /v1/sweeps)。cn/san_contains(至少 3 个字符,且至少需要一个)、issuer、is_wildcard、is_precert、expired、first_seen_*/not_after_* 日期范围、strict_attribution、resume_token(在达到结果上限后继续)
get_sweep_results轮询扫描任务,并在完成后对结果分页(GET /v1/sweeps/{id})。sweep_id、page/limit(最多 1,000)
get_usage调用者的套餐级别、当前用量、剩余额度和权益。—
get_historical_backfill_status检查或启动域名的付费深度历史回填。domain

快速入门 — MCP Inspector

export CERTINDEX_API_KEY=ctx_live_...
npx @modelcontextprotocol/inspector uvx certindex-mcp

配置

环境变量默认值说明
CERTINDEX_API_KEY(必填)你的 CertIndex API 密钥。前往 https://ctindex.io/app/keys 创建
CERTINDEX_BASE_URLhttps://api.ctindex.io用于覆盖可自托管部署或暂存环境的地址
CERTINDEX_TIMEOUT30每次请求的 HTTP 超时时间(秒)

安全

输入验证、速率限制处理和我们的供应链安全状况记录在 SECURITY.md 中。请将漏洞报告发送至 [email protected],而不要提交公开问题。

开发

git clone https://github.com/certindex/certindex-mcp
cd certindex-mcp
pip install -e ".[dev]"
pytest

CI 使用 Python 3.11 / 3.12 / 3.13 和 SDK 2.0.0 及最新允许的 2.x 版本运行。它还会将构建好的 wheel 安装到全新环境中,并通过实际的标准输入/输出测试初始化、工具枚举和调用。 HTTP 测试固件通过回环地址运行;测试无需生产凭据。

许可证

MIT © CertIndex 贡献者。

评论

支持 Markdown

第一次接触 MCP?

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

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