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 dados de transparência de certificados — Consulte certificados TLS indexados por domínio, CN, emissor, SAN ou status de curinga via
search_certificates. - Buscar detalhes do certificado — Recupere o PEM completo e os metadados de log CT de um único certificado pela impressão digital SHA-256 usando
get_certificate. - Enumerar subdomínios — Liste subdomínios únicos vistos em CT para um domínio, com paginação baseada em cursor via
get_subdomains. - Monitorar expiração de certificados — Encontre certificados que expiram dentro de um número especificado de dias para um domínio usando
get_expiring_certs. - Executar varreduras globais — Envie varreduras assíncronas de substring em todo o índice para padrões de CN/SAN via
submit_global_sweepe depois consulte os resultados comget_sweep_results. - Verificar uso da API — Revise seu nível, uso atual, cota restante e direitos com
get_usage.
Documentação
certindex-mcp
Um servidor MCP (Model Context Protocol) que expõe as ferramentas de busca de Certificate Transparency do CertIndex a qualquer cliente compatível com MCP (Claude Desktop, o MCP Inspector, Continue, etc.).
O CertIndex ingere certificados diretamente de logs públicos de Certificate Transparency e os serve a partir de seu próprio índice. O preenchimento histórico ainda está em andamento, portanto os resultados, especialmente para certificados mais antigos, podem estar incompletos. Este servidor encapsula a API REST pública do CertIndex para que um LLM possa fazer perguntas como:
- "Liste os certificados TLS que o CertIndex indexou para
example.com." - "Quais subdomínios a Let's Encrypt viu para
mycompany.io?" - "Mostre-me certificados expirando nos próximos 30 dias para
api.mycompany.io." - "Busque o PEM completo e os metadados do log CT para o SHA-256
<fingerprint>."
Por que este repositório existe
O monorepo do CertIndex agrupa um servidor MCP (montado em
https://api.ctindex.io/mcp) que fala 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ências mínima (
mcp,httpx,pydantic) — fácil de auditar, fácil de incorporar, sem drivers de banco de dados.
Instalação
A versão 0.3.0 usa o MCP Python SDK 2.x (mcp>=2,<3) e Python 3.11+.
O comando de console, as variáveis de ambiente e os dez nomes de ferramentas não mudaram.
Para aplicações que precisam manter o SDK 1.x, use certindex-mcp==0.2.1.
pip install certindex-mcp
Ou com uvx para uso pontual:
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 em ~/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 aparecem 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 | Busca no índice CT por domínio, CN, emissor, SAN, validade ou status de curinga. | 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 | Certificados indexados para um domínio exato. | valid_only, include_enrichment, include_signals (planos pagos), page/limit |
get_subdomains | Enumera subdomínios únicos vistos no CT. | Offset (page/limit) ou modo de cursor por conjunto de chaves — passe cursor="" para começar e depois alimente de volta 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 concorram pelo "mais recente") |
get_expiring_certs | Certificados de um domínio expirando em até days dias. | days |
submit_global_sweep | Envia uma varredura assíncrona de substring CN/SAN sem domínio 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 histórico profundo pago 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 solicitação (segundos) |
Segurança
Validação de entrada, tratamento de limites de taxa e nossa postura de segurança da 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
O CI roda em Python 3.11 / 3.12 / 3.13 com o SDK 2.0.0 e a versão 2.x mais recente permitida. Ele também instala o wheel compilado em um ambiente novo e exercita inicialização, enumeração de ferramentas e chamadas via stdio real. Os fixtures HTTP rodam em loopback; os testes não exigem credenciais de produção.
Licença
MIT © Contribuidores do CertIndex.