Инструменты для разработчиков и AI-агентов
API/MCP CloudExplorer
Получайте проверяемые данные CloudExplorer напрямую из приложений или предоставьте к ним доступ вашей AI-модели.
REST API
REST API предоставляет данные CloudExplorer о доменах, сетях и истории сканирования поддоменов. Методы GET читают сохранённые данные; POST /api/v1/check_subdomain ставит новое сканирование в очередь и требует Bearer-токен.
Подключение к REST API
Отправляйте HTTPS-запросы к базовому адресу. GET доступны без токена с общим лимитом 30 анонимных запросов в секунду (при превышении — 429); корректный Bearer обходит этот лимит, неверный Authorization даёт 401. Ошибки возвращаются как application/problem+json с кодом и request_id. Интерактивная документация показывает точные схемы ответов.
https://api.cloudexplorer.ru
Основные методы
/api/v1/statusСостояние данных
Показывает состояние API и доступность подключенных наборов данных.
/api/v1/zones/{zone}/domainsДомены зоны
Возвращает активные домены выбранной зоны с курсорной пагинацией; передавайте возвращенный курсор для получения следующей страницы.
/api/v1/zones/{zone}/statisticsСтатистика зоны
Возвращает сохраненные ежедневные показатели зоны за выбранную дату и метрику.
/api/v1/domains/{domain}/ns-historyТекущие данные домена и история NS
Возвращает текущие записи A, AAAA, MX, NS, CNAME и TXT, текущий WHOIS, когда он доступен, и до 200 наблюдавшихся изменений NS. Для публичных IP-адресов из записей A и AAAA и адресов, полученных при DNS-разрешении целей MX, NS и CNAME, ответ содержит статус поиска AS, а если наблюдаемая исходная BGP AS найдена — её номер и описание, если оно доступно. Если для домена или его зоны нет поддерживаемой сохранённой истории NS, текущие данные всё равно возвращаются с history_available=false.
/api/v1/domains/{domain}/whoisWHOIS домена
Возвращает актуальный текстовый ответ системной утилиты WHOIS для домена.
/api/v1/as/lookup?ip={ip}IP и исходная AS
Определяет наблюдаемую исходную BGP AS публичного IP-адреса и возвращает ее текущее описание.
/api/v1/ptr/lookup?ip={ip}PTR-запись, AS и история PTR по IP
Возвращает текущую PTR-запись, наблюдаемую исходную BGP AS и историю изменений PTR публичного IPv4-адреса. Данные PTR собираются ежесуточным сканом префиксов AS из зоны охвата коллектора: IPv6 не поддерживается, а адрес вне зоны охвата возвращает ptr.status=no_data. Статус absent означает авторитетное отсутствие PTR, а не таймаут. Параметр limit (от 1 до 500, по умолчанию 100) ограничивает число новейших записей истории; history_truncated=true показывает, что история обрезана.
/api/v1/as/graph/datesДаты снимков RouteViews
Возвращает даты доступных ежедневных BGP-снимков RouteViews, начиная с самой новой, для построения графа соседей AS.
/api/v1/as/{asn}/graphГраф соседей AS
Возвращает граф соседей указанной AS по одному коллектору и снимку RouteViews, а не глобальную карту интернета; глубина обхода — от 1 до 3, дату снимка можно выбрать.
/api/v1/check_subdomainПоставить сканирование поддоменов в очередь
Принимает только JSON {"domain":"example.com"} и действующий Bearer-токен; дополнительные поля, включая priority, запрещены. Строка domain длиной до 1024 символов должна быть DNS-именем, а не URL, IP или wildcard; имя приводится к lowercase/IDNA. Тело — не более 16 KiB. Каждый POST создаёт отдельный заказ с приоритетом 10 и возвращает 202: order_id, нормализованный domain, status="new", priority=10. Неверный домен даёт 422, превышение размера тела — 413.
/api/v1/check_subdomain_order?order_id={order_id}Проверить заказ сканирования
Принимает целый order_id от 1 до 18446744073709551615. Возвращает status (new/worked/done/error), priority, created_at, started_at, finished_at, duration_seconds, error_type, result_id и result вместе с ID и доменом. Время — UTC, незаполненные поля — null. При status="done" result содержит полный JSON скана, в том числе частичный скан с предупреждениями; до сохранения результата result=null. Неизвестный ID даёт 404; слишком большой результат — 413, недоступные данные — 503.
/api/v1/check_subdomain_history?domain={domain}Получить историю сканирования поддоменов
Принимает domain длиной 1–1024 символа и приводит DNS-имя к lowercase/IDNA. Возвращает domain, scanned, latest={id,scanned_at,result}, history=[{id,scanned_at,diff}] и message. История отсортирована от новых к старым по времени UTC и ID. Каждый JSON Patch diff (add/remove/replace) применяется непосредственно к latest.result и восстанавливает отдельный старый результат. Если сканов нет: 200, scanned=false, latest=null, history=[], сообщение «Домен не сканировался ранее». Чтение не запускает скан. Свыше 10 000 записей, 32 MiB сохранённого JSON или ответа либо 128 MiB обработки — 413; недоступные данные — 503.
Примеры запросов
Получить список доменов зоны
Запрос возвращает первые 100 активных доменов зоны RU. Для следующей страницы передайте возвращенный сервером cursor без изменений.
curl 'https://api.cloudexplorer.ru/api/v1/zones/ru/domains?limit=100'
Получить текущие данные домена и историю NS
Запрос возвращает текущие записи A, AAAA, MX, NS, CNAME и TXT, текущий WHOIS, когда он доступен, и наблюдаемую историю NS. Для публичных IP-адресов из записей A и AAAA и адресов, полученных при DNS-разрешении целей MX, NS и CNAME, ответ содержит статус поиска AS, а если наблюдаемая исходная BGP AS найдена — её номер и описание, если оно доступно. Если для домена или его зоны нет поддерживаемой сохранённой истории NS, текущие данные остаются доступны, а history_available имеет значение false.
curl 'https://api.cloudexplorer.ru/api/v1/domains/beget.ru/ns-history?limit=100'
Получить граф соседей AS
Запрос возвращает граф соседей AS15169 по снимку RouteViews с глубиной обхода 2. Дату снимка можно передать отдельным параметром.
curl 'https://api.cloudexplorer.ru/api/v1/as/15169/graph?depth=2'
Получить PTR-запись и историю PTR по IP
Запрос возвращает текущую PTR-запись, наблюдаемую исходную BGP AS и до 100 новейших изменений PTR адреса. Если история длиннее, увеличьте limit до 500.
curl 'https://api.cloudexplorer.ru/api/v1/ptr/lookup?ip=8.8.8.8'
Запустить сканирование и проверить заказ
Сначала задайте API_TOKEN в своём окружении. POST вернёт 202 и order_id; подставьте его вместо 123 во второй запрос. Повторный POST создаст ещё один заказ. result появится после status="done".
curl -i -X POST 'https://api.cloudexplorer.ru/api/v1/check_subdomain' -H "Authorization: Bearer ${API_TOKEN}" -H 'Content-Type: application/json' --data '{"domain":"example.com"}'
curl 'https://api.cloudexplorer.ru/api/v1/check_subdomain_order?order_id=123'
Посмотреть историю сканирования поддоменов
Запрос читает последний полный результат и более старые состояния как независимые JSON Patch. Если домен ещё не сканировался, ответ 200 содержит scanned=false и пустую историю.
curl 'https://api.cloudexplorer.ru/api/v1/check_subdomain_history?domain=example.com'
MCP Server
MCP Server предоставляет моделям и AI-агентам инструменты CloudExplorer. Модель может получать домены, статистику зон, WHOIS, историю NS, сведения об AS и графы соседства AS по снимкам RouteViews без самостоятельного формирования REST-запросов.
MCP-сервер работает только на чтение. Инструментов для сканирования поддоменов в MCP нет; постановка заказа доступна через REST API с Bearer-токеном.
Доступные инструменты
getASПоиск AS по IP
Определяет наблюдаемую исходную BGP AS публичного IP-адреса и возвращает ее описание.
getASGraphГраф соседей AS
Возвращает граф соседей указанной AS по одному коллектору и снимку RouteViews, а не глобальную карту интернета; глубина обхода — от 1 до 3, дату снимка можно выбрать.
getASGraphDatesДаты снимков RouteViews
Возвращает даты доступных ежедневных BGP-снимков RouteViews, начиная с самой новой, для построения графа соседей AS.
getPTRPTR-запись, AS и история PTR по IP
Возвращает текущую PTR-запись, наблюдаемую исходную BGP AS и историю изменений PTR публичного IPv4-адреса: ptr.status принимает значения present, absent (авторитетное отсутствие PTR) или no_data (адрес вне зоны охвата ежесуточного PTR-скана, который покрывает только IPv4-префиксы AS коллектора). Параметр limit (от 1 до 500, по умолчанию 100) ограничивает число новейших записей истории; history_truncated=true показывает, что история обрезана.
getZoneDomainsДомены зоны
Возвращает активные домены выбранной зоны с курсорной пагинацией; до 500 доменов за один вызов инструмента.
getWHOISWHOIS домена
Получает актуальный текстовый ответ WHOIS для домена.
getNSHistoryТекущие данные домена и история NS
Возвращает текущие A, AAAA, MX, NS, CNAME и TXT, текущий WHOIS, когда он доступен, и до 200 наблюдавшихся изменений NS. Для публичных IP-адресов из записей A и AAAA и адресов, полученных при DNS-разрешении целей MX, NS и CNAME, указывает статус поиска AS, а если наблюдаемая исходная BGP AS найдена — её номер и описание, если оно доступно. Если для домена или его зоны нет поддерживаемой сохранённой истории NS, возвращает текущие данные с history_available=false.
getZoneStatisticsСтатистика зоны
Возвращает сохраненные ежедневные показатели зоны за выбранную дату и метрику.
Подключение к модели
Добавьте CloudExplorer как удаленный MCP-сервер в клиент, поддерживающий транспорт Streamable HTTP, а затем попросите модель показать доступные инструменты.
https://mcp.cloudexplorer.ru/mcp
Streamable HTTP
Подключение к ChatGPT
Добавьте CloudExplorer в ChatGPT как пользовательское MCP-приложение с OAuth. ChatGPT получит токен после входа на странице CloudExplorer и будет автоматически прикладывать его к вызовам инструментов.
-
Включите режим разработчика
Откройте в ChatGPT Settings → Security and login («Настройки → Безопасность и вход») и включите Developer mode. Доступность режима зависит от тарифа и политики рабочего пространства.
-
Создайте новое приложение
Откройте раздел Plugins, нажмите «+» и перейдите к созданию нового подключения.
-
Укажите MCP-сервер
Введите имя и описание, выберите Connection: Server URL, вставьте адрес MCP-сервера и выберите Authentication: OAuth.
-
Настройте OAuth
Откройте Advanced OAuth settings, выберите User-Defined OAuth Client и заполните поля значениями из таблицы ниже. OAuth endpoints должны определиться автоматически.
-
Создайте подключение
Подтвердите предупреждение о пользовательском MCP-сервере и нажмите Create.
-
Войдите и разрешите доступ
На странице oauth.cloudexplorer.ru войдите через Google-аккаунт (gmail) кнопкой «Sign in with Google», затем нажмите «Разрешить».
-
Проверьте инструменты
После возврата в ChatGPT откройте карточку CloudExplorer и убедитесь, что появились Actions. Начните новый чат, выберите CloudExplorer в меню инструментов и отправьте тестовый запрос.
Значения полей ChatGPT
- Name
CloudExplorer- Description
Информация о DNS, WHOIS и AS- Connection
Server URL- Server URL
https://mcp.cloudexplorer.ru/mcp- Authentication
OAuth- Callback URL — только проверить
https://chatgpt.com/connector_platform_oauth_redirect- Registration method
User-Defined OAuth Client- OAuth Client ID
cloudexplorer-chatgpt- OAuth Client Secret
Оставить пустым- Token endpoint auth method
none- Scope
mcp.read
Важно: OAuth Client Secret должен остаться пустым. Авторизация выполняется через Google-аккаунт (gmail) на странице oauth.cloudexplorer.ru после создания подключения; отдельные логин и пароль не требуются.
Автоматически найденные OAuth endpoints
ChatGPT получает эти значения из метаданных сервера. Используйте список для проверки; вручную заполнять endpoints обычно не требуется. Пустой Registration URL и предупреждения DCR/CIMD ожидаемы для User-Defined OAuth Client и не мешают подключению.
- Auth URL
https://oauth.cloudexplorer.ru/authorize- Token URL
https://oauth.cloudexplorer.ru/token- Authorization server base
https://oauth.cloudexplorer.ru- Resource
https://mcp.cloudexplorer.ru/mcp- Registration URL
Оставить пустым
Авторизация через Google (gmail)
Доступ к MCP выдаётся после входа через Google-аккаунт (gmail) на странице CloudExplorer.
- Способ входа
Sign in with Google- Страница входа
https://oauth.cloudexplorer.ru
Если подключение создано, но Actions не отображаются, откройте Plugins → CloudExplorer, нажмите Refresh и начните новый чат.
Официальная инструкция OpenAIКоманды для других MCP-клиентов
Codex
Добавьте удаленный MCP-сервер в конфигурацию Codex.
codex mcp add cloudexplorer --url https://mcp.cloudexplorer.ru/mcp
Claude Code
Добавьте сервер по HTTP в конфигурацию Claude Code.
claude mcp add --transport http cloudexplorer https://mcp.cloudexplorer.ru/mcp
Универсальный пример конфигурации
Для клиента, принимающего JSON-конфигурацию MCP, используйте этот пример. Названия полей могут отличаться — сверяйтесь с документацией вашего клиента.
{
"mcpServers": {
"cloudexplorer": {
"type": "http",
"url": "https://mcp.cloudexplorer.ru/mcp"
}
}
}
Сценарии для модели
Список доменов зоны
Покажи первые 100 активных доменов зоны ru. Если есть следующая страница, верни также курсор.
Текущие данные домена и история NS
Покажи текущие A, AAAA, MX, NS, CNAME и TXT и доступный WHOIS домена beget.ru. Для IP-адресов из A и AAAA и адресов, полученных при DNS-разрешении целей MX, NS и CNAME, покажи статус поиска AS, а если наблюдаемая исходная BGP AS найдена — её номер и описание, если оно доступно. Затем кратко опиши до 100 изменений NS. Если history_available=false, явно скажи, что сохранённая история недоступна.
Статистика зоны
Покажи статистику зоны ru за последнюю доступную дату и укажи использованную метрику.
Поиск AS по IP
Определи наблюдаемую исходную BGP AS для IP-адреса 8.8.8.8 и покажи ее описание.
Граф соседей AS
Построй граф соседей AS15169 глубиной 2 по последнему доступному снимку RouteViews и кратко опиши связи.
PTR-запись и история PTR по IP
Покажи текущую PTR-запись и наблюдаемую исходную BGP AS адреса 8.8.8.8, затем кратко опиши до 100 новейших изменений PTR. Если ptr.status=no_data, явно скажи, что адрес вне зоны охвата PTR-скана.