Skip to main content
Glama
MSPbotsAIFramework

nable-rmm-mcp

nable-rmm-mcp

N-able RMM servidor MCP — expone la API de extracción de datos de N-able RMM como herramientas MCP.

Nota sobre la nomenclatura: esta integración se llama "N-able RMM" en app.mspbots.ai (sys_integration.subject_code = SOLARWIND — originalmente era SolarWinds RMM). La documentación pública para desarrolladores de N-able llama al mismo producto "N-sight" (https://developer.n-able.com/n-sight/docs/...). Es un producto diferente de N-able N-Central, que es una integración separada en app.mspbots.ai con su propia API. Este servidor solo envuelve N-sight/N-able RMM.

Descripción general

Este servidor implementa el Model Context Protocol (transporte Streamable HTTP/SSE) y envuelve la API de N-sight (la API detrás de la integración "N-able RMM"). Sigue el Vendor MCP Service SOP de MSPbots: sin estado, sin credenciales almacenadas, autenticación por encabezado en cada solicitud.

La API subyacente se autentica mediante un parámetro de consulta apikey y devuelve XML. Este servidor nunca almacena esa clave: el llamador la pasa en cada solicitud mediante un encabezado, y cada respuesta de herramienta es el XML convertido a JSON para facilitar la lectura.

Related MCP server: Datto RMM MCP Server

Inicio rápido

Docker (recomendado)

docker compose up --build

El servidor se inicia en http://localhost:8080.

Local (uv)

uv sync
python -m nable_rmm_mcp

Comprobación de salud

curl http://localhost:8080/health
# {"status": "ok"}

No se requiere token para el endpoint de salud.

Parámetros de autenticación

Cada solicitud a /mcp debe incluir los siguientes encabezados HTTP. Los nombres de los encabezados reflejan los campos del formulario de integración "N-able RMM" existente en app.mspbots.ai (API Token / URL).

Encabezado

Tipo

Obligatorio

Valor por defecto

Valores enumerados

Descripción del campo

Ejemplo

X-Nable-Api-Token

string

Obligatorio

Ninguno

Ninguno (texto libre)

Clave de API de N-able RMM, generada en Settings > General Settings > API > Generate. Si la clave está restringida a un grupo de clientes, la llamada solo devuelve los datos de los clientes de ese grupo.

X-Nable-Api-Token: <your_api_key>

X-Nable-Server

string

Opcional

Variable de entorno NABLE_BASE_URL (por defecto https://www.am.remote.management)

Ver la lista de 11 servidores regionales a continuación

N-able RMM se divide en 11 servidores independientes según la región de la cuenta; si no se envía este encabezado, se usa el valor por defecto de la variable de entorno; cuando la puerta de enlace atiende a inquilinos de varias regiones, se sobrescribe por solicitud.

X-Nable-Server: https://www.systemmonitor.co.uk

Los 11 valores enumerados de X-Nable-Server (región → URL base):

Región

URL base

Américas (predeterminado)

https://www.am.remote.management

Asia

https://wwwasia.system-monitor.com

Australia

https://www.system-monitor.com

Europa

https://wwweurope1.systemmonitor.eu.com

Francia

https://wwwfrance.systemmonitor.eu.com

France1

https://wwwfrance1.systemmonitor.eu.com

Alemania

https://wwwgermany1.systemmonitor.eu.com

Irlanda

https://wwwireland.systemmonitor.eu.com

Polonia

https://wwwpoland1.systemmonitor.eu.com

Reino Unido

https://www.systemmonitor.co.uk

Estados Unidos

https://www.systemmonitor.us

La ausencia de X-Nable-Api-Token devuelve 401 Unauthorized. N-able RMM también limita las llamadas automatizadas a 60 solicitudes/minuto por clave; este servidor no aplica limitación por ti, así que espacia las llamadas masivas en consecuencia.

Variables de entorno

Variable

Valor por defecto

Descripción

MCP_HTTP_PORT

8080

Puerto de escucha

MCP_HTTP_HOST

0.0.0.0

Host de escucha

NABLE_BASE_URL

https://www.am.remote.management

Servidor regional predeterminado; se puede sobrescribir por solicitud con X-Nable-Server

Endpoint MCP

POST http://localhost:8080/mcp

Conecta tu cliente MCP con:

  • Transporte: http (Streamable HTTP / SSE)

  • Encabezados: X-Nable-Api-Token: <api_key> (obligatorio), X-Nable-Server: <base_url> (opcional)

Lista de herramientas

16 herramientas, que cubren la referencia completa de la API pública de N-sight más los 4 endpoints ya en uso en producción en la integración "N-able RMM" de app.mspbots.ai (Device Monitoring Details, Drive Space History, Patch, Performance History).

Clientes y sitios

Herramienta

Función

Parámetros

nable_rmm_get_clients

Lista todos los clientes visibles para esta clave de API

devicetype?("server"/"workstation"/"mobile_device")

nable_rmm_get_sites

Lista todos los sitios de un cliente

clientid (obligatorio, int)

nable_rmm_create_client

Crea un cliente (operación de escritura)

name (obligatorio), timezone?, officehoursemail?, officehourssms?, outofofficehoursemail?, outofofficehourssms?

nable_rmm_create_site

Crea un sitio dentro de un cliente (operación de escritura)

clientid (obligatorio), sitename (obligatorio), router1?, router2?, workstationtemplate?, servertemplate?

Dispositivos

Herramienta

Función

Parámetros

nable_rmm_get_devices_at_client

Lista los dispositivos de todos los sitios de un cliente por tipo de dispositivo

clientid (obligatorio), devicetype (obligatorio, "server"/"workstation"/"mobile_device")

nable_rmm_get_servers

Lista los servidores de un sitio y su estado en línea/de comprobación

siteid (obligatorio, int)

nable_rmm_get_workstations

Lista las estaciones de trabajo de un sitio y su estado en línea/de comprobación

siteid (obligatorio, int)

nable_rmm_get_agentless_assets

Lista los activos sin agente (descubiertos por escaneo) de un sitio (N-able ha marcado esta función como obsoleta)

siteid (obligatorio, int)

nable_rmm_get_device_monitoring_details

Obtiene la información de monitoreo detallada de un solo dispositivo

deviceid (obligatorio, int)

Comprobaciones, parches y rendimiento

Herramienta

Función

Parámetros

nable_rmm_get_failing_checks

Lista las comprobaciones que fallan actualmente

clientid?, check_type?("checks"/"tasks"/"random")

nable_rmm_get_checks

Lista todas las comprobaciones configuradas en un dispositivo

deviceid (obligatorio, int)

nable_rmm_get_check_config

Obtiene la configuración detallada de una sola comprobación (la estructura varía según el tipo de comprobación/SO)

checkid (obligatorio, int)

nable_rmm_get_outages

Lista los registros de outage de un dispositivo (abiertos o cerrados en los últimos 61 días)

deviceid (obligatorio, int)

nable_rmm_get_drive_space_history

Historial de comprobación de espacio en disco (basado en list_checks filtrado por check_type 1003/1004; N-sight no tiene un servicio independiente)

deviceid (obligatorio, int)

nable_rmm_get_patch_list

Lista todos los parches de un dispositivo con su estado/gravedad

deviceid (obligatorio, int)

nable_rmm_get_performance_history

Métricas de rendimiento históricas del dispositivo (ancho de banda/disco/CPU/memoria/tarjeta de red)

deviceid (obligatorio, int), interval (obligatorio, int, solo puede ser 15 o 60), since?

Ejemplo de prueba

Lista todos los servidores de un sitio:

{
  "method": "tools/call",
  "params": {
    "name": "nable_rmm_get_servers",
    "arguments": { "siteid": 12345 }
  }
}

Equivalente curl contra el servidor en ejecución (endpoint MCP HTTP streamable):

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 }
    }
  }'

Forma esperada de un resultado correcto (la respuesta XML subyacente, convertida a JSON; campos abreviados):

{
  "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}"
    }
  ]
}

Referencia de la API

Verificado con una cuenta real

Las 14 herramientas de lectura se han probado de extremo a extremo contra una cuenta real de N-able RMM (región EE. UU.) y devolvieron datos reales, incluidos casos límite que la documentación pública de N-able dejaba ambiguos:

  • El parámetro interval de nable_rmm_get_performance_history es obligatorio (no opcional como sugería el ejemplo de la documentación) y solo acepta 15 o 60; confirmado mediante el error de validación de la propia API (`Invalid "interval": must

Related MCP Connectors

Related MCP Servers