CertIndex MCP

resmi

Satu-satunya server MCP transparansi sertifikat. Cari 2,15 miliar+ sertifikat TLS, pantau domain untuk penerbitan baru, alirkan data langsung CT global ke agen Anda.

Apa yang bisa Anda lakukan dengan CertIndex MCP?

  • Cari sertifikat berdasarkan domain atau penerbit — Temukan sertifikat TLS yang cocok dengan pola domain, CN, penerbit, atau SAN menggunakan search_certificates.
  • Ambil sertifikat berdasarkan sidik jari — Ambil data PEM lengkap dan metadata log CT untuk sidik jari SHA-256 tertentu dengan get_certificate.
  • Daftar semua sertifikat untuk sebuah domain — Dapatkan setiap sertifikat yang pernah diterbitkan untuk domain yang tepat melalui get_domain_certificates, secara opsional difilter hanya untuk sertifikat yang masih berlaku saat ini.
  • Buat daftar subdomain yang terlihat di log CT — Temukan subdomain unik yang diamati untuk sebuah domain menggunakan pagination berbasis kursor di get_subdomains.
  • Temukan sertifikat yang akan segera kedaluwarsa — Identifikasi sertifikat untuk sebuah domain yang kedaluwarsa dalam jumlah hari tertentu menggunakan get_expiring_certs.
  • Jalankan pemindaian indeks global — Kirim pencarian substring asinkron di seluruh korpus CT berdasarkan CN atau SAN dengan submit_global_sweep, lalu polling hasilnya dengan get_sweep_results.

Dokumentasi

certindex-mcp

CI PyPI License: MIT

Sebuah server MCP (Model Context Protocol) yang mengekspos alat pencarian Certificate Transparency CertIndex ke klien yang kompatibel dengan MCP (Claude Desktop, MCP Inspector, Continue, dll.).

CertIndex mengindeks seluruh korpus CT publik (~5 juta sertifikat, bertambah ~100 ribu/hari). Server ini membungkus REST API publik CertIndex sehingga LLM dapat mengajukan pertanyaan seperti:

  • "Daftarkan setiap sertifikat TLS yang pernah diterbitkan untuk example.com."
  • "Subdomain apa yang telah dilihat Let's Encrypt untuk mycompany.io?"
  • "Tunjukkan sertifikat yang kedaluwarsa dalam 30 hari ke depan untuk api.mycompany.io."
  • "Ambil metadata log PEM dan CT lengkap untuk SHA-256 <fingerprint>."

Mengapa repositori ini ada

Monorepo CertIndex menggabungkan server MCP (dipasang di https://api.ctindex.io/mcp) yang berbicara langsung ke indeks Postgres produksi. Paket mandiri ini adalah shim sisi klien yang tipis: ia berbicara MCP ke editor/agen Anda dan meneruskan setiap panggilan alat ke REST API CertIndex yang dihosting melalui HTTPS. Dua konsekuensi:

  1. Anda tidak memerlukan salinan indeks — daftar untuk kunci API gratis di https://ctindex.io dan selesai.
  2. Paket ini memiliki jejak dependensi yang kecil (mcp, httpx, pydantic) — mudah diaudit, mudah divendor, tanpa driver DB.

Instalasi

pip install certindex-mcp

Atau dengan uvx untuk penggunaan satu kali:

uvx certindex-mcp

Untuk menginstal versi pengembangan terbaru dari sumber:

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

Mulai Cepat — Claude Desktop

Tambahkan ke ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) atau %APPDATA%\Claude\claude_desktop_config.json (Windows):

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

Mulai ulang Claude Desktop. Sepuluh alat CertIndex muncul di baki alat.

Alat

Sepuluh alat, cocok 1:1 dengan server MCP CertIndex yang dihosting:

AlatFungsinyaParameter penting
search_certificatesCari indeks CT berdasarkan domain, CN, penerbit, SAN, validitas, atau status wildcard.domain, cn, issuer, san, expired, is_wildcard, page/limit
get_certificateAmbil satu sertifikat berdasarkan sidik jari SHA-256.sha256, include_enrichment
get_domain_certificatesSetiap sertifikat yang pernah diterbitkan untuk domain yang tepat.valid_only, include_enrichment, include_signals (paket berbayar), page/limit
get_subdomainsEnumerasi subdomain unik yang terlihat di CT.Offset (page/limit) atau mode kursor keyset — berikan cursor="" untuk memulai, lalu berikan kembali next_cursor dari setiap respons
get_latest_certSertifikat terbaru yang saat ini valid untuk suatu domain.include_enrichment, include_signals, include_precerts (biarkan pracertifikat bersaing untuk "terbaru")
get_expiring_certsSertifikat untuk domain yang kedaluwarsa dalam days hari.days
submit_global_sweepKirim sapuan substring CN/SAN asinkron tanpa domain dari seluruh indeks (POST /v1/sweeps).cn/san_contains (3+ karakter, setidaknya satu diperlukan), issuer, is_wildcard, is_precert, expired, first_seen_*/not_after_* batas tanggal, strict_attribution, resume_token (kelanjutan melewati batas hasil)
get_sweep_resultsPolling pekerjaan sapuan dan paginasi hasilnya setelah selesai (GET /v1/sweeps/{id}).sweep_id, page/limit (hingga 1.000)
get_usageTingkat pemanggil, penggunaan saat ini, kuota tersisa, dan hak akses.
get_historical_backfill_statusPeriksa / mulai pengisian ulang riwayat mendalam berbayar untuk suatu domain.domain

Mulai Cepat — MCP Inspector

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

Konfigurasi

Var envDefaultDeskripsi
CERTINDEX_API_KEY(wajib)Kunci API CertIndex Anda. Buat satu di https://ctindex.io/app/keys
CERTINDEX_BASE_URLhttps://api.ctindex.ioTimpa untuk penerapan self-hosted / staging
CERTINDEX_TIMEOUT30Timeout HTTP per permintaan (detik)

Keamanan

Validasi input, penanganan batas laju, dan postur rantai pasokan kami didokumentasikan di SECURITY.md. Harap laporkan kerentanan ke security@ctindex.io daripada mengajukan isu publik.

Pengembangan

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

CI berjalan pada Python 3.11 / 3.12 / 3.13.

Lisensi

MIT © Kontributor CertIndex.