prtg-mcp
prtg-mcp
PRTG Network Monitor(Paessler のネットワーク/インフラストラクチャ監視)用の MCP サーバー。PRTG のネイティブ HTTP API のセンサー、デバイス、および履歴センサーデータを MCP ツールとして公開します。
概要
ステートレスな HTTP サービス。認証情報は一切永続化されません。各リクエストはヘッダー経由で独自の認証情報を提供し、その単一リクエストの期間中のみ使用されます。
同時リクエストをサポート。リクエストごとの認証情報の分離は、グローバル/共有クライアントインスタンスではなく、Python の
contextvarsによって行われます。エントリポイント:
POST /mcp(MCP プロトコル)およびGET /health(ヘルスチェック)。デフォルトポート:
8080(MCP_HTTP_PORTで設定可能)。
Related MCP server: mcp-ntopng
認証
このプログラムのほとんどの統合とは異なり、PRTG には個別のログインやトークン交換はありません: ユーザー名と「passhash」(PRTG の UI の My Account -> API Key で生成されるもので、アカウントの平文パスワードではありません)は、すべての呼び出しで平文のクエリパラメータとして送信されます。したがって、キャッシュするものは何もありません。各呼び出しは、ベンダーの設計により、すでに完全に自己完結型でステートレスです。
ヘッダー認証パラメータの説明
ヘッダー | 型 | 必須 | デフォルト値 | 列挙値 | フィールド説明 | 例 |
| string | はい | なし | なし | PRTG コアサーバーのホスト名(プロトコルプレフィックスを含まない) |
|
| string | はい | なし | なし | PRTG API ユーザー名 |
|
| string | はい | なし | なし | PRTG の「passhash」(PRTG UI の My Account -> API Key ページで生成されるもので、アカウントの平文パスワードではありません) |
|
いずれかのヘッダーが欠落している場合は 401 を返します:
{
"error": "Missing credentials",
"message": "This server requires the X-PRTG-Server-Url, X-PRTG-Username, and X-PRTG-Passhash headers",
"required_headers": ["X-PRTG-Server-Url", "X-PRTG-Username", "X-PRTG-Passhash"],
"optional_headers": []
}無効な認証情報は、ツールレベルのエラーエンベロープ(下記のエラーエンベロープを参照)として表面化し、PRTG の HTTP ステータスコードから分類されます — 401/403 は unauthorized にマッピングされます。非 2xx 応答の場合、このサーバーは JSON ボディから message/error フィールドの抽出を試み、そのボディが JSON でない場合は生の応答テキストにフォールバックします(PRTG は、特定の不正なリクエストに対して、.json エンドポイントでも XML の <error> ボディにフォールバックすることがあります)。
環境変数
変数 | 型 | 必須 | デフォルト値 | 説明 |
| int | いいえ |
| HTTP リッスンポート |
| string | いいえ |
| HTTP リッスンアドレス |
MCP エンドポイント
POST /mcp— MCP プロトコル(ストリーミング可能な HTTP トランスポート)GET /health— ヘルスチェック。{"status": "ok"}を返します(純粋なローカルプローブであり、PRTG を呼び出しません)
ツール一覧
ツール | 機能 | パラメータ |
| すべてのセンサーとその現在のステータス/値を一覧表示 |
|
| 監視対象のすべてのデバイスとそのステータス/所属 probe/group を一覧表示 |
|
| 指定したセンサーの特定の日付範囲における履歴監視データを取得 |
|
3 つのツールはすべて読み取り専用です(readOnlyHint=True、idempotentHint=True)。このサービスには書き込み/削除ツールはありません。
count には、PRTG の table.json エンドポイントに対するベンダー側の文書化されたハード上限がないため、このサーバーは値を無検証でそのまま渡すのではなく、プラットフォーム独自のフォールバック上限を適用します: デフォルトは 50 で、200 を超える値は PRTG にそのまま送信されるのではなく、暗黙のうちに 200 にクランプされます。
レスポンス形式
このサーバーが呼び出す両方のエンドポイント(table.json、historicdata.json)はベンダーの JSON サフィックス付きバリアントであるため、成功時にはクライアントは常に JSON のみを解析します。PRTG の HTTP API は、他のエンドポイント/パラメータでは原則として XML を返す可能性があるため、クライアントは防御的に解析します: 非 2xx 応答は下記の構造化エラーエンベロープに分類され、2xx 応答が JSON として解析に失敗した場合は、例外を発生させる代わりに、その生のテキストが raw_response キーの下で返されます。
エラーエンベロープ
ツールエラーは、発生した例外としてではなく、構造化された JSON 文字列として返されるため、呼び出し側エージェントは code に基づいて分岐し、再試行するかどうかを決定できます:
{"error": {"code": "upstream_error", "message": "...", "retryable": true}}code は次のいずれかです: not_configured、unauthorized、not_found、invalid_argument、rate_limited、upstream_error。空の結果セットは、not_found ではなく、通常の(エラーではない)空のコレクションとして返されます。
ツールの戻り値(成功とエラーの両方)は、20,000 文字に制限されたコンパクトな JSON(ensure_ascii=False、indent なし)です。サイズ超過の結果は、無制限のブロブを返すのではなく、最大のリストフィールドを切り詰めて、truncated/original_count を報告します。
テスト例
# Health check
curl -s http://localhost:8080/health
# Call a tool via the MCP protocol (streamable HTTP) — requires an
# initialize handshake first per the MCP spec; abbreviated example below
# shows the tool-call request body only:
curl -s -X POST http://localhost:8080/mcp \
-H "X-PRTG-Server-Url: prtg.example.com" \
-H "X-PRTG-Username: api_user" \
-H "X-PRTG-Passhash: <your-passhash>" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: <session-id-from-initialize>" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "prtg_get_sensors",
"arguments": {}
}
}'実際の PRTG コアサーバーに対してライブ検証済み(2026-07-30)。3 つのツールすべてが、この実行中のサーバーを通じて実際の認証情報でエンドツーエンドに呼び出されました: prtg_get_sensors と prtg_get_devices はどちらも、実際の prtg-version 文字列と有効な(空の)結果セットを伴って 200 を返しました。この特定のテストアカウントは、その可視スコープ内にゼロ個のセンサー/デバイスがプロビジョニングされており、まったく同じ認証情報を使用して content=probes を別途クエリし、実際のデータ(PRTG Root probe といくつかの実際のスケジューリングオブジェクト)が返されたことで、これが(認証失敗ではなく)本当の「データなし」状態であることが確認されました。prtg_get_sensor_historic_data は、(実際のセンサー ID が利用できなかったため)非センサーオブジェクト ID で呼び出され、API に正しく到達し、ベンダー自身のコンテンツレベルのエラー("The selected object cannot be used here")を返し、リクエスト/認証パイプラインが正しく配線されていることを証明しました。
API リファレンス
公開、ログイン不要:
既知のギャップ
スコープはまさに MSPbots の設定済み 3 エンドポイントであり、ベンダーの完全な API サーフェスではない — PRTG の API は、ライブセンサー制御(一時停止/再開/確認)、オブジェクトの作成/削除、通知、レポートなどもカバーしていますが、これらはここではスコープ外です。
センサー/デバイスのデータを実際のレコードで実証できなかった — 提供されたテストアカウント(
Dash_Display、おそらくダッシュボード専用の表示アカウント)には、この特定の PRTG インスタンスの可視スコープ内にゼロ個のセンサーとゼロ個のデバイスがプロビジョニングされています。ライブテストでは、同じ認証情報で別の常にデータが入っているオブジェクトタイプ(content=probes)をクエリして実際のデータを取得できたため、これが(認証や実装のバグではなく)本当の空の結果であることが確認されました。prtg_get_sensor_historic_dataは、実際のセンサー ID でテストできなかった — 同じ理由(参照するセンサーが存在しない)によるものです。代わりに、無効なオブジェクト ID に対するベンダー自身のコンテンツレベルのエラー応答を確認することで検証され、リクエスト形式と認証が正しいことが証明されました。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for interacting with Prometheus metrics and data.17MIT
- AlicenseNot gradedqualityDmaintenanceMCP Server for networl monitoring software ntopng.2MIT

DevHelm MCP Serverofficial
AlicenseBqualityBmaintenanceMCP server for uptime monitoring, incidents, alerting, and dependency status.1211MIT- AlicenseNot gradedqualityDmaintenanceMCP server for Nagios Core that enables querying host and service status, alerts, configuration, and other monitoring data through CGI binaries.5Apache 2.0
Related MCP Connectors
An MCP server giving access to Grafana dashboards, data and more.
MCP Server for JFrog, providing tools for development and artifact management.
MCP server for managing Prisma Postgres.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MSPbotsAI/prtg-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server