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не шлют — им это не мешает.