CertIndex MCP

officiel

Le seul serveur MCP de transparence des certificats. Recherchez parmi plus de 2,15 milliards de certificats TLS, surveillez les domaines pour les nouvelles émissions, diffusez le flux global CT vers votre agent.

Que pouvez-vous faire avec CertIndex MCP ?

  • Rechercher des données de transparence des certificats — Demandez les certificats TLS indexés pour un domaine, un CN, un émetteur, un SAN ou un statut de wildcard via search_certificates.
  • Récupérer les détails d’un certificat — Obtenez le PEM complet et les métadonnées du journal CT d’un certificat unique par empreinte SHA-256 avec get_certificate.
  • Énumérer les sous-domaines — Listez les sous-domaines uniques observés dans la CT pour un domaine, avec pagination par curseur via get_subdomains.
  • Surveiller l’expiration des certificats — Trouvez les certificats expirant dans un nombre de jours spécifié pour un domaine avec get_expiring_certs.
  • Lancer des analyses globales — Soumettez des analyses asynchrones par sous-chaîne sur l’ensemble de l’index pour les modèles CN/SAN via submit_global_sweep, puis interrogez les résultats avec get_sweep_results.
  • Vérifier l’utilisation de l’API — Consultez votre niveau, votre utilisation actuelle, votre quota restant et vos droits avec get_usage.

Documentation

certindex-mcp

CI PyPI License: MIT

Un serveur MCP (Model Context Protocol) qui expose les outils de recherche de transparence des certificats de CertIndex à tout client compatible MCP (Claude Desktop, l'inspecteur MCP, Continue, etc.).

CertIndex ingère les certificats directement depuis les journaux publics de transparence des certificats et les sert depuis son propre index. Le remplissage historique est encore en cours, donc les résultats, en particulier pour les certificats plus anciens, peuvent être incomplets. Ce serveur encapsule l'API REST publique de CertIndex afin qu'un LLM puisse poser des questions comme :

  • « Listez les certificats TLS que CertIndex a indexés pour example.com. »
  • « Quels sous-domaines Let's Encrypt a-t-il vus pour mycompany.io ? »
  • « Montrez-moi les certificats expirant dans les 30 prochains jours pour api.mycompany.io. »
  • « Récupérez le PEM complet et les métadonnées du journal CT pour le SHA-256 <fingerprint>. »

Pourquoi ce dépôt existe

Le monorepo CertIndex regroupe un serveur MCP (monté sur https://api.ctindex.io/mcp) qui parle directement à l'index Postgres de production. Ce paquet autonome est un mince côté client shim : il parle MCP à votre éditeur / agent et transmet chaque appel d'outil à l'API REST hébergée de CertIndex via HTTPS. Deux conséquences :

  1. Vous n'avez pas besoin d'une copie de l'index — inscrivez-vous pour une clé API gratuite sur https://ctindex.io et c'est terminé.
  2. Le paquet a une empreinte de dépendances minuscule (mcp, httpx, pydantic) — facile à auditer, facile à intégrer, aucun pilote de base de données.

Installation

La version 0.3.0 utilise le SDK Python MCP 2.x (mcp>=2,<3) et Python 3.11+. La commande console, les variables d'environnement et les dix noms d'outils sont inchangés. Pour les applications qui doivent conserver le SDK 1.x, utilisez certindex-mcp==0.2.1.

pip install certindex-mcp

Ou avec uvx pour une utilisation ponctuelle :

uvx certindex-mcp

Pour installer la dernière version de développement depuis la source à la place :

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

Démarrage rapide — Claude Desktop

Ajoutez à ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows) :

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

Redémarrez Claude Desktop. Les dix outils CertIndex apparaissent dans le plateau d'outils.

Outils

Dix outils, correspondant 1:1 au serveur MCP CertIndex hébergé :

OutilCe qu'il faitParamètres notables
search_certificatesRecherche dans l'index CT par domaine, CN, émetteur, SAN, validité ou statut de wildcard.domain, cn, issuer, san, expired, is_wildcard, page/limit
get_certificateRécupère un certificat unique par empreinte SHA-256.sha256, include_enrichment
get_domain_certificatesCertificats indexés pour un domaine exact.valid_only, include_enrichment, include_signals (plans payants), page/limit
get_subdomainsÉnumère les sous-domaines uniques vus dans CT.Offset (page/limit) ou mode curseur par jeu de clés — passez cursor="" pour démarrer, puis renvoyez le next_cursor de chaque réponse
get_latest_certCertificat actuellement valide le plus récent pour un domaine.include_enrichment, include_signals, include_precerts (laissez les précertificats concourir pour « le plus récent »)
get_expiring_certsCertificats pour un domaine expirant dans days jours.days
submit_global_sweepSoumet une analyse asynchrone de sous-chaîne CN/SAN sans domaine sur tout l'index (POST /v1/sweeps).cn/san_contains (3+ caractères, au moins un requis), issuer, is_wildcard, is_precert, expired, first_seen_*/not_after_* bornes de dates, strict_attribution, resume_token (continuation au-delà de la limite de résultats)
get_sweep_resultsInterroge un travail d'analyse et pagine ses résultats une fois terminé (GET /v1/sweeps/{id}).sweep_id, page/limit (jusqu'à 1 000)
get_usageNiveau de l'appelant, utilisation actuelle, quota restant et droits.—
get_historical_backfill_statusVérifie / démarre le remplissage historique approfondi payant pour un domaine.domain

Démarrage rapide — Inspecteur MCP

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

Configuration

Variable d'environnementDéfautDescription
CERTINDEX_API_KEY(requis)Votre clé API CertIndex. Créez-en une sur https://ctindex.io/app/keys
CERTINDEX_BASE_URLhttps://api.ctindex.ioRemplacement pour les déploiements auto-hébergés / de préproduction
CERTINDEX_TIMEOUT30Délai d'expiration HTTP par requête (secondes)

Sécurité

La validation des entrées, la gestion des limites de débit et notre posture de sécurité de la chaîne d'approvisionnement sont documentées dans SECURITY.md. Veuillez signaler les vulnérabilités à security@ctindex.io plutôt que de déposer des problèmes publics.

Développement

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

Le CI s'exécute sur Python 3.11 / 3.12 / 3.13 avec à la fois le SDK 2.0.0 et la dernière version 2.x autorisée. Il installe également la roue construite dans un environnement frais et exerce l'initialisation, l'énumération des outils et les appels via stdio réel. Les fixtures HTTP s'exécutent sur loopback ; les tests ne nécessitent pas de credentials de production.

Licence

MIT © Contributeurs CertIndex.