CertIndex MCP
официальныйЕдинственный MCP-сервер для сертификатной прозрачности. Поиск по 2.15B+ TLS-сертификатам, мониторинг доменов на предмет новых выпусков, потоковая передача глобального CT-потока вашему агенту.
Что можно делать с CertIndex MCP?
- Поиск данных сертификатов прозрачности — Запросите TLS-сертификаты, индексированные по домену, CN, издателю, SAN или статусу wildcard, с помощью
search_certificates. - Получение деталей сертификата — Получите полный PEM и метаданные CT-журнала для одного сертификата по SHA-256 отпечатку с помощью
get_certificate. - Перечисление поддоменов — Выведите список уникальных поддоменов, найденных в CT для домена, с постраничной навигацией на основе курсора через
get_subdomains. - Мониторинг истечения сертификатов — Найдите сертификаты, истекающие в течение указанного количества дней для домена, с помощью
get_expiring_certs. - Запуск глобальных проверок — Отправьте асинхронные проверки подстрок по всему индексу для шаблонов CN/SAN через
submit_global_sweep, затем опрашивайте результаты с помощьюget_sweep_results. - Проверка использования API — Просмотрите свой тариф, текущее использование, оставшуюся квоту и права с помощью
get_usage.
Документация
certindex-mcp
Сервер MCP (Model Context Protocol), который предоставляет инструменты поиска по Certificate Transparency от CertIndex любому MCP-совместимому клиенту (Claude Desktop, MCP Inspector, Continue и др.).
CertIndex получает сертификаты напрямую из публичных журналов Certificate Transparency и обслуживает их из собственного индекса. Историческое заполнение данных всё ещё продолжается, поэтому результаты, особенно для старых сертификатов, могут быть неполными. Этот сервер оборачивает публичный REST API CertIndex, чтобы LLM мог задавать вопросы вроде:
- «Перечисли TLS-сертификаты, которые CertIndex проиндексировал для
example.com». - «Какие поддомены Let's Encrypt видела для
mycompany.io?» - «Покажи сертификаты, истекающие в ближайшие 30 дней для
api.mycompany.io». - «Получи полный 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) — легко проверять, легко вендорить, без драйверов БД.
Установка
Версия 0.3.0 использует MCP Python SDK 2.x (mcp>=2,<3) и Python 3.11+.
Консольная команда, переменные окружения и десять имён инструментов не изменились.
Для приложений, которым необходимо сохранить SDK 1.x, используйте certindex-mcp==0.2.1.
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, а не через публичные issue.
Разработка
git clone https://github.com/certindex/certindex-mcp
cd certindex-mcp
pip install -e ".[dev]"
pytest
CI запускается на Python 3.11 / 3.12 / 3.13 с SDK 2.0.0 и последней допустимой версией 2.x. Он также устанавливает собранный wheel в новое окружение и проверяет инициализацию, перечисление инструментов и вызовы через реальный stdio. HTTP-фикстуры работают на loopback; тесты не требуют производственных учётных данных.
Лицензия
MIT © участники CertIndex.