Skip to main content
Glama
MSPbotsAIFramework

nable-rmm-mcp

nable-rmm-mcp

N-able RMM MCP 서버 — N-able RMM Data Extraction API를 MCP 도구로 노출합니다.

명칭 참고: 이 통합은 app.mspbots.ai에서 **"N-able RMM"**으로 불립니다(sys_integration.subject_code = SOLARWIND — 원래 SolarWinds RMM이었음). N-able의 공식 개발자 문서에서는 같은 제품을 **"N-sight"**라고 부릅니다(https://developer.n-able.com/n-sight/docs/...). 이는 자체 API를 가진 app.mspbots.ai의 별도 통합인 N-able N-Central과는 다른 제품입니다. 이 서버는 N-sight/N-able RMM만 래핑합니다.

개요

이 서버는 Model Context Protocol(Streamable HTTP/SSE 전송)을 구현하며 N-sight API("N-able RMM" 통합의 기반이 되는 API)를 래핑합니다. MSPbots Vendor MCP Service SOP를 따릅니다: 무상태(stateless), 자격 증명 저장 없음, 요청별 헤더 인증.

기본 API 자체는 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 헤더가 포함되어야 합니다. 헤더 이름은 app.mspbots.ai의 기존 "N-able RMM" 통합 양식(API Token / URL)의 필드를 그대로 따릅니다.

헤더

유형

필수 여부

기본값

열거 값

필드 설명

예시

X-Nable-Api-Token

string

필수

없음

없음(자유 텍스트)

N-able RMM API key는 Settings > General Settings > API > Generate에서 생성합니다. key가 특정 클라이언트 그룹으로 제한된 경우 호출은 해당 그룹 내 고객 데이터만 반환합니다.

X-Nable-Api-Token: <your_api_key>

X-Nable-Server

string

선택

NABLE_BASE_URL 환경 변수(기본값 https://www.am.remote.management)

아래 11개 지역 서버 목록 참조

N-able RMM은 계정이 속한 지역에 따라 11개의 독립 서버로 나뉩니다. 해당 header가 없으면 환경 변수 기본값을 사용하며, 게이트웨이가 여러 지역의 테넌트를 동시에 서비스할 때는 요청별로 덮어씁니다.

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

X-Nable-Server의 11개 열거 값(지역 → Base URL):

지역

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

X-Nable-Api-Token이 없으면 401 Unauthorized를 반환합니다. N-able RMM은 또한 자동화 호출을 키당 분당 60회로 제한합니다 — 이 서버는 자체적으로 스로틀링하지 않으므로 대량 호출은 이에 맞춰 간격을 조절하세요.

환경 변수

변수

기본값

설명

MCP_HTTP_PORT

8080

수신 포트

MCP_HTTP_HOST

0.0.0.0

수신 호스트

NABLE_BASE_URL

https://www.am.remote.management

기본 지역 서버; X-Nable-Server로 요청별 재정의

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 레퍼런스 전체와 app.mspbots.ai의 "N-able RMM" 통합에서 이미 프로덕션에 사용 중인 4개 엔드포인트(Device Monitoring Details, Drive Space History, Patch, Performance History)를 포함합니다.

클라이언트 및 사이트

도구

기능

매개변수

nable_rmm_get_clients

해당 API key로 볼 수 있는 모든 고객 나열

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

nable_rmm_get_sites

특정 고객의 모든 사이트 나열

clientid (필수, int)

nable_rmm_create_client

고객 생성(쓰기 작업)

name (필수), timezone?, officehoursemail?, officehourssms?, outofofficehoursemail?, outofofficehourssms?

nable_rmm_create_site

고객 아래에 새 사이트 생성(쓰기 작업)

clientid (필수), sitename (필수), router1?, router2?, workstationtemplate?, servertemplate?

장치

도구

기능

매개변수

nable_rmm_get_devices_at_client

장치 유형별로 고객의 모든 사이트 장치 나열

clientid (필수), devicetype (필수, "server"/"workstation"/"mobile_device")

nable_rmm_get_servers

사이트의 서버 장치 및 온라인/점검 상태 나열

siteid (필수, int)

nable_rmm_get_workstations

사이트의 워크스테이션 장치 및 온라인/점검 상태 나열

siteid (필수, int)

nable_rmm_get_agentless_assets

사이트의 에이전트 없는(스캔으로 발견된) 자산 나열(N-able은 이 기능을 deprecated로 표시함)

siteid (필수, int)

nable_rmm_get_device_monitoring_details

단일 장치의 상세 모니터링 정보 가져오기

deviceid (필수, int)

검사, 패치 및 성능

도구

기능

매개변수

nable_rmm_get_failing_checks

현재 실패 중인 검사 항목 나열

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

nable_rmm_get_checks

특정 장치에 구성된 모든 검사 항목 나열

deviceid (필수, int)

nable_rmm_get_check_config

단일 검사 항목의 상세 구성 가져오기(구조는 검사 유형/OS에 따라 다름)

checkid (필수, int)

nable_rmm_get_outages

장치의 outage 기록 나열(열려 있거나 최근 61일 이내에 종료된 것)

deviceid (필수, int)

nable_rmm_get_drive_space_history

디스크 공간 검사 기록(list_checks를 기반으로 check_type 1003/1004로 필터링, N-sight에는 별도 서비스 없음)

deviceid (필수, int)

nable_rmm_get_patch_list

장치의 모든 패치와 상태/심각도 나열

deviceid (필수, int)

nable_rmm_get_performance_history

장치의 과거 성능 지표(대역폭/디스크/CPU/메모리/네트워크 카드)

deviceid (필수, int), interval (필수, int, 15 또는 60만 가능), since?

테스트 예시 (Test Example)

사이트의 모든 서버를 나열합니다:

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

실행 중인 서버를 대상으로 한 동등한 curl(streamable HTTP MCP 엔드포인트):

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개 읽기 도구 모두 실제 N-able RMM 계정(미국 리전)에 대해 엔드투엔드로 테스트되었고, N-able 공식 문서가 모호하게 남긴 엣지 케이스를 포함해 실제 데이터를 반환했습니다:

  • nable_rmm_get_performance_history의 interval 매개변수는 필수이며(문서 예제가 암시한 것처럼 선택이 아님) 15 또는 60만 허용합니다 — API 자체의 검증 오류(Invalid "interval": must be 15 or 60 (minutes))로 확인됨.

  • nable_rmm_get_agentless_assets는 이 계정에서 빈 items를 반환하며, 이는 N-able이 해당 기능을 deprecated로 표시한 내용과 일치합니다.

두 개의 쓰기 도구(nable_rmm_create_client, nable_rmm_create_site)는 프로덕션 고객의 N-able RMM 테넌트에 실제 데이터를 생성하지 않기 위해 라이브 계정으로 테스트하지 않았습니다 — 이 도구들에 의존하기 전에 일회용 테스트 계정으로 검증하세요.

알려진 한계 / 미구현

  • get_site_installation_package — 구조화된 데이터가 아닌 바이너리 설치 프로그램 다운로드를 반환하므로 MCP 도구로는 실용적이지 않습니다.

Related MCP Connectors

Related MCP Servers