CertIndex MCP
oficialO único servidor MCP de transparência de certificados. Pesquise mais de 2,15 bilhões de certificados TLS, monitore domínios para novas emissões, transmita o fluxo global de CT para seu agente.
O que você pode fazer com CertIndex MCP?
- Pesquisar certificados por domínio ou emissor — Encontre certificados TLS correspondentes a um domínio, CN, emissor ou padrão SAN usando
search_certificates. - Recuperar um certificado por impressão digital — Obtenha dados completos em PEM e metadados de log CT para uma impressão digital SHA-256 específica com
get_certificate. - Listar todos os certificados de um domínio — Obtenha todos os certificados já emitidos para um domínio exato via
get_domain_certificates, opcionalmente filtrados apenas para certificados atualmente válidos. - Enumerar subdomínios vistos em logs CT — Descubra subdomínios únicos observados para um domínio usando paginação baseada em cursor em
get_subdomains. - Encontrar certificados que expiram em breve — Identifique certificados de um domínio que expiram dentro de um determinado número de dias usando
get_expiring_certs. - Executar uma varredura global de índice — Envie uma pesquisa assíncrona de substring em todo o corpus CT por CN ou SAN com
submit_global_sweepe depois consulte os resultados comget_sweep_results.
Documentação
certindex-mcp
Um servidor MCP (Model Context Protocol) que expõe as ferramentas de busca de Transparência de Certificados do CertIndex para qualquer cliente compatível com MCP (Claude Desktop, o MCP Inspector, Continue, etc.).
O CertIndex indexa todo o corpus público de CT (~5 milhões de certificados, crescendo ~100 mil/dia). Este servidor encapsula a API REST pública do CertIndex para que um LLM possa fazer perguntas como:
- "Liste todos os certificados TLS já emitidos para
example.com." - "Quais subdomínios o Let's Encrypt já viu para
mycompany.io?" - "Mostre os certificados que expiram nos próximos 30 dias para
api.mycompany.io." - "Obtenha o PEM completo e os metadados do log CT para SHA-256
<fingerprint>."
Por que este repositório existe
O monorepo do CertIndex inclui um servidor MCP (montado em
https://api.ctindex.io/mcp) que se comunica diretamente com o índice
Postgres de produção. Este pacote independente é um shim fino do lado do cliente:
ele fala MCP com seu editor/agente e encaminha cada chamada de ferramenta
para a API REST hospedada do CertIndex via HTTPS. Duas consequências:
- Você não precisa de uma cópia do índice — cadastre-se para obter uma chave de API gratuita em https://ctindex.io e pronto.
- O pacote tem uma pegada de dependência minúscula (
mcp,httpx,pydantic) — fácil de auditar, fácil de incorporar, sem drivers de BD.
Instalação
pip install certindex-mcp
Ou com uvx para uso único:
uvx certindex-mcp
Para instalar a versão de desenvolvimento mais recente a partir do código-fonte:
pip install git+https://github.com/certindex/certindex-mcp
Início rápido — Claude Desktop
Adicione ao ~/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_..."
}
}
}
}
Reinicie o Claude Desktop. As dez ferramentas do CertIndex aparecerão na bandeja de ferramentas.
Ferramentas
Dez ferramentas, correspondendo 1:1 ao servidor MCP hospedado do CertIndex:
| Ferramenta | O que faz | Parâmetros notáveis |
|---|---|---|
search_certificates | Pesquisa o índice CT por domínio, CN, emissor, SAN, validade ou status de wildcard. | domain, cn, issuer, san, expired, is_wildcard, page/limit |
get_certificate | Busca um único certificado pela impressão digital SHA-256. | sha256, include_enrichment |
get_domain_certificates | Todos os certificados já emitidos para um domínio exato. | valid_only, include_enrichment, include_signals (planos pagos), page/limit |
get_subdomains | Enumera subdomínios únicos vistos na CT. | Offset (page/limit) ou modo cursor keyset — passe cursor="" para iniciar e, em seguida, retroalimente o next_cursor de cada resposta |
get_latest_cert | Certificado válido mais recente para um domínio. | include_enrichment, include_signals, include_precerts (permite que pré-certificados compitam pelo "mais recente") |
get_expiring_certs | Certificados para um domínio que expiram dentro de days dias. | days |
submit_global_sweep | Envia uma varredura assíncrona, sem domínio, de substring CN/SAN em todo o índice (POST /v1/sweeps). | cn/san_contains (3+ caracteres, pelo menos um obrigatório), issuer, is_wildcard, is_precert, expired, first_seen_*/not_after_* limites de data, strict_attribution, resume_token (continuação além do limite de resultados) |
get_sweep_results | Consulta um job de varredura e pagina seus resultados quando concluído (GET /v1/sweeps/{id}). | sweep_id, page/limit (até 1.000) |
get_usage | Nível do chamador, uso atual, cota restante e direitos. | — |
get_historical_backfill_status | Verifica / inicia o preenchimento retroativo pago do histórico profundo para um domínio. | domain |
Início rápido — MCP Inspector
export CERTINDEX_API_KEY=ctx_live_...
npx @modelcontextprotocol/inspector uvx certindex-mcp
Configuração
| Variável de ambiente | Padrão | Descrição |
|---|---|---|
CERTINDEX_API_KEY | (obrigatório) | Sua chave de API do CertIndex. Crie uma em https://ctindex.io/app/keys |
CERTINDEX_BASE_URL | https://api.ctindex.io | Substituição para implantações auto-hospedadas / staging |
CERTINDEX_TIMEOUT | 30 | Tempo limite HTTP por requisição (segundos) |
Segurança
A validação de entrada, o tratamento de limite de taxa e nossa postura na cadeia de suprimentos estão documentados em SECURITY.md. Por favor, relate vulnerabilidades para security@ctindex.io em vez de abrir issues públicas.
Desenvolvimento
git clone https://github.com/certindex/certindex-mcp
cd certindex-mcp
pip install -e ".[dev]"
pytest
A CI é executada no Python 3.11 / 3.12 / 3.13.
Licença
MIT © Contribuidores do CertIndex.