CertIndex MCP

offiziell

Der einzige Certificate-Transparency-MCP-Server. Durchsuchen Sie 2,15B+ TLS-Zertifikate, überwachen Sie Domains auf Neuausstellungen, streamen Sie den globalen CT-Firehose zu Ihrem Agenten.

Was kann man mit CertIndex MCP machen?

  • Zertifikate nach Domain oder Aussteller durchsuchen — Finden Sie TLS-Zertifikate, die einem Domain-, CN-, Aussteller- oder SAN-Muster entsprechen, mit search_certificates.
  • Ein Zertifikat per Fingerabdruck abrufen — Rufen Sie vollständige PEM-Daten und CT-Log-Metadaten für einen bestimmten SHA-256-Fingerabdruck mit get_certificate ab.
  • Alle Zertifikate für eine Domain auflisten — Erhalten Sie jedes jemals für eine exakte Domain ausgestellte Zertifikat über get_domain_certificates, optional gefiltert auf nur aktuell gültige Zertifikate.
  • In CT-Logs gesehene Subdomains aufzählen — Entdecken Sie eindeutige Subdomains, die für eine Domain beobachtet wurden, mittels cursor-basierter Paginierung in get_subdomains.
  • Bald ablaufende Zertifikate finden — Identifizieren Sie Zertifikate für eine Domain, die innerhalb einer bestimmten Anzahl von Tagen ablaufen, mit get_expiring_certs.
  • Einen globalen Index-Sweep durchführen — Senden Sie eine asynchrone Substring-Suche über den gesamten CT-Korpus nach CN oder SAN mit submit_global_sweep und rufen Sie dann die Ergebnisse mit get_sweep_results ab.

Dokumentation

certindex-mcp

CI PyPI License: MIT

Ein MCP (Model Context Protocol)-Server, der die Certificate-Transparency-Suchwerkzeuge von CertIndex für jeden MCP-kompatiblen Client (Claude Desktop, den MCP Inspector, Continue usw.) bereitstellt.

CertIndex indiziert den gesamten öffentlichen CT-Korpus (~5 Mio. Zertifikate, wachsend um ~100.000/Tag). Dieser Server umschließt die öffentliche CertIndex-REST-API, sodass ein LLM Fragen stellen kann wie:

  • „Liste alle jemals für example.com ausgestellten TLS-Zertifikate auf.“
  • „Welche Subdomains hat Let's Encrypt für mycompany.io gesehen?“
  • „Zeige mir Zertifikate für api.mycompany.io, die in den nächsten 30 Tagen ablaufen.“
  • „Rufe das vollständige PEM und die CT-Log-Metadaten für SHA-256 <fingerprint> ab.“

Warum dieses Repository existiert

Das CertIndex-Monorepo bündelt einen MCP-Server (eingehängt unter https://api.ctindex.io/mcp), der direkt mit dem produktiven Postgres-Index kommuniziert. Dieses eigenständige Paket ist ein schlanker clientseitiger Shim: Es spricht MCP mit Ihrem Editor/Agenten und leitet jeden Werkzeugaufruf über HTTPS an die gehostete CertIndex-REST-API weiter. Zwei Konsequenzen:

  1. Sie benötigen keine Kopie des Index – melden Sie sich für einen kostenlosen API-Schlüssel unter https://ctindex.io an und Sie sind fertig.
  2. Das Paket hat einen winzigen Abhängigkeits-Fußabdruck (mcp, httpx, pydantic) – einfach zu prüfen, einfach zu integrieren, keine Datenbanktreiber.

Installation

pip install certindex-mcp

Oder mit uvx für den einmaligen Gebrauch:

uvx certindex-mcp

Um stattdessen die neueste Entwicklungsversion aus dem Quellcode zu installieren:

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

Schnellstart – Claude Desktop

Zu ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows) hinzufügen:

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

Claude Desktop neu starten. Die zehn CertIndex-Werkzeuge erscheinen in der Werkzeugleiste.

Werkzeuge

Zehn Werkzeuge, die 1:1 dem gehosteten CertIndex-MCP-Server entsprechen:

WerkzeugWas es tutWichtige Parameter
search_certificatesDurchsucht den CT-Index nach Domain, CN, Aussteller, SAN, Gültigkeit oder Wildcard-Status.domain, cn, issuer, san, expired, is_wildcard, page/limit
get_certificateRuft ein einzelnes Zertifikat anhand des SHA-256-Fingerabdrucks ab.sha256, include_enrichment
get_domain_certificatesJedes jemals für eine exakte Domain ausgestellte Zertifikat.valid_only, include_enrichment, include_signals (kostenpflichtige Tarife), page/limit
get_subdomainsListet eindeutige, in CT gesehene Subdomains auf.Offset (page/limit) oder Keyset-Cursor-Modus – übergeben Sie cursor="" zum Start, dann geben Sie jeweils den next_cursor der Antwort zurück
get_latest_certDas aktuellste, derzeit gültige Zertifikat für eine Domain.include_enrichment, include_signals, include_precerts (Vorabzertifikate konkurrieren um „aktuellstes“)
get_expiring_certsZertifikate für eine Domain, die innerhalb von days Tagen ablaufen.days
submit_global_sweepStartet eine asynchrone, domainlose CN/SAN-Teilzeichenketten-Durchsuchung des gesamten Index (POST /v1/sweeps).cn/san_contains (3+ Zeichen, mindestens eines erforderlich), issuer, is_wildcard, is_precert, expired, first_seen_*/not_after_* Datumsgrenzen, strict_attribution, resume_token (Fortsetzung über die Ergebniskapazität hinaus)
get_sweep_resultsFragt einen Durchsuchungsauftrag ab und paginiert seine Ergebnisse, wenn er fertig ist (GET /v1/sweeps/{id}).sweep_id, page/limit (bis zu 1.000)
get_usageTarifstufe des Aufrufers, aktuelle Nutzung, verbleibendes Kontingent und Berechtigungen.
get_historical_backfill_statusPrüft / startet die kostenpflichtige Deep-History-Auffüllung für eine Domain.domain

Schnellstart – MCP Inspector

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

Konfiguration

UmgebungsvariableStandardBeschreibung
CERTINDEX_API_KEY(erforderlich)Ihr CertIndex-API-Schlüssel. Erstellen Sie einen unter https://ctindex.io/app/keys
CERTINDEX_BASE_URLhttps://api.ctindex.ioÜberschreibung für selbst gehostete Bereitstellungen / Staging
CERTINDEX_TIMEOUT30HTTP-Timeout pro Anfrage (Sekunden)

Sicherheit

Eingabevalidierung, Ratenbegrenzungsbehandlung und unsere Lieferketten-Haltung sind in SECURITY.md dokumentiert. Bitte melden Sie Schwachstellen an security@ctindex.io, anstatt öffentliche Issues zu erstellen.

Entwicklung

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

CI läuft auf Python 3.11 / 3.12 / 3.13.

Lizenz

MIT © CertIndex-Mitwirkende.