CertIndex MCP
официальныйЕдинственный MCP-сервер для сертификатной прозрачности. Поиск по 2.15B+ TLS-сертификатам, мониторинг доменов на предмет новых выпусков, потоковая передача глобального CT-потока вашему агенту.
Что можно делать с CertIndex MCP?
- Поиск сертификатов по домену или издателю — Найдите TLS-сертификаты, соответствующие домену, CN, издателю или шаблону SAN с помощью
search_certificates. - Получение сертификата по отпечатку — Загрузите полные данные PEM и метаданные журнала CT для конкретного SHA-256 отпечатка с помощью
get_certificate. - Список всех сертификатов для домена — Получите все сертификаты, когда-либо выпущенные для точного домена, через
get_domain_certificates, при необходимости отфильтрованные только по текущим действительным сертификатам. - Перечисление поддоменов, замеченных в журналах CT — Обнаружьте уникальные поддомены, наблюдаемые для домена, используя постраничную навигацию на основе курсора в
get_subdomains. - Поиск сертификатов с истекающим сроком действия — Определите сертификаты для домена, срок действия которых истекает в течение заданного количества дней, с помощью
get_expiring_certs. - Запуск глобального сканирования индекса — Отправьте асинхронный поиск подстрок по всему корпусу CT по CN или SAN с помощью
submit_global_sweep, затем опросите результаты с помощьюget_sweep_results.
Документация
certindex-mcp
MCP (Model Context Protocol) сервер, предоставляющий инструменты поиска Certificate Transparency от CertIndex любому MCP-совместимому клиенту (Claude Desktop, MCP Inspector, Continue и др.).
CertIndex индексирует весь публичный корпус CT (~5 млн сертификатов, пополняется ~100 тыс./день). Этот сервер оборачивает публичное REST API CertIndex, чтобы LLM могла задавать вопросы вроде:
- "Перечисли все TLS-сертификаты, когда-либо выпущенные для
example.com." - "Какие поддомены видел Let's Encrypt для
mycompany.io?" - "Покажи сертификаты для
api.mycompany.io, истекающие в ближайшие 30 дней." - "Извлеки полный PEM и метаданные CT-лога для SHA-256
<fingerprint>."
Зачем нужен этот репозиторий
Монорепозиторий CertIndex включает MCP-сервер (смонтированный на
https://api.ctindex.io/mcp), который напрямую обращается к рабочему
индексу Postgres. Этот автономный пакет — тонкая клиентская
прослойка: он общается по MCP с вашим редактором/агентом и перенаправляет каждый
вызов инструмента на хостируемое REST API CertIndex по HTTPS. Два следствия:
- Вам не нужна копия индекса — зарегистрируйтесь для получения бесплатного API-ключа на https://ctindex.io, и готово.
- Пакет имеет минимальные зависимости (
mcp,httpx,pydantic) — легко аудировать, легко вендорить, без драйверов БД.
Установка
pip install certindex-mcp
Или с помощью uvx для разового использования:
uvx certindex-mcp
Чтобы установить последнюю версию для разработки из исходников:
pip install git+https://github.com/certindex/certindex-mcp
Быстрый старт — Claude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) или %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"certindex": {
"command": "uvx",
"args": ["certindex-mcp"],
"env": {
"CERTINDEX_API_KEY": "ctx_live_..."
}
}
}
}
Перезапустите Claude Desktop. Десять инструментов CertIndex появятся в панели инструментов.
Инструменты
Десять инструментов, соответствующих хостируемому MCP-серверу CertIndex 1:1:
| Инструмент | Что делает | Важные параметры |
|---|---|---|
search_certificates | Поиск по CT-индексу по домену, CN, издателю, SAN, сроку действия или статусу wildcard. | domain, cn, issuer, san, expired, is_wildcard, page/limit |
get_certificate | Получить один сертификат по SHA-256 отпечатку. | sha256, include_enrichment |
get_domain_certificates | Все сертификаты, когда-либо выпущенные для точного домена. | valid_only, include_enrichment, include_signals (платные тарифы), page/limit |
get_subdomains | Перечислить уникальные поддомены, замеченные в CT. | Смещение (page/limit) или режим keyset-курсора — передайте cursor="" для начала, затем возвращайте next_cursor из каждого ответа |
get_latest_cert | Самый последний действующий сертификат для домена. | include_enrichment, include_signals, include_precerts (позволяет предсертификатам конкурировать за "последний") |
get_expiring_certs | Сертификаты для домена, истекающие в течение days дней. | days |
submit_global_sweep | Запустить асинхронное, бездоменное сканирование всего индекса по подстроке CN/SAN (POST /v1/sweeps). | cn/san_contains (3+ символов, хотя бы одно обязательно), issuer, is_wildcard, is_precert, expired, first_seen_*/not_after_* границы дат, strict_attribution, resume_token (продолжение после лимита результатов) |
get_sweep_results | Проверить задание сканирования и постранично вывести результаты по готовности (GET /v1/sweeps/{id}). | sweep_id, page/limit (до 1 000) |
get_usage | Уровень тарифа, текущее использование, оставшаяся квота и права. | — |
get_historical_backfill_status | Проверить / запустить платное пополнение глубокой истории для домена. | domain |
Быстрый старт — MCP Inspector
export CERTINDEX_API_KEY=ctx_live_...
npx @modelcontextprotocol/inspector uvx certindex-mcp
Конфигурация
| Переменная окружения | По умолчанию | Описание |
|---|---|---|
CERTINDEX_API_KEY | (обязательно) | Ваш API-ключ CertIndex. Создайте его на https://ctindex.io/app/keys |
CERTINDEX_BASE_URL | https://api.ctindex.io | Переопределение для собственных развертываний / staging |
CERTINDEX_TIMEOUT | 30 | Тайм-аут HTTP на запрос (в секундах) |
Безопасность
Валидация ввода, обработка ограничений скорости и наша позиция по цепочке поставок документированы в SECURITY.md. Пожалуйста, сообщайте об уязвимостях на security@ctindex.io, а не создавайте публичные задачи.
Разработка
git clone https://github.com/certindex/certindex-mcp
cd certindex-mcp
pip install -e ".[dev]"
pytest
CI работает на Python 3.11 / 3.12 / 3.13.
Лицензия
MIT © Участники CertIndex.