ScanOps Docs

MCP (Model Context Protocol)

ScanOps поднимает MCP-эндпоинт, чтобы ИИ-ассистент (Claude и совместимые) мог сам запускать сканы, читать отчёты и смотреть доступность ваших доменов.

  • Эндпоинт: POST https://scanops.ru/api/mcp
  • Транспорт: Streamable HTTP, без состояния — один JSON-RPC запрос, один ответ. Без SSE и сессий.
  • Аутентификация: персональный ключ как Bearer-токен.

Ключ доступа

Личный ключ вида lo-… лежит в кабинете: раздел настроек, карточка MCP (или GET /api/auth/api-key). Его можно перевыпустить — старый сразу перестаёт работать.

Подключение

Пример конфигурации MCP-клиента:

{
  "mcpServers": {
    "scanops": {
      "url": "https://scanops.ru/api/mcp",
      "headers": { "Authorization": "Bearer lo-ВАШ_КЛЮЧ" }
    }
  }
}

Инструменты

ИнструментЧто делает
scan_domainЗапускает скан. Для домена, добавленного и подтверждённого в вашей команде, — полный скан с сохранением отчёта; для любого другого — публичный пассивный скан (кэш до недели, подробности по 4 находкам). Аргументы: domain (обяз.), lang (ru/en). До ~20 секунд.
list_domainsСписок доменов команды со статусом верификации, мониторинга и uptime.
get_reportПоследний сохранённый отчёт (полные находки) по домену команды. Аргумент: domain.
uptime_statusТекущий статус up/down, аптайм за 24ч/30д, среднее время ответа и открытые инциденты. Аргумент: domain (необяз.; без него — по всем доменам).

Пример JSON-RPC

curl -s -X POST https://scanops.ru/api/mcp \
  -H 'Authorization: Bearer lo-ВАШ_КЛЮЧ' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"scan_domain","arguments":{"domain":"example.ru"}}}'

Стандартные методы тоже поддержаны: initialize, ping, tools/list, tools/call.

Ограничения

  • Домены и отчёты — в пределах вашей команды; сохранённые отчёты по своим доменам хранятся на русском.
  • Проверка Origin (защита от DNS-rebinding): разрешены scanops.ru, поддомены и localhost. Клиенты без браузера Origin не шлют — им это не мешает.