CertIndex MCP

公式

唯一の証明書透過性MCPサーバー。21.5億以上のTLS証明書を検索し、ドメインの新規発行を監視し、グローバルCTファイアホースをエージェントにストリーミングします。

CertIndex MCPで何ができますか?

  • ドメインまたは発行者による証明書の検索search_certificates を使用して、ドメイン、CN、発行者、または SAN パターンに一致する TLS 証明書を検索します。
  • フィンガープリントによる証明書の取得get_certificate を使用して、特定の SHA-256 フィンガープリントの完全な PEM データと CT ログメタデータを取得します。
  • ドメインの全証明書の一覧表示get_domain_certificates を使用して、正確なドメインに対して発行されたすべての証明書を取得し、オプションで現在有効な証明書のみにフィルタリングします。
  • CT ログで確認されたサブドメインの列挙get_subdomains のカーソルベースのページネーションを使用して、ドメインで観察された一意のサブドメインを発見します。
  • 期限切れが近い証明書の検索get_expiring_certs を使用して、指定した日数以内に期限切れになるドメインの証明書を特定します。
  • グローバルインデックススイープの実行submit_global_sweep を使用して CT コーパス全体で CN または SAN による非同期の部分文字列検索を送信し、get_sweep_results で結果をポーリングします。

ドキュメント

certindex-mcp

CI PyPI License: MIT

MCP (Model Context Protocol) サーバーで、 CertIndex の Certificate Transparency 検索ツールを、 あらゆる MCP 互換クライアント (Claude Desktop、MCP Inspector、Continue など) に公開します。

CertIndex は、公開 CT コーパス全体 (約 500 万証明書、1 日あたり約 10 万増加) をインデックス化しています。 このサーバーは公開 CertIndex REST API をラップし、LLM が次のような質問をできるようにします:

  • example.com に対して発行されたすべての TLS 証明書をリストアップして。」
  • 「Let's Encrypt が mycompany.io に対して確認したサブドメインは?」
  • api.mycompany.io の今後 30 日以内に期限切れとなる証明書を表示して。」
  • 「SHA-256 <fingerprint> の完全な PEM と CT ログメタデータを取得して。」

このリポジトリが存在する理由

CertIndex モノレポには、本番 Postgres インデックスと直接通信する MCP サーバー (https://api.ctindex.io/mcp にマウント) がバンドルされています。 このスタンドアロンパッケージは、シンな クライアントサイド の仲介役です。エディタ/エージェントと MCP で通信し、すべてのツール呼び出しを HTTPS 経由でホストされた CertIndex REST API に転送します。これにより、次の 2 つの結果が得られます:

  1. インデックスのコピーは不要です — https://ctindex.io で無料の API キーにサインアップすれば完了です。
  2. パッケージの依存関係はごくわずか (mcphttpxpydantic) で、監査やベンダー化が容易であり、DB ドライバーも不要です。

インストール

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 を再起動します。10 個の CertIndex ツールがツールトレイに表示されます。

ツール

ホストされた CertIndex MCP サーバーと 1:1 で対応する 10 個のツール:

ツール機能主なパラメータ
search_certificatesドメイン、CN、発行者、SAN、有効期間、ワイルドカードステータスで CT インデックスを検索。domaincnissuersanexpiredis_wildcardpage/limit
get_certificateSHA-256 フィンガープリントで単一の証明書を取得。sha256include_enrichment
get_domain_certificates特定のドメインに対して発行されたすべての証明書。valid_onlyinclude_enrichmentinclude_signals (有料プラン)、page/limit
get_subdomainsCT で確認された一意のサブドメインを列挙。オフセット (page/limit) または キーセットカーソルモード — cursor="" を渡して開始し、各レスポンスの next_cursor をフィードバック
get_latest_certドメインの現在有効な最新の証明書。include_enrichmentinclude_signalsinclude_precerts (プレ証明書を「最新」の競合対象にする)
get_expiring_certsdays 日以内に期限切れとなるドメインの証明書。days
submit_global_sweepインデックス全体 (POST /v1/sweeps) に対する、非同期でドメインレスな CN/SAN サブストリングスイープを送信。cn/san_contains (3 文字以上、少なくとも 1 つ必須)、issueris_wildcardis_precertexpiredfirst_seen_*/not_after_* 日付範囲、strict_attributionresume_token (結果上限を超えた継続)
get_sweep_resultsスイープジョブをポーリングし、完了時に結果をページネーション (GET /v1/sweeps/{id})。sweep_idpage/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 に記載されています。 脆弱性は、公開 Issue を作成するのではなく、security@ctindex.io まで報告してください。

開発

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

CI は Python 3.11 / 3.12 / 3.13 で実行されます。

ライセンス

MIT © CertIndex contributors.