mcpField
F
fleetwatch

fleetwatch

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

fleetwatch について

fleetwatch は、Windows と Linux のエンドポイントエージェントを監視する組織向けの、ET Ducky のホスト型 MCP サーバーへの読み取り専用ローカルブリッジです。フリートデータを保存したり独自のチェックを実行したりせず、上流へのツール呼び出しを転送します。

主な機能

  1. 01ホスト名によるエージェントの一覧・絞り込み
  2. 02エージェントの最新ヘルスサンプルの確認
  3. 03ステータスや重大度別のアラート一覧
  4. 04オンライン端末とアラートの概要
  5. 05CLI からのツール呼び出し

活用シーン

  1. 01オンラインのエンドポイントエージェントの確認
  2. 02端末の状態とアクティブなアラートの確認
  3. 03OS やタグによる端末の絞り込み

MCP 対応

MCP サーバーとして上流のツールをクライアントに公開し、呼び出しを ET Ducky のホスト型 MCP サーバーへ転送します。ツールは読み取り専用です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-fleetwatch": {
"command": "npx",
"args": [
"-y",
"@reneturcios/fleetwatch"
]
}
}
}
起動コマンドnpx -y @reneturcios/fleetwatch

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/fleetwatch0.1.0
ocighcr.io/cloudcorprecords/fleetwatch:0.1.0

ツール

4

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
osenumいいえこの OS ファミリーのエージェントのみ。windows | linux | other
tagstringいいえこのタグ名と完全に一致するタグを持つエージェントのみ。
limitintegerいいえ返す行数の上限です。デフォルトは100です。
onlinebooleanいいえ過去5分以内にハートビートがあったエージェントは true、それ以外は false です。
searchstringいいえホスト名の大文字と小文字を区別しない部分一致文字列。

詳細

fleetwatch

fleetwatch は、ET Ducky のホスト型 MCP サーバーへの小規模なローカルブリッジです。このサーバーは、組織のエンドポイントエージェント(ET Ducky エージェントを実行している Windows および Linux マシン)を監視し、オンライン状況、各マシンの健全性、未解決のアラートを報告します。

このブリッジはフリートデータを保持せず、独自のチェックも実行しません。稼働中のエンドポイントから取得した内容をそのまま、上流サーバーのツール一覧としてローカルに提供し、各ツール呼び出しを上流に転送して、結果を変更せずに返します。取得したインターフェイスはすべて読み取り専用です。この再構築によって書き込み機能が追加されることはありません。

ツール

  • list_agents — 組織のエージェントを列挙します。OS、エージェントのバージョン、オンライン状況、最終ハートビート、最後にサインインしたユーザー、隔離状況、タグを含み、ホスト名順に並べます。すべての引数はフィルターです。search(ホスト名の大文字と小文字を区別しない部分一致)、os(windows、linux、other)、online(過去 5 分以内にハートビートがあるエージェントは true)、tag(完全一致するタグ名 1 つ)、limit(1~500、デフォルトは 100)を指定できます。
  • get_agent — 1 台のエージェントの詳細を取得します。最新の健全性サンプル(CPU、メモリ、C: の空き容量、稼働時間、保留中の再起動、メーカー、モデル)と、アクティブなアラートの件数を含みます。必須:agent_id。これは list_agents で取得した ID です。
  • list_alerts — 組織のエージェントに発生したアラートを新しい順に一覧表示します。省略可能:status(active、acknowledged、resolved、auto_resolved、suppressed、any のいずれか。デフォルトは active)、severity(例:critical または warning)、1 台のマシンに絞り込む agent_id、since_hours(1~720、デフォルトは 168、つまり 7 日間)、limit(1~500、デフォルトは 100)。
  • get_fleet_summary — 組織の概要を取得します。エージェント数、オンラインとオフラインの内訳、Windows/Linux/その他の OS 別の内訳、隔離されたエージェント、重大度別のアクティブなアラートを確認できます。引数はありません。

設定

  • ETDUCKY_MCP_URL(省略可能)— 上流エンドポイントを上書きします。デフォルトは https://etducky.com/api/mcp です。(この上書き用フックは、この再構築で独自に追加したものであると明示されています。)
  • ETDUCKY_API_KEY(省略可能)— 設定すると、すべての上流リクエストに Authorization: Bearer <key> ヘッダーが付与されます。設定しない場合、認証ヘッダーは送信されません。(この転送機能も、この再構築で独自に追加したものであると明示されています。元のインターフェイスはキーなしで取得されました。)
転送の仕組み

最初のツール呼び出し時に、クライアントは上流サーバーとのストリーム可能な HTTP セッションを開きます。まず JSON-RPC の initialize リクエスト(protocolVersion は 2025-03-26、clientInfo の name は fleetwatch)を送り、続いて notifications/initialized 通知を送信し、その後、呼び出し元の引数を変更せずに含めた tools/call リクエストを送信します。上流サーバーが initialize に Mcp-Session-Id ヘッダーを付けて応答した場合、その値はセッションの後続リクエストすべてに含まれ、プロセスの実行中は同じセッションが再利用されます。応答は通常の JSON または Server-Sent Events で届く場合があり、どちらも読み取ります。

上流サーバーからの成功結果は、上流が設定した isError フラグも含め、そのまま渡されます。JSON-RPC エラー、2xx 以外のステータス、読み取り不能な応答、完了できないリクエストなどの失敗は、テキストが fleetwatch error: で始まる isError 結果として返されます。(このエラー表示は、この再構築で独自に追加したものであると明示されています。)

CLI

各ツールはサブコマンドとしても実行でき、1 つの JSON 引数文字列を受け取ります(引数を必要としないツールでは省略します)。

npx @reneturcios/fleetwatch list_agents '{"os":"windows","online":true}'
npx @reneturcios/fleetwatch get_agent '{"agent_id":"agent-42"}'
npx @reneturcios/fleetwatch get_fleet_summary
npx @reneturcios/fleetwatch --version

終了コード:成功時は 0、isError 結果の場合は 1、使用方法のエラーの場合は 2 です。

MCP サーバー

npx -y @reneturcios/fleetwatch mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "fleetwatch": {
      "command": "npx",
      "args": ["-y", "@reneturcios/fleetwatch", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/fleetwatch
docker run --rm ghcr.io/cloudcorprecords/fleetwatch --version

コンテナのデフォルトコマンドは mcp なので、最初の形式では stdio MCP サーバーとして動作します。それ以外の引数は通常どおり CLI に渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートはすべて、スタブ化された JSON-RPC 上流サーバーに対して実行されます。稼働中のネットワークへの呼び出しはありません。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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