Skip to main content
Glama
MSPbotsAIFramework

nable-rmm-mcp

nable-rmm-mcp

N-able RMM MCP-Server — stellt die N-able RMM Data Extraction API als MCP-Tools bereit.

Hinweis zur Benennung: Diese Integration heißt in app.mspbots.ai "N-able RMM" (sys_integration.subject_code = SOLARWIND — ursprünglich war es SolarWinds RMM). N-ables eigene öffentliche Entwicklerdokumentation nennt dasselbe Produkt "N-sight" (https://developer.n-able.com/n-sight/docs/...). Dies ist ein anderes Produkt als N-able N-Central, das in app.mspbots.ai eine separate Integration mit eigener API ist. Dieser Server kapselt ausschließlich N-sight/N-able RMM.

Überblick

Dieser Server implementiert das Model Context Protocol (Streamable HTTP/SSE-Transport) und kapselt die N-sight API (die API hinter der Integration "N-able RMM"). Er folgt der MSPbots Vendor MCP Service SOP: zustandslos, keine gespeicherten Anmeldedaten, Header-Authentifizierung pro Anfrage.

Die zugrunde liegende API authentifiziert sich selbst über einen apikey-Query-Parameter und gibt XML zurück. Dieser Server speichert diesen Schlüssel nie — der Aufrufer übergibt ihn pro Anfrage über einen Header, und jede Tool-Antwort ist das zur besseren Lesbarkeit in JSON konvertierte XML.

Related MCP server: Datto RMM MCP Server

Schnellstart

Docker (empfohlen)

docker compose up --build

Der Server startet auf http://localhost:8080.

Lokal (uv)

uv sync
python -m nable_rmm_mcp

Health Check

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

Für den Health-Endpunkt ist kein Token erforderlich.

Authentifizierungsparameter (Authentication)

Jede Anfrage an /mcp muss die folgenden HTTP-Header enthalten. Die Benennung der Header spiegelt die Felder des bestehenden Integrationsformulars "N-able RMM" in app.mspbots.ai wider (API Token / URL).

Header

Typ

Erforderlich

Standardwert

Enum-Werte

Feldbeschreibung

Beispiel

X-Nable-Api-Token

string

Erforderlich

Keiner

Keiner (Freitext)

N-able-RMM-API-Key, erzeugt unter Settings > General Settings > API > Generate. Wenn der Key auf eine Kundengruppe beschränkt ist, liefert der Aufruf nur Daten der Kunden dieser Gruppe zurück.

X-Nable-Api-Token: <your_api_key>

X-Nable-Server

string

Optional

NABLE_BASE_URL-Umgebungsvariable (Standard: https://www.am.remote.management)

Siehe Liste der 11 Regionsserver unten

N-able RMM ist je nach Region des Kontos auf 11 unabhängige Server verteilt. Ohne diesen Header wird der Standardwert der Umgebungsvariable verwendet; wenn das Gateway gleichzeitig Mandanten aus mehreren Regionen bedient, wird er pro Anfrage überschrieben.

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

Die 11 Enum-Werte von X-Nable-Server (Region → Base URL):

Region

Base URL

Americas (default)

https://www.am.remote.management

Asia

https://wwwasia.system-monitor.com

Australia

https://www.system-monitor.com

Europe

https://wwweurope1.systemmonitor.eu.com

France

https://wwwfrance.systemmonitor.eu.com

France1

https://wwwfrance1.systemmonitor.eu.com

Germany

https://wwwgermany1.systemmonitor.eu.com

Ireland

https://wwwireland.systemmonitor.eu.com

Poland

https://wwwpoland1.systemmonitor.eu.com

United Kingdom

https://www.systemmonitor.co.uk

United States

https://www.systemmonitor.us

Fehlt X-Nable-Api-Token, wird 401 Unauthorized zurückgegeben. N-able RMM begrenzt automatisierte Aufrufe außerdem auf 60 Anfragen/Minute pro Schlüssel — dieser Server drosselt nicht für Sie, also planen Sie Massenaufrufe entsprechend.

Umgebungsvariablen

Variable

Standardwert

Beschreibung

MCP_HTTP_PORT

8080

Lauschender Port

MCP_HTTP_HOST

0.0.0.0

Lauschender Host

NABLE_BASE_URL

https://www.am.remote.management

Standard-Regionsserver; pro Anfrage mit X-Nable-Server überschreibbar

MCP-Endpunkt

POST http://localhost:8080/mcp

Verbinden Sie Ihren MCP-Client wie folgt:

  • Transport: http (Streamable HTTP / SSE)

  • Header: X-Nable-Api-Token: <api_key> (erforderlich), X-Nable-Server: <base_url> (optional)

Tool-Liste

16 Tools, die die gesamte öffentliche N-sight-API-Referenz abdecken, plus die 4 Endpunkte, die in der Integration "N-able RMM" von app.mspbots.ai bereits in Produktion sind (Device Monitoring Details, Drive Space History, Patch, Performance History).

Kunden & Standorte

Tool

Funktion

Parameter

nable_rmm_get_clients

Listet alle Kunden auf, die für diesen API-Key sichtbar sind

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

nable_rmm_get_sites

Listet alle Standorte eines Kunden auf

clientid (erforderlich, int)

nable_rmm_create_client

Neuen Kunden erstellen (Schreiboperation)

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

nable_rmm_create_site

Neuen Standort unter einem Kunden erstellen (Schreiboperation)

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

Geräte

Tool

Funktion

Parameter

nable_rmm_get_devices_at_client

Listet Geräte aller Standorte eines Kunden nach Gerätetyp auf

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

nable_rmm_get_servers

Listet Servergeräte eines Standorts sowie Online-/Prüfstatus auf

siteid (erforderlich, int)

nable_rmm_get_workstations

Listet Workstation-Geräte eines Standorts sowie Online-/Prüfstatus auf

siteid (erforderlich, int)

nable_rmm_get_agentless_assets

Listet agentenlose (per Scan erkannte) Assets eines Standorts auf (N-able hat diese Funktion als veraltet markiert)

siteid (erforderlich, int)

nable_rmm_get_device_monitoring_details

Ruft detaillierte Überwachungsinformationen für ein einzelnes Gerät ab

deviceid (erforderlich, int)

Checks, Patch & Performance

Tool

Funktion

Parameter

nable_rmm_get_failing_checks

Listet aktuell fehlgeschlagene Prüfungen auf

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

nable_rmm_get_checks

Listet alle auf einem Gerät konfigurierten Prüfungen auf

deviceid (erforderlich, int)

nable_rmm_get_check_config

Ruft die detaillierte Konfiguration einer einzelnen Prüfung ab (Struktur variiert je nach Prüfungstyp/Betriebssystem)

checkid (erforderlich, int)

nable_rmm_get_outages

Listet Ausfallaufzeichnungen eines Geräts auf (offen oder in den letzten 61 Tagen geschlossen)

deviceid (erforderlich, int)

nable_rmm_get_drive_space_history

Verlauf der Festplattenspeicher-Prüfungen (basiert auf list_checks, gefiltert nach check_type 1003/1004; N-sight hat keinen separaten Dienst)

deviceid (erforderlich, int)

nable_rmm_get_patch_list

Listet alle Patches auf einem Gerät samt Status/Schweregrad auf

deviceid (erforderlich, int)

nable_rmm_get_performance_history

Historische Leistungskennzahlen eines Geräts (Bandbreite/Festplatte/CPU/Arbeitsspeicher/Netzwerkkarte)

deviceid (erforderlich, int), interval (erforderlich, int, nur 15 oder 60), since?

Testbeispiel (Test Example)

Alle Server an einem Standort auflisten:

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

Entsprechender curl-Aufruf gegen den laufenden Server (Streamable-HTTP-MCP-Endpunkt):

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

Erwartete Form eines erfolgreichen Ergebnisses (die zugrunde liegende XML-Antwort, in JSON konvertiert; Felder gekürzt):

{
  "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-Referenz

Gegen ein Live-Konto verifiziert

Alle 14 Lese-Tools wurden Ende-zu-Ende gegen ein echtes N-able-RMM-Konto (Region USA) getestet und lieferten echte Daten zurück, einschließlich Randfällen, die N-ables öffentliche Dokumentation offenließ:

  • Der Parameter interval von nable_rmm_get_performance_history ist erforderlich (nicht optional, wie das Beispiel in der Dokumentation vermuten ließ) und akzeptiert nur 15 oder 60 — bestätigt durch den eigenen Validierungsfehler der API (Invalid "interval": must be 15 or 60 (minutes)).

  • nable_rmm_get_agentless_assets liefert bei diesem Konto leere items zurück, konsistent mit N-ables Hinweis, dass die Funktion veraltet ist.

Die beiden Schreib-Tools (nable_rmm_create_client, nable_rmm_create_site) wurden nicht gegen das Live-Konto getestet, um zu vermeiden, echte Daten in einem N-able-RMM-Mandanten eines Produktionskunden anzulegen — verifizieren Sie sie vor der Verwendung gegen ein Wegwerf-Testkonto.

Bekannte Lücken / Nicht implementiert

  • get_site_installation_package — liefert einen binären Installer-Download statt strukturierter Daten; als MCP-Tool nicht praktikabel.

Related MCP Connectors

Related MCP Servers