mcpField
L
lancontrol

lancontrol

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

lancontrol について

lancontrolは、UniFi Networkコントローラーの状態を取得するコマンドラインツール兼stdio MCPサーバーです。ネットワーク運用担当者向けに、クライアント、デバイス、WLAN、サイトの健全性、アラーム、イベント、システム情報、認証済みIDを調べる機能を絞って提供します。

主な機能

  1. 01接続中のクライアントとネットワークデバイスの取得
  2. 02WLAN設定とサイトの健全性の確認
  3. 03アラームと最近のイベントの取得
  4. 04コントローラーのシステム情報とIDの取得
  5. 05同じバイナリでコマンドラインとMCPサーバーを実行

活用シーン

  1. 01接続中のクライアントとアクセスポイントの確認
  2. 02サイトの健全性とアクティブなアラームの確認
  3. 03最近のコントローラーイベントの検索
  4. 04UniFiコントローラーのIDとシステム詳細の取得

MCP 対応

操作を指定する単一の `unifi` ツールで、8種類のコントローラー照会とローカルヘルプを提供します。stdio MCPサーバーは環境変数から `UNIFI_URL` と `UNIFI_API_KEY` を読み込みます。

設定

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

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

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

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

ツール

1

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

パラメーター型必須説明
limitintegerいいえ返すイベントの最大数を正の整数で指定します。events アクションでのみサポートされます。
actionenumはい実行するアクション:clients、devices、wlans、health、alarms、events、sysinfo、me、help。clients | devices | wlans | health | alarms | events | sysinfo | me | help

詳細

lancontrol

lancontrol は、単一のアクションルーターツールを通じて UniFi Network コントローラーの状態を取得します。接続中のクライアント、ネットワークデバイス、WLAN 設定、サイトのヘルス状態、アクティブなアラーム、最近のイベント、コントローラーのシステム情報、認証済みの ID が対象です。1 つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーを提供します。

これはラベル付きのコアサブセットです。アップストリームの機能全体では、合計 267 個のアクションが定義されています。lancontrol が実装するのは、保持されている 8 個の便利なアクションと help のみです(アクション値は 9 個)。生成されたアクション群は、意図的に名前を挙げて省略しています。official_*(78 アクション)、unifi_*(175 アクション)、および 5 個のハイブリッドエイリアス(list_clients、list_devices、list_networks、list_wifi、get_system_info)です。

設定

help 以外のすべてのアクションでは、両方の変数が必須です。値が不足している場合、リクエストを行う前にエラーになります。

変数必須用途
UNIFI_URLはいコントローラーのベース URL。例:https://unifi.local。
UNIFI_API_KEYはいAPI キー。X-API-KEY ヘッダーで送信されます。
UNIFI_SITEいいえUniFi のサイト名。既定値は default です。

API キーをツールの引数として渡さないでください。環境変数からのみ読み取られます。

インストール

npx @reneturcios/lancontrol help

または、コンテナーイメージを実行します。

docker run -i ghcr.io/cloudcorprecords/lancontrol

コンテナーは既定で MCP サーバーとして起動します(下記を参照)。CLI として使用するには、CLI 引数を渡してください。

CLI

lancontrol clients
lancontrol devices
lancontrol wlans
lancontrol health
lancontrol alarms
lancontrol events --limit 25
lancontrol sysinfo
lancontrol me
lancontrol help

lancontrol --version

アクションコマンドは、アップストリームの JSON ペイロードを出力します。help はローカルのアクションドキュメントを出力し、設定もネットワーク接続も必要ありません。終了コード:成功時は 0、呼び出し失敗時(設定不足やアップストリーム API エラーを含む)は 1、使用法エラー時は 2 です。

MCP サーバー

1 つのバイナリで両方のインターフェースを提供します。mcp サブコマンドは stdio MCP サーバーを起動します。

npx -y @reneturcios/lancontrol mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "lancontrol": {
      "command": "npx",
      "args": ["-y", "@reneturcios/lancontrol", "mcp"],
      "env": {
        "UNIFI_URL": "https://unifi.local",
        "UNIFI_API_KEY": "...",
        "UNIFI_SITE": "default"
      }
    }
  }
}
ツール

公開されているツールは 1 つです。

ツール入力戻り値
unifiaction(必須、9 個のサブセット値のいずれか)、limit(省略可能な整数、events のみ)選択したアクションのアップストリームペイロード、または help のローカルドキュメント。
アクション説明
clients接続中の無線および有線クライアント。
devicesネットワークデバイス:AP、スイッチ、ゲートウェイ。
wlansWiFi ネットワークの設定。
healthサイトのヘルス状態の概要。
alarmsアクティブなアラームと警告。
events最近のコントローラーイベント。
sysinfoコントローラーのシステム情報。
me認証済みの UniFi ID。
help組み込みのアクションドキュメント。

アップストリームのマッピング(ドキュメントに基づく再構成)

公開仕様ではアクション名が示されていますが、便利なアクションの表には、それぞれに対応するコントローラーパスが正確には記載されていません。そのため、各アクションは UNIFI_URL の下にある、妥当と考えられる文書化済みの UniFi 内部エンドポイントに対する GET として実装されています。X-API-KEY ヘッダーを使用します。

アクションエンドポイント
clientsGET /proxy/network/api/s/{site}/stat/sta
devicesGET /proxy/network/api/s/{site}/stat/device
wlansGET /proxy/network/api/s/{site}/rest/wlanconf
healthGET /proxy/network/api/s/{site}/stat/health
alarmsGET /proxy/network/api/s/{site}/stat/alarm
eventsGET /proxy/network/api/s/{site}/stat/event(limit が指定された場合は ?_limit={limit} を追加)
sysinfoGET /proxy/network/api/s/{site}/stat/sysinfo
meGET /proxy/network/api/self
helpリクエストなし — ローカルで応答

HTTP エラーが発生すると、ステータスと、存在する場合はアップストリームのメッセージ(meta.msg、message、または error)が表示されます。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

ライセンス

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

コメント

MCP は初めてですか?

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

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