CertIndex MCP

oficial

O ú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_sweep e depois consulte os resultados com get_sweep_results.

Documentação

certindex-mcp

CI PyPI License: MIT

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:

  1. 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.
  2. 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:

FerramentaO que fazParâmetros notáveis
search_certificatesPesquisa o índice CT por domínio, CN, emissor, SAN, validade ou status de wildcard.domain, cn, issuer, san, expired, is_wildcard, page/limit
get_certificateBusca um único certificado pela impressão digital SHA-256.sha256, include_enrichment
get_domain_certificatesTodos os certificados já emitidos para um domínio exato.valid_only, include_enrichment, include_signals (planos pagos), page/limit
get_subdomainsEnumera 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_certCertificado válido mais recente para um domínio.include_enrichment, include_signals, include_precerts (permite que pré-certificados compitam pelo "mais recente")
get_expiring_certsCertificados para um domínio que expiram dentro de days dias.days
submit_global_sweepEnvia 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_resultsConsulta um job de varredura e pagina seus resultados quando concluído (GET /v1/sweeps/{id}).sweep_id, page/limit (até 1.000)
get_usageNível do chamador, uso atual, cota restante e direitos.
get_historical_backfill_statusVerifica / 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 ambientePadrãoDescrição
CERTINDEX_API_KEY(obrigatório)Sua chave de API do CertIndex. Crie uma em https://ctindex.io/app/keys
CERTINDEX_BASE_URLhttps://api.ctindex.ioSubstituição para implantações auto-hospedadas / staging
CERTINDEX_TIMEOUT30Tempo 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.