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 とは別の製品です。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 に従います: ステートレス、認証情報の保存なし、リクエストごとのヘッダー認証。
基盤となる 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) に対応しています。
ヘッダー | 型 | 必須 | デフォルト値 | 列挙値 | フィールドの説明 | 例 |
| string | 必須 | なし | なし(自由テキスト) | N-able RMM API キー。Settings > General Settings > API > Generate で生成します。キーが特定のクライアントグループに制限されている場合、呼び出しはそのグループ内の顧客データのみを返します。 |
|
| string | 任意 |
| 下記の11の地域サーバーリストを参照 | N-able RMM はアカウントの所属地域に応じて11の独立したサーバーに分かれています。このヘッダーがない場合は環境変数のデフォルト値を使用します。ゲートウェイが複数地域のテナントを同時にサービスする場合、リクエストごとに上書きされます。 |
|
X-Nable-Server の11の列挙値(地域 → Base URL):
地域 | Base URL |
Americas (デフォルト) |
|
Asia |
|
Australia |
|
Europe |
|
France |
|
France1 |
|
Germany |
|
Ireland |
|
Poland |
|
United Kingdom |
|
United States |
|
X-Nable-Api-Token がない場合は 401 Unauthorized を返します。N-able RMM は自動化された呼び出しを キーあたり毎分60リクエスト に制限しています — このサーバーはスロットリングを行わないため、バルク呼び出しはそれに合わせてペースを調整してください。
環境変数
変数 | デフォルト | 説明 |
|
| 待受ポート |
|
| 待受ホスト |
|
| デフォルトの地域サーバー。 |
MCP エンドポイント
POST http://localhost:8080/mcpMCP クライアントを以下の設定で接続します:
トランスポート:
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) をカバーしています。
クライアントとサイト
ツール | 機能 | パラメータ |
| この API キーで参照可能なすべてのクライアントを一覧表示 |
|
| 特定のクライアント配下のすべてのサイトを一覧表示 |
|
| クライアントを新規作成(書き込み操作) |
|
| クライアント配下にサイトを新規作成(書き込み操作) |
|
デバイス
ツール | 機能 | パラメータ |
| デバイスタイプ別に、クライアント配下のすべてのサイトのデバイスを一覧表示 |
|
| サイト配下のサーバーデバイスとオンライン/チェック状態を一覧表示 |
|
| サイト配下のワークステーションデバイスとオンライン/チェック状態を一覧表示 |
|
| サイト配下のエージェントレス(スキャンで検出された)アセットを一覧表示(N-able はこの機能を非推奨としています) |
|
| 単一デバイスの詳細な監視情報を取得 |
|
チェック、パッチ、パフォーマンス
ツール | 機能 | パラメータ |
| 現在失敗しているチェック項目を一覧表示 |
|
| 特定のデバイスに設定されているすべてのチェック項目を一覧表示 |
|
| 単一のチェック項目の詳細な設定を取得(構造はチェックタイプ/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 コマンド (ストリーミング 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 の注記と一致しています。
2つの書き込みツール (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