whois — WHOIS и RDAP-сервис с MCP-точкой

whois

Самостоятельный сервис на Go: ищет WHOIS и RDAP по доменам, IP, CIDR и ASN и отдает результат агенту через MCP-точку /mcp

  • 66 ★ репозитория
  • Последний коммит
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Сервис ходит к внешним реестрам и учитывает запросы агента в лимитах и логах
  • Открытая MCP-точка без ключей отвечает любому, кто достучится до порта
Все причины и проверки

kincaidyang/whois

Установка

Ручная установка

docker run -d --name whois -p 8043:8043 --link redis:redis jinzeyang/whois

Образ из README, перед ним поднимают контейнер redis. Для небольших нагрузок Redis можно не ставить, тогда запустите бинарный релиз.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Сервис ходит к внешним реестрам и учитывает запросы агента в лимитах и логах
  • Открытая MCP-точка без ключей отвечает любому, кто достучится до порта

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Программа на Go отвечает на запросы о регистрации доменов, IPv4 и IPv6 адресах, CIDR-префиксах и номерах автономных систем. Для доменов она ходит к реестрам по протоколу RDAP, а для национальных зон без RDAP разбирает обычный WHOIS и приводит его к JSON. В ответы попадает только часть полей: так сделано под требования ICANN и GDPR к персональным данным. К агенту сервис подключается как MCP-сервер по Streamable HTTP на адресе вида http://host:8043/mcp. Основной инструмент whois_lookup принимает строку с доменом, адресом или номером ASN. Пакетный whois_batch_lookup принимает список запросов, но работает только после включения batch.enabled в config.yaml. Вместе с MCP сервис отдает REST API, спецификацию OpenAPI 3.1, метрики Prometheus и точки проверки здоровья. Кеш по умолчанию лежит в памяти, для нескольких экземпляров к нему подключают Redis. Доступ можно закрыть API-ключами с лимитом запросов на каждый ключ.

Для кого. Админам, регистраторам доменов и разработчикам, которым нужен собственный WHOIS-шлюз с метриками, а агенту нужно спрашивать про домены и сети.

Подходит, если

  • Агент проверяет, свободен ли домен и когда у него истекает регистрация
  • При разборе инцидента надо выяснить, кому принадлежит IP-адрес или автономная система
  • В отчете по аудиту нужна сводка по десяткам доменов за один вызов
  • Команде требуется внутренний WHOIS и RDAP шлюз с кешем и лимитами вместо обращений к реестрам напрямую

Не подходит, если

  • Нужны контактные данные владельца домена: сервис возвращает ограниченный набор полей из-за GDPR
  • Требуется готовый облачный MCP без развертывания: здесь сначала поднимают собственный сервис
  • Нужна история смены владельцев домена: сервис отдает текущую регистрационную запись

Пример запроса к агенту

Узнай, когда истекает регистрация домена example.com и в каком реестре он числится, а потом покажи владельца сети для адреса 8.8.8.8.

MCP

Транспорт
http
Авторизация
не нужна

Ограничения

Сервис нужно развернуть самому: в репозитории нет готового облачного адреса для MCP, демонстрационные сайты предназначены для REST. Часть национальных доменных зон не поддерживает RDAP, их разбор ограничен адаптированными суффиксами, для остальных приходит минимальный ответ с пометкой, что зона не поддерживается. Пакетный запрос по умолчанию отключен и рассчитан на работу вместе с API-ключами. MCP-точка при выходе за пределы localhost требует защиты: включите ключи и, при прямом подключении, защиту от DNS rebinding. README написан по-китайски, английская версия лежит в README_EN.md.

Как отключить. Остановите и удалите контейнер командой docker rm -f whois и уберите запись об MCP-сервере из конфигурации клиента. Redis и конфигурационный файл удалите отдельно, если поднимали их для сервиса.

Частые вопросы

Какие запросы понимает whois_lookup?

Домен, адрес IPv4 или IPv6, префикс CIDR и номер ASN вида AS12345. Ответ совпадает с ответом REST API и построен на словаре RDAP.

Почему в ответе нет контактов владельца?

Сервис следует временной спецификации ICANN для регистрационных данных gTLD и требованиям GDPR, поэтому отдает только необходимый минимум. Полные контакты скрыты уже у самих реестров.

Нужен ли Redis?

Нет. Кеш по умолчанию живет в памяти процесса с ограничением по числу записей и размеру. Redis пригодится для нескольких экземпляров и для продакшена, параметр cache.requireRedis делает его обязательным.

Как закрыть доступ к MCP-точке?

Добавьте один или несколько ключей в auth.keys. Все точки кроме /health и /ready тогда требуют заголовок Authorization с Bearer или X-API-Key. Для ключей настраивается имя и лимит запросов в минуту.

Работает ли сервис с WHOIS через прокси?

Да, в config.yaml есть раздел proxy: адрес, логин, пароль и список суффиксов, запросы по которым идут через прокси. Значение all направляет через него все запросы к RDAP, включая IP и ASN.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы
Официальный

MCP-сервер Domainstack без ключа: агент узнает регистратора, DNS, хостинг, сертификат, заголовки и SEO домена по запросу

MCP-серверРасширенный доступ294Звезды репозитория
Официальный

Демон mcpd запускает MCP-серверы из одного файла .mcpd.toml и отдает их агентам и скриптам как обычный HTTP API на локальном порту

CLIРасширенный доступ194Звезды репозитория

MCP Gateway Registry

mcp-gateway-registry

Единый реестр и шлюз для серверов MCP, агентов и скиллов: общий вход, OAuth, аудит и OpenTelemetry. Проект сообщества, развертывание в Docker и облаке

MCP-серверШирокий доступ1 тыс.Звезды репозитория

Менеджер MCP-серверов на Node.js: запускает локальные и подключает удаленные серверы и отдает их клиенту одним адресом с REST API для управления

MCP-серверШирокий доступ525Звезды репозитория

Самостоятельно размещаемый шлюз, который собирает несколько MCP-серверов в один эндпоинт с авторизацией и выбором инструментов

MCP-серверШирокий доступ2,8 тыс.Звезды репозитория
Официальный

Удаленный MCP-сервер Globalping: ping, traceroute, DNS, MTR и HTTP-проверки из тысяч точек мира по запросу агента

MCP-серверРасширенный доступ66Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
whois — WHOIS и RDAP-сервис с MCP-точкой (эта карточка)нетне нужна66
uptimepageдаOAuth55мониторинг доступности страниц, WHOIS не затрагивает
SEO Audit Consoleнетключ необязателен101SEO-аудит сайтов в одном MCP, сведений о регистрации доменов не дает

Коротко о README

Репозиторий описывает запуск через Docker, готовые бинарные релизы и сборку из исходников, подробный config.yaml, список конечных точек и гарантии стабильности для версии 1.x. Отдельная страница docs/mcp.md объясняет подключение клиентов.

Бейдж для README

Сообщить о проблеме