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/...)。这与 N-able N-Central 是不同的产品,后者在 app.mspbots.ai 中是另一个独立的集成,拥有自己的 API。本服务器仅封装 N-sight/N-able RMM。
概述
本服务器实现了 Model Context Protocol(Streamable HTTP/SSE 传输),并封装了 N-sight API(即 "N-able RMM" 集成背后的 API)。它遵循 MSPbots Vendor MCP Service SOP:无状态、不存储凭据、每次请求通过 header 进行认证。
底层 API 本身通过 apikey 查询参数进行认证,并返回 XML。本服务器从不存储该 key — 调用方在每次请求中通过 header 传入,所有工具响应均为 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"}健康检查端点无需 token。
授权参数说明 (Authentication)
对 /mcp 的每个请求都必须包含以下 HTTP headers。Header 命名与 app.mspbots.ai 中现有 "N-able RMM" 集成表单的字段(API Token / URL)保持一致。
Header | 类型 | 是否必填 | 默认值 | 枚举值 | 字段描述 | Example |
| string | 必填 | 无 | 无(自由文本) | N-able RMM API key,在 Settings > General Settings > API > Generate 生成。若 key 被限定到某个 client group,调用只返回该组内客户的数据。 |
|
| string | 可选 |
| 见下方 11 个地区服务器列表 | N-able RMM 按账号所属地区分为 11 个独立服务器,不带该 header 时用环境变量默认值;网关同时服务多地区租户时按请求覆盖。 |
|
X-Nable-Server 的 11 个枚举值(地区 → Base URL):
Region | Base URL |
Americas (default) |
|
Asia |
|
Australia |
|
Europe |
|
France |
|
France1 |
|
Germany |
|
Ireland |
|
Poland |
|
United Kingdom |
|
United States |
|
缺少 X-Nable-Api-Token 时返回 401 Unauthorized。N-able RMM 还将自动化调用限制为 每个 key 每分钟 60 次请求 — 本服务器不会替你做限流,因此批量调用时请自行控制节奏。
环境变量
变量 | 默认值 | 描述 |
|
| 监听端口 |
|
| 监听主机 |
|
| 默认地区服务器;可通过 |
MCP 端点
POST http://localhost:8080/mcp使用以下方式连接你的 MCP 客户端:
传输方式:
http(Streamable HTTP / SSE)Headers:
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)。
客户与站点
工具 | 功能 | 参数 |
| 列出该 API key 可见的所有客户 |
|
| 列出某客户下的所有站点 |
|
| 新建客户(写操作) |
|
| 在客户下新建站点(写操作) |
|
设备
工具 | 功能 | 参数 |
| 按设备类型列出客户下所有站点的设备 |
|
| 列出站点下的服务器设备及在线/检查状态 |
|
| 列出站点下的工作站设备及在线/检查状态 |
|
| 列出站点下的无代理(扫描发现)资产(N-able 已标记该功能为 deprecated) |
|
| 获取单个设备的详细监控信息 |
|
检查、补丁与性能
工具 | 功能 | 参数 |
| 列出当前失败的检查项 |
|
| 列出某设备上配置的所有检查项 |
|
| 获取单个检查项的详细配置(结构因检查类型/OS而异) |
|
| 列出设备的 outage 记录(开放中或近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(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 关于该功能已弃用的说明一致。
两个写工具(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