nable-rmm-mcp
nable-rmm-mcp
N-able RMM MCP-сервер — предоставляет N-able RMM Data Extraction API в виде MCP-инструментов.
Примечание о названии: эта интеграция называется «N-able RMM» в app.mspbots.ai (
sys_integration.subject_code = SOLARWIND— изначально это было SolarWinds RMM). В собственной публичной документации разработчика N-able тот же продукт называется «N-sight» (https://developer.n-able.com/n-sight/docs/...). Это другой продукт, нежели N-able N-Central, который является отдельной интеграцией в app.mspbots.ai со своим собственным API. Этот сервер оборачивает только N-sight/N-able RMM.
Обзор
Этот сервер реализует Model Context Protocol (транспорт Streamable HTTP/SSE) и оборачивает N-sight API (API, лежащий в основе интеграции «N-able RMM»). Он следует MSPbots Vendor MCP Service SOP: без сохранения состояния, без хранения учётных данных, аутентификация через заголовок при каждом запросе.
Базовый API аутентифицируется через query-параметр apikey и возвращает XML. Этот сервер никогда не хранит этот ключ — вызывающая сторона передаёт его при каждом запросе через заголовок, а каждый ответ инструмента представляет собой XML, преобразованный в JSON для удобочитаемости.
Related MCP server: Datto RMM MCP Server
Быстрый старт
Docker (рекомендуется)
docker compose up --buildСервер запускается на http://localhost:8080.
Локально (uv)
uv sync
python -m nable_rmm_mcpПроверка работоспособности
curl http://localhost:8080/health
# {"status": "ok"}Для конечной точки проверки работоспособности токен не требуется.
Параметры аутентификации (Authentication)
Каждый запрос к /mcp должен включать следующие HTTP-заголовки. Имена заголовков повторяют поля существующей формы интеграции «N-able RMM» в app.mspbots.ai (API Token / URL).
Заголовок | Тип | Обязательность | Значение по умолчанию | Допустимые значения | Описание поля | Пример |
| string | обязателен | нет | нет (произвольный текст) | Ключ API N-able RMM создаётся в Settings > General Settings > API > Generate. Если ключ ограничен определённой группой клиентов, вызов возвращает данные только клиентов этой группы. |
|
| string | необязателен | переменная окружения | см. список из 11 региональных серверов ниже | N-able RMM разделён на 11 независимых серверов по региону учётной записи; если заголовок не передан, используется значение по умолчанию из переменной окружения; когда шлюз одновременно обслуживает арендаторов из нескольких регионов, значение переопределяется для каждого запроса. |
|
11 допустимых значений X-Nable-Server (регион → Base URL):
Регион | Base URL |
Америка (по умолчанию) |
|
Азия |
|
Австралия |
|
Европа |
|
Франция |
|
Франция1 |
|
Германия |
|
Ирландия |
|
Польша |
|
Великобритания |
|
Соединённые Штаты |
|
Отсутствие X-Nable-Api-Token возвращает 401 Unauthorized. N-able RMM также ограничивает автоматические вызовы 60 запросами в минуту на ключ — этот сервер не ограничивает частоту запросов за вас, поэтому планируйте массовые вызовы соответствующим образом.
Переменные окружения
Переменная | Значение по умолчанию | Описание |
|
| Порт прослушивания |
|
| Хост прослушивания |
|
| Региональный сервер по умолчанию; переопределяется для каждого запроса с помощью |
Конечная точка MCP
POST http://localhost:8080/mcpПодключите ваш MCP-клиент с помощью:
Транспорт:
http(Streamable HTTP / SSE)Заголовки:
X-Nable-Api-Token: <api_key>(обязателен),X-Nable-Server: <base_url>(необязателен)
Список инструментов
16 инструментов, охватывающих всю публичную справочную документацию N-sight API, плюс 4 конечные точки, уже используемые в продакшене в рамках интеграции «N-able RMM» в app.mspbots.ai (Device Monitoring Details, Drive Space History, Patch, Performance History).
Клиенты и сайты
Инструмент | Функция | Параметры |
| Перечислить всех клиентов, доступных для данного API key |
|
| Перечислить все сайты клиента |
|
| Создать клиента (запись) |
|
| Создать сайт у клиента (запись) |
|
Устройства
Инструмент | Функция | Параметры |
| Перечислить устройства всех сайтов клиента по типу устройства |
|
| Перечислить серверы на сайте и их статус онлайн/проверки |
|
| Перечислить рабочие станции на сайте и их статус онлайн/проверки |
|
| Перечислить активы без агента (обнаруженные сканированием) на сайте (N-able пометил эту функцию как deprecated) |
|
| Получить подробную информацию мониторинга для одного устройства |
|
Проверки, патчи и производительность
Инструмент | Функция | Параметры |
| Перечислить текущие неудачные проверки |
|
| Перечислить все проверки, настроенные на устройстве |
|
| Получить подробную конфигурацию отдельной проверки (структура зависит от типа проверки/ОС) |
|
| Перечислить записи о сбоях устройства (открытые или закрытые за последние 61 день) |
|
| История проверок дискового пространства (на основе list_checks с фильтром по check_type 1003/1004; в N-sight нет отдельного сервиса) |
|
| Перечислить все патчи на устройстве и их статус/критичность |
|
| Исторические показатели производительности устройства (пропускная способность/диск/CPU/память/сетевой адаптер) |
|
Тестовый пример (Test Example)
Перечислить все серверы на сайте:
{
"method": "tools/call",
"params": {
"name": "nable_rmm_get_servers",
"arguments": { "siteid": 12345 }
}
}Эквивалентная команда curl к запущенному серверу (конечная точка MCP со streamable HTTP):
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "X-Nable-Api-Token: <api_key>" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "nable_rmm_get_servers",
"arguments": { "siteid": 12345 }
}
}'Ожидаемый вид успешного результата (базовый XML-ответ, преобразованный в JSON; поля сокращены):
{
"content": [
{
"type": "text",
"text": "{\n \"created\": \"2026-03-15T10:00:00+00:00\",\n \"host\": \"...\",\n \"status\": \"OK\",\n \"items\": {\n \"server\": [ { \"serverid\": \"9001\", \"name\": \"DC01\", \"online\": \"1\", \"status_247\": \"5\", \"os\": \"Windows Server 2022\" } ]\n }\n}"
}
]
}Справочник API
Проверено на реальном аккаунте
Все 14 инструментов чтения были протестированы end-to-end на реальном аккаунте N-able RMM (регион US) и вернули реальные данные, включая крайние случаи, которые публичная документация N-able оставила неоднозначными:
Параметр
intervalинструментаnable_rmm_get_performance_historyявляется обязательным (не необязательным, как подразумевал пример в документации) и принимает только15или60— подтверждено ошибкой валидации самого API (Invalid "interval": must be 15 or 60 (minutes)).nable_rmm_get_agentless_assetsвозвращает пустойitemsна этом аккаунте, что согласуется с примечанием N-able о том, что функция устарела.
Два инструмента записи (nable_rmm_create_client, nable_rmm_create_site) не тестировались на реальном аккаунте, чтобы не создавать реальные данные в тенанте N-able RMM производственного заказчика — проверьте их на одноразовом тестовом аккаунте, прежде чем полагаться на них.
Известные пробелы / Не реализовано
get_site_installation_package— возвращает загрузку бинарного установщика, а не структурированные данные, что непрактично в качестве MCP-инструмента.
This server cannot be deployed
Maintenance
Related MCP Connectors
- ScopableOAuthio.scopable
Scopable MSP API: clients, quotes, assessments, compliance, QBRs. OAuth 2.1, read-only or read-write
Manage Accelo companies, contacts, jobs, tasks, tickets and time.
Read NodePing checks, uptime, results and events; mute checks, manage maintenance and schedules.
Check devices, alerts and tickets in Atera, and open tickets, comment or resolve alerts.
Related MCP Servers
- AlicenseAqualityAmaintenanceExposes N-able N-central REST API as MCP tools for managing devices, organizations, users, and more, with support for read-only, write, and full write modes.125MIT
- AlicenseBqualityDmaintenanceComprehensive read/write access to the Datto RMM API v2, enabling management of devices, sites, alerts, audits, jobs, variables, filters, and activity logs through 46 tools.46MIT
- AlicenseNot gradedqualityBmaintenanceExposes the ConnectWise Command (Continuum) ITSupport247 Reporting API as MCP tools, enabling querying of sites, devices, patches, antivirus, performance, and more.Apache 2.0
- AlicenseAqualityCmaintenanceEnables interaction with the SuperOps.ai PSA/RMM platform via its GraphQL API, providing tools for managing clients, tickets, assets, technicians, and custom queries.21Apache 2.0