CertIndex MCP
officielLe 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 avecget_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
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 :
- 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é.
- 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é :
| Outil | Ce qu'il fait | Paramètres notables |
|---|---|---|
search_certificates | Recherche dans l'index CT par domaine, CN, émetteur, SAN, validité ou statut de wildcard. | domain, cn, issuer, san, expired, is_wildcard, page/limit |
get_certificate | Récupère un certificat unique par empreinte SHA-256. | sha256, include_enrichment |
get_domain_certificates | Certificats 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_cert | Certificat 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_certs | Certificats pour un domaine expirant dans days jours. | days |
submit_global_sweep | Soumet 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_results | Interroge un travail d'analyse et pagine ses résultats une fois terminé (GET /v1/sweeps/{id}). | sweep_id, page/limit (jusqu'à 1 000) |
get_usage | Niveau de l'appelant, utilisation actuelle, quota restant et droits. | — |
get_historical_backfill_status | Vé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'environnement | Défaut | Description |
|---|---|---|
CERTINDEX_API_KEY | (requis) | Votre clé API CertIndex. Créez-en une sur https://ctindex.io/app/keys |
CERTINDEX_BASE_URL | https://api.ctindex.io | Remplacement pour les déploiements auto-hébergés / de préproduction |
CERTINDEX_TIMEOUT | 30 | Dé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.