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

CI PyPI License: MIT

Сервер 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. Два следствия:

  1. Вам не нужна копия индекса — зарегистрируйтесь для получения бесплатного API-ключа на https://ctindex.io — и готово.
  2. Пакет имеет минимальный набор зависимостей (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_URLhttps://api.ctindex.ioПереопределение для самостоятельных развёртываний / staging
CERTINDEX_TIMEOUT30Таймаут 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.