mcpField
M
mcp-trmm

mcp-trmm

ローカル
github.com/Nels2クラウド・インフラ230 週間前に更新

mcp-trmm について

mcp-trmmは、TRMMインスタンスを管理するMCPサーバーです。IT運用向けに、ローカルの小規模モデルでも扱いやすい明確なツールを提供し、引数をAPIリクエストに変換します。

主な機能

  1. 01エージェントの検索と制御
  2. 02チェック、ソフトウェア、サービスの管理
  3. 03スクリプト、コマンド、タスクの実行
  4. 04更新、アラート、レポートの処理
  5. 05ツール引数からAPIリクエストへの変換

活用シーン

  1. 01端末を特定して再起動またはシャットダウン
  2. 02端末のサービスの確認と制御
  3. 03Windows更新の確認とインストール

MCP 対応

MCPクライアント向けに、エージェント、チェック、ソフトウェア、サービス、更新、アラート、自動化の操作ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

TRMM MCP Server

TRMM 形式のリモート管理操作に特化した MCP サーバーです。

このプロジェクトでは、一般的な IT 運用タスク向けに、厳選した MCP ツールを公開します。主なタスクは次のとおりです。

  • エージェントの検索と制御
  • チェック
  • スクリプト
  • サービス
  • ソフトウェア
  • Windows の更新プログラム
  • レポート
  • アラート
  • 自動化
  • タスク

このサーバーは、生の API パス、HTTP メソッド、JSON ペイロードの構築が苦手なローカルモデルや小規模なモデル向けに特化して設計されています。

汎用的な「任意のエンドポイントを呼び出す」ツールを公開するのではなく、引数を少数に絞った、小さく明確な名前のツールを公開します。バックエンドがその引数を有効な API リクエストに変換します。

このプロジェクトの目的

小規模なローカルモデルは、次のような処理が苦手な傾向があります。

  • 正しいエンドポイントを選ぶ
  • 適切な HTTP メソッドを選ぶ
  • 有効な JSON ペイロードを作成する
  • ID とオブジェクトの種類を正しく対応させる
  • 破壊的な操作や対象範囲が広すぎる操作を避ける

このサーバーでは、モデルに次の機能を提供することで、これらの問題を解決します。

  • 小規模なツールセット
  • 明確なツール名
  • シンプルな引数
  • バックエンド側でのリクエスト変換
  • 一貫した結果処理

つまり、モデルが何をしたいかを決め、バックエンドが実際の API をどのように呼び出すかを決めます。


アーキテクチャ

プロジェクトは、主に 4 つのレイヤーで構成されています。

server.py

FastAPI アプリケーションをホストし、MCP ASGI アプリを /mcp にマウントします。

また、次の機能も含まれます。

  • MCP ルートのベアラートークン保護
  • シンプルな /healthz エンドポイント
rmm_tools.py

モデルに公開する MCP ツールを定義します。

モデルに表示される関数は、これらだけです。

例:

  • list_agents()
  • get_agent(agent_id)
  • reboot_agent(agent_id, mode="normal")
  • run_agent_command(agent_id, command, shell="cmd")
translator.py

モデルに使いやすい引数を、実際の API リクエストに変換します。

このレイヤーでは、次の処理を行います。

  • エンドポイントの選択
  • メソッドの選択
  • JSON ボディの構築
  • 引数の正規化
  • シンプルなアクションのマッピング

例:

  • モデルが reboot_agent(agent_id="abc", mode="force") を呼び出す
  • トランスレーターが、正しいリクエストボディを付けた PATCH /agents/{agent_id}/reboot/ に変換する
api_client.py

最終的な HTTP リクエストを上流の TRMM/PAI API に送信し、正規化された結果オブジェクトを返します。

このレイヤーでは、次の処理を行います。

  • 認証ヘッダー
  • タイムアウト
  • JSON の解析
  • ステータスの処理
  • 構造化されたエラー報告

設計目標

この MCP サーバーは、意図的に特定の方針に基づいて設計されています。

1. 小規模なツールセット

上流スキーマのすべてのエンドポイントではなく、役に立つツールのみを含めています。

2. モデルに使いやすいツール

各ツールは、小規模なモデルでも正しく呼び出しやすいように設計されています。

3. 読み取りを優先する動作

可能な場合、モデルは最初に状況を確認し、その後に操作するようにします。

4. リクエスト形式はバックエンド側で管理

モデルが生のエンドポイントパスやリクエストペイロードを構築する必要はありません。

5. より安全な操作

破壊的な操作や状態を変更するツールは、数を絞り、名前を明確にしています。


現在対応しているツール

エージェント

  • list_agents
  • get_agent
  • get_agent_history
  • get_agent_notes
  • create_agent_note
  • get_agent_tasks
  • create_agent_task
  • reboot_agent
  • shutdown_agent
  • wake_agent
  • run_agent_command
  • run_agent_script
  • get_agent_eventlog
  • list_agent_processes
  • get_agent_process
  • kill_agent_process

チェック

  • list_checks
  • get_check
  • list_agent_checks
  • run_checks
  • run_checks_for_agent
  • reset_check
  • reset_all_checks_for_agent

ソフトウェア

  • get_agent_software
  • uninstall_agent_software
  • list_choco_packages

Windows の更新プログラム

  • get_agent_winupdates
  • scan_agent_winupdates
  • install_agent_winupdates

サービス

  • list_agent_services
  • get_agent_service
  • control_agent_service

スクリプト

  • list_scripts
  • get_script
  • download_script
  • test_script_on_agent

レポート

  • list_report_history
  • run_report_history
  • list_report_schedules
  • get_report_schedule
  • run_report_schedule

アラート

  • get_alert
  • update_alert_status

自動化

  • get_automation_policies_overview
  • get_automation_policy
  • list_automation_policy_checks
  • list_automation_policy_tasks
  • run_automation_task
  • get_automation_task_status
  • get_automation_check_status

タスク

  • list_tasks
  • get_task
  • run_task

意図的に含めていないもの

このサーバーでは、上流スキーマのすべてのエンドポイントを公開することは意図していません。

次の種類のエンドポイントは、本当に必要な場合を除き、意図的に対象外としています。

  • すべてのオブジェクトタイプに対する汎用的な CRUD
  • 広範な管理用の変更エンドポイント
  • あいまいさの大きい更新エンドポイント
  • 生のパススルー API ツール
  • 大きなリクエストボディが必要な、設定項目の多いエンドポイント
  • 既存の明確なツールと重複しすぎるツール

これにより、モデルが圧倒されるのを防ぎ、ツール選択の誤りを減らします。


ツールの動作例

例 1:名前でエージェントを再起動する

モデルは次の操作を行います。

  1. list_agents を呼び出します
  2. 対象のエージェントを特定します
  3. reboot_agent(agent_id, mode="normal") を呼び出します
例 2:サービスの問題を調査する

モデルは次の操作を行います。

  1. エージェントを見つけます
  2. get_agent_service(...) または list_agent_services(...) を呼び出します
  3. 結果を確認します
  4. 要求された場合、または明らかに適切な場合にのみ、control_agent_service(...) を呼び出します
例 3:Windows の更新プログラムを確認する

モデルは次の操作を行います。

  1. get_agent_winupdates(agent_id) を呼び出します
  2. 結果を確認します
  3. 要求された場合にのみ、scan_agent_winupdates(...) または install_agent_winupdates(...) を呼び出します

サーバーの実行

Uvicorn で FastAPI アプリを起動します。

uvicorn server:app --host 0.0.0.0 --port 8000

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。