CertIndex MCP
offiziellDer 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_certificateab. - 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_sweepund rufen Sie dann die Ergebnisse mitget_sweep_resultsab.
Dokumentation
certindex-mcp
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.comausgestellten TLS-Zertifikate auf.“ - „Welche Subdomains hat Let's Encrypt für
mycompany.iogesehen?“ - „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:
- 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.
- 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:
| Werkzeug | Was es tut | Wichtige Parameter |
|---|---|---|
search_certificates | Durchsucht den CT-Index nach Domain, CN, Aussteller, SAN, Gültigkeit oder Wildcard-Status. | domain, cn, issuer, san, expired, is_wildcard, page/limit |
get_certificate | Ruft ein einzelnes Zertifikat anhand des SHA-256-Fingerabdrucks ab. | sha256, include_enrichment |
get_domain_certificates | Jedes jemals für eine exakte Domain ausgestellte Zertifikat. | valid_only, include_enrichment, include_signals (kostenpflichtige Tarife), page/limit |
get_subdomains | Listet 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_cert | Das aktuellste, derzeit gültige Zertifikat für eine Domain. | include_enrichment, include_signals, include_precerts (Vorabzertifikate konkurrieren um „aktuellstes“) |
get_expiring_certs | Zertifikate für eine Domain, die innerhalb von days Tagen ablaufen. | days |
submit_global_sweep | Startet 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_results | Fragt einen Durchsuchungsauftrag ab und paginiert seine Ergebnisse, wenn er fertig ist (GET /v1/sweeps/{id}). | sweep_id, page/limit (bis zu 1.000) |
get_usage | Tarifstufe des Aufrufers, aktuelle Nutzung, verbleibendes Kontingent und Berechtigungen. | — |
get_historical_backfill_status | Prü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
| Umgebungsvariable | Standard | Beschreibung |
|---|---|---|
CERTINDEX_API_KEY | (erforderlich) | Ihr CertIndex-API-Schlüssel. Erstellen Sie einen unter https://ctindex.io/app/keys |
CERTINDEX_BASE_URL | https://api.ctindex.io | Überschreibung für selbst gehostete Bereitstellungen / Staging |
CERTINDEX_TIMEOUT | 30 | HTTP-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.