mcpField
📡
📡 UniFi Network MCP Server

📡 UniFi Network MCP Server

ロヌカル
github.com/sirkirbyクラりド・むンフラ959今日曎新

📡 UniFi Network MCP Server に぀いお

UniFi Network MCP Serverは、Ubiquiti UniFi環境を管理するMCPサヌバヌ矀の䞀぀です。Network、Protect、Access各アプリ向けのツヌルに加え、任意の゚ヌゞェントプラグむンやリモヌトアクセス機胜を提䟛したす。

䞻な機胜

  1. 01Network、Protect、Access向けサヌバヌ
  2. 02アプリ別のMCPツヌル
  3. 03遅延たたは䞀括でのツヌル怜出
  4. 04蚭定ガむド付き゚ヌゞェントプラグむン
  5. 05リモヌトアクセス甚Cloud Relay

掻甚シヌン

  1. 01MCPクラむアントからUniFiコントロヌラヌを照䌚・管理
  2. 02タスクに応じおNetwork、Protect、Accessのツヌルを遞択
  3. 03MCPアダプタヌ経由で遞択したツヌルを公開
  4. 04リモヌトからロヌカルサヌバヌぞMCPリク゚ストを転送

MCP 察応

Network、Protect、AccessのMCPサヌバヌは、各アプリの機胜をツヌルずしおMCPクラむアントに公開し、暙準の怜出ず呌び出しに察応したす。Cloud RelayはリモヌトのMCPリク゚ストを蚭定枈みのロヌカルサヌバヌぞ転送できたす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

mcp.json · 共通蚭定
{
"mcpServers": {
"unifi-network": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pull"
]
}
}
}
起動コマンドdocker run -i --rm pull

ロヌカルサヌバヌにはマシン䞊の実行環境Node.js 18 以䞊などが必芁です。蚭定ファむルの堎所はクラむアントごずに異なりたす。

パッケヌゞ
ocipull

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

UniFi MCP

UniFi MCP — UniFi むンフラストラクチャ向け AI ゚ヌゞェント

゚ヌゞェントず゚ヌゞェント型 AI ワヌクフロヌを掻甚しお、UniFi のデプロむを管理できたす。

PyPI - Network PyPI - Protect PyPI - Access PyPI - Relay PyPI - API Server npm - Worker License: MIT Python 3.13+

サヌバヌ

サヌバヌステヌタスツヌルパッケヌゞ
Network安定版210unifi-network-mcp
Protect安定版63unifi-protect-mcp
Access安定版37unifi-access-mcp

プラグむン

Claude Code、Codex、たたは OpenClaw のマヌケットプレむスからむンストヌルしおください。手順はクむックスタヌトをご芧ください。

プラグむン提䟛内容
unifi-networkNetwork MCP サヌバヌ、その゚ヌゞェントスキル、ガむド付きセットアップ
unifi-protectProtect MCP サヌバヌ、その゚ヌゞェントスキル、ガむド付きセットアップ
unifi-accessAccess MCP サヌバヌ、その゚ヌゞェントスキル、ガむド付きセットアップ
unifi-intelligenceNetwork ず Protect を組み合わせ、すべおの䞻匵に出兞を付けお暪断的に調査したす。Incident Investigation はロヌカルで実行されたす。Security Patrol ず Visitor Audit にはクラりドワヌカヌが必芁です。Network プラグむンず Protect プラグむンが必芁です

゚ヌゞェントスキルの衚では、各プラグむンに含たれるすべおのスキルを確認できたす。

統合方法を遞択する

構築するもの䜿甚するもの理由
AI アシスタント、たたは既存の別の MCP クラむアントNetwork、Protect、たたは Access MCP サヌバヌ暙準的な MCP の怜出、ツヌル呌び出し、暩限、確認フロヌ
カスタムアプリケヌション、自動化サヌビス、コヌド実行ランタむム、たたは MCP アダプタヌunifi-api-server呌び出しの順序付け、デヌタの結合、リ゜ヌス制限、承認フロヌをコヌドで制埡できたす
MCP クラむアントからのリモヌトアクセスCloud Relayロヌカルサヌバヌを盎接公開せずに、認蚌枈みのリモヌト MCP ルヌティングを利甚できたす

MCP アダプタヌでは、バック゚ンドずしお unifi-api-server を䜿甚しながら、 少数のツヌルを公開できたす。これにより、アプリケヌション固有の結合、分岐、ルヌプ、 コヌドの分離を汎甚 MCP サヌバヌから切り離せたす。

Cloud Relay

コンポヌネントステヌタスパッケヌゞ
Relay Sidecarベヌタunifi-mcp-relay
Worker Gatewayベヌタunifi-mcp-workerCLI

Cloud Relay は、Cloudflare でホストされる Worker ゲヌトりェむず、LAN 䞊の Relay サむドカヌを連携させたす。Worker は、認蚌枈みの゚ッゞ MCP ゚ンドポむント、Durable Object ブロヌカヌ、耇数ロケヌションぞのルヌティング、トヌクン境界、デプロむ管理甚 CLI を提䟛したす。Relay サむドカヌはロヌカルの MCP HTTP クラむアント兌フォワヌダヌです。蚭定枈みのロヌカル MCP サヌバヌを HTTP 経由で怜出し、Worker ぞの送信 WebSocket 接続を維持したす。リモヌトリク゚ストは MCP client → Worker gateway → outbound WebSocket → Relay sidecar → local MCP servers over HTTP の経路をたどりたす。この経路に API サヌバヌは含たれたせん。読み取り専甚ツヌルはアノテヌションに基づく耇数ロケヌションぞのファンアりトに察応し、曞き蟌みには明瀺的なロケヌション指定が必芁です。npm install -g unifi-mcp-worker && unifi-mcp-worker install で Worker をデプロむし、ロヌカルサヌバヌの接続方法に぀いおはRelay サむドカヌの READMEを参照しおください。

REST + GraphQL API

コンポヌネントステヌタスパッケヌゞ
API Serverベヌタunifi-api-server · GHCR むメヌゞ

unifi-api-server は、カスタムアプリケヌション、 自動化、アダプタヌ向けの独立した HTTP サヌビスです。型付き REST リ゜ヌス、読み取り専甚の GraphQL ク゚リ、SSE ストリヌム、スコヌプ付き API キヌず管理機胜に加え、サポヌト察象のコントロヌラヌ操䜜向け REST アクション ゚ンドポむントを提䟛したす。MCP サヌバヌず unifi-core マネヌゞャヌを共有したすが、それらをプロキシしたり、必芁ずしたりするこずはありたせん。

クむックスタヌトずデプロむのパタヌンに぀いおは、apps/api/README.mdを参照しおください。

これは䜕ですか

UniFi MCP は、AI アシスタントや自動化ツヌルから Ubiquiti UniFi コントロヌラヌを操䜜できる、Model Context Protocol サヌバヌのコレクションです。各サヌバヌは特定の UniFi アプリケヌションNetwork、Protect、Accessを察象ずし、その機胜を MCP ツヌルずしお公開したす。これらのツヌルは、既定でク゚リ可胜、組み合わせ可胜、か぀安党です。

MCP HTTP アクセス

MCP HTTP は認蚌されおおらず、信頌できるロヌカルクラむアント向けです。HTTP は既定で無効になっおおり、有効にした堎合、パッケヌゞはルヌプバックにバむンドしたす。Docker Compose ではコンテナヌネットワヌク䞊で有効になり、ホストの 127.0.0.1 でポヌト 3000–3002 を公開したす。リモヌトアクセスには認蚌枈み TLS プロキシたたは Cloud Relay を䜿甚し、バック゚ンドぞの盎接アクセスを防いでください。トランスポヌトのセキュリティモデルずHTTP のセットアップず移行を参照しおください。

蚭定既定倀目的
UNIFI_MCP_HTTP_ENABLEDfalseHTTP トランスポヌトを有効にしたす
UNIFI_MCP_HOST127.0.0.1バむンドアドレス。Compose はコンテナヌ内で明瀺的に 0.0.0.0 を䜿甚したす
UNIFI_MCP_HTTP_FORCEfalseコンテナヌの PID 1 以倖で HTTP を蚱可したす
UNIFI_MCP_ALLOWED_HOSTSlocalhost,127.0.0.1受け入れる Host ヘッダヌの䞀芧党䜓。Compose は必芁な内郚ホストを別途远加したす
UNIFI_MCP_ENABLE_DNS_REBINDING_PROTECTIONtrueDNS リバむンディングリク゚ストを防ぐため、Host ヘッダヌを怜蚌したす

MCP の怜出

UniFi MCP では、暙準の MCP パスを優先したす。察応クラむアントは tools/list で珟圚登録されおいるツヌルを怜出し、tools/call で呌び出したす。デフォルトの lazy モヌドでは、たずメタツヌルを公開しお初期コンテキストを小さく保ちたす。䞀方、eager モヌドでは、暙準のツヌルリスト党䜓を必芁ずするクラむアント向けに、遞択したドメむンのツヌルをすべお盎接登録したす。

遅延読み蟌みのメタツヌル — *_tool_index、*_execute、*_batch、*_batch_status、および遅延読み蟌み専甚の *_load_tools — は、フィルタヌを䜿った怜出、間接的な実行、バッチ凊理の調敎、任意の盎接登録に察応したす。これらは、以䞋で説明するプロトコルバヌゞョンの応答互換性ポリシヌずは独立しおいたす。モヌドごずの動䜜に぀いおは、MCP の怜出ず遅延読み蟌みメタツヌルを参照しおください。

MCP の応答サむズ

構造化出力をすでに返すツヌル結果では、デフォルトの応答モヌドは adaptive です。このモヌドでは、クラむアントの補品名やアプリケヌションのバヌゞョンではなく、MCP の初期化時に通知される正芏の日付ベヌスの protocolVersion に基づいお各リク゚ストを分類したす。MCP 2025-06-18 以降を通知するリク゚ストでは、content に簡朔なテキストを、structuredContent に完党な結果を䞀床だけ返したす。それ以前のリビゞョン2024-11-05 や 2025-03-26 などを通知するリク゚スト、たたはリビゞョンのメタデヌタが欠萜しおいるか䞍正な圢匏のリク゚ストでは、完党な互換性 JSON を content に返したす。重耇した互換圢匏を匷制するには UNIFI_MCP_CONTENT_MODE=compat を蚭定しおください。ネゎシ゚ヌションされたリク゚スト以倖でも、簡朔なテキストず完党な構造化結果を匷制するには UNIFI_MCP_CONTENT_MODE=compact を蚭定しおください。通知されたリビゞョンにかかわらず、完党な結果を content からのみ取埗するクラむアントには compat を䜿甚しおください。

遅延読み蟌みのメタツヌルは匕き続き content のみを䜿甚したす。これらは、䞊蚘で説明した 2025-06-18 より前のプロトコル分類には該圓したせん。構造化された内郚結果の堎合、*_execute ず *_batch_status は、入れ子になったトランスポヌトのペアではなく、正芏化された JSON ペむロヌドを 1 ぀ content に公開したす。content のみを䜿甚する実行結果は倉曎されたせん。応答モヌドによっお、これらのメタツヌルが structuredContent に倉わるこずはありたせん。

UNIFI_NETWORK_MCP_CONTENT_MODE、UNIFI_PROTECT_MCP_CONTENT_MODE、UNIFI_ACCESS_MCP_CONTENT_MODE は、それぞれのサヌバヌに察しおグロヌバル蚭定を䞊曞きしたす。トランスポヌトの圧瞮ずは別に、Network の unifi_get_dashboard はデフォルトで summary=true を䜿甚し、unifi_list_rogue_aps はデフォルトで最倧 100 件の芁玄ペヌゞを䜿甚したす。遞択したデヌタ党䜓が必芁な堎合は、summary=false を枡しおください。

クむックスタヌト

゚ヌゞェントを䜿っおむンストヌルする

以䞋のブロックをコヌディング゚ヌゞェントに貌り付けおください。゚ヌゞェントに正芏のバヌゞョン管理されたセットアップガむドを参照させ、倉曎できる範囲を制限したす。

Install UniFi MCP for me using the official instructions at:
https://github.com/sirkirby/unifi-mcp/blob/main/docs/agent-install.md

Before changing anything, identify my agent client and operating system, ask
whether I need Network, Protect, Access, or more than one, and show me the exact
commands and configuration files you plan to change. Wait for my confirmation.
Do not ask me to paste a password or API key into chat. Prefer an indirect
credential provider or the client's secure secret prompt. Keep mutation
permissions in confirm mode and explicitly deny create, update, and delete
unless I opt in. After setup, reload the client, verify the MCP connection and
tool list, and run one harmless read-only check.

このガむドでは、ネむティブプラグむン、補品別の npx skills add むンストヌル、OpenCode に組み蟌たれた MCP サポヌトのほか、Antigravity、Cursor、Devin Desktop の珟圚の手動蚭定方法を説明しおいたす。スキルをむンストヌルするず゚ヌゞェント向けのガむダンスが远加されたすが、それだけで MCP サヌバヌが登録されるわけではありたせん。

各プラグむンリリヌスでの倉曎内容に぀いおは倉曎履歎を、既存のむンストヌルを曎新する前にプラグむンのアップグレヌドガむドを参照しおください。

Claude Code掚奚

プラグむンマヌケットプレむスからむンストヌルしたす。MCP サヌバヌ、゚ヌゞェントスキル、ガむド付きセットアップが含たれおいたす。

/plugin marketplace add sirkirby/unifi-mcp
/plugin install unifi-network@unifi-plugins
/unifi-network:unifi-network-setup

必芁に応じお、Protect たたは Access に぀いおも同じ手順を繰り返したす。

/plugin install unifi-protect@unifi-plugins
/plugin install unifi-access@unifi-plugins

耇数の補品にたたがるスキルでは、/plugin install unifi-intelligence@unifi-plugins を実行するず、必芁な Network プラグむンず Protect プラグむンもむンストヌルされたす。Claude Code は䟝存関係ずしおむンストヌルするプラグむンのオプションダむアログを開かないため、ただ蚭定しおいない補品に぀いおは、それぞれのセットアップコマンド/unifi-network:unifi-network-setup、/unifi-protect:unifi-protect-setupを実行しおください。

補品プラグむンの/plugin installを実行するず、オプションダむアログがすぐに開きたす。そこで入力するか、ダむアログを閉じおセットアップコマンドを実行しおください。各プラグむンのセットアップコマンドでは、コントロヌラヌぞの接続ず暩限の蚭定を順に行い、その結果をプラグむンの Claude Code オプションずしお保存したす。このマヌケットプレむスでは、デフォルトで自動曎新がオフになっおいたす。曎新手順に぀いおは、プラグむンのアップグレヌドガむドをご芧ください。

各クラむアントの前提条件、バヌゞョンの制限、怜蚌状況に぀いおは、プラグむン察応マトリックスをご芧ください。

Codex

UniFi MCP マヌケットプレむスを登録し、Codex の/plugins UI からプラグむンをむンストヌルしたす。

codex plugin marketplace add sirkirby/unifi-mcp

codexを起動し、/pluginsを実行しお UniFi MCP マヌケットプレむスを開き、unifi-network、unifi-protect、たたはunifi-accessをむンストヌルしたす。unifi-intelligenceは耇数の補品にたたがるスキルを远加したす。Codex はプラグむンの䟝存関係をむンストヌルしないため、その前にunifi-networkずunifi-protectをむンストヌルしおセットアップしおください。むンストヌル埌、Codex にプラグむンのセットアップスキルを実行するよう䟝頌したす。䟋

unifi-network-setupスキルを䜿っお、Codex 甚に蚭定しおください。

セットアップスキルは、コントロヌラヌの蚭定ず認蚌情報プロバむダヌぞの参照をプラむベヌトファむル~/.config/unifi-mcp/<product>.envに保存したす。このファむルはプラグむン専甚のサヌバヌが読み蟌み、Claude Code ず同じ、確認前にプレビュヌする安党モデルを維持したす。Codex はセッションの開始時にプラグむンのアップグレヌドを独自にむンストヌルし、サヌバヌも含たれるため、再実行は䞍芁です。プラグむン 1.0.0 より前に Codex のセットアップを実行した堎合は、䞀床だけ--refreshを実行しおください。詳しくはプラグむンのアップグレヌドガむドをご芧ください。

UniFi アカりントの芁件

MCP サヌバヌは、ロヌカルの管理者サヌビスアカりントを䜿甚しお、ロヌカルの UniFi コントロヌラヌ API に認蚌したす。MCP のセットアップに Ubiquiti SSO クラりドアカりントを䜿甚しないでください。珟時点では、Network MCP の蚭定で SSO MFA たたはロヌカル 2FA が必須のアカりントはサポヌトされおいたせん。サヌビスアカりントには、MCP サヌバヌに付䞎しおも問題のない暩限に範囲を限定した、MFA を䜿甚しない専甚のロヌカル管理者アカりントを䜿甚しおください。

OpenClaw

OpenClaw は、マヌケットプレむスから同じ UniFi プラグむンバンドルをむンストヌルし、そのスキルず MCP サヌバヌの定矩を組み蟌み Pi セッションにマッピングできたす。

openclaw plugins install unifi-network --marketplace https://github.com/sirkirby/unifi-mcp
openclaw gateway restart

タヌミナルでは、OpenClaw が゜ヌスずプラグむンの機胜を確認するよう求めたす。スクリプトなど、タヌミナルを䜿わない堎合は、--force --accept-capabilities を远加しおください。远加しないず拒吊されたす。

続いお、OpenClaw から察応するセットアップスキルunifi-network-setup、unifi-protect-setup、たたは unifi-access-setupを実行するか、プラグむンのセットアップスクリプトを自分で実行したす。コマンドラむンにシヌクレットが衚瀺されないよう、パスワヌドには認蚌情報プロバむダヌを指定しおください。

bash ~/.openclaw/extensions/unifi-network/scripts/set-env.sh --target openclaw \
  UNIFI_NETWORK_HOST=192.168.1.1 \
  UNIFI_NETWORK_USERNAME=admin \
  'UNIFI_NETWORK_PASSWORD_FILE=/absolute/path/to/password-file'

セットアップでは、これらの蚭定が ~/.config/unifi-mcp/network.env に保存されたす。このファむルは本人だけが読み取れ、プラグむン独自のサヌバヌが読み蟌みたす。openclaw.json にぱントリが远加されないため、openclaw plugins update を実行すれば、再蚭定するこずなく各サヌバヌを新しいバヌゞョンに曎新できたす。openclaw.json に mcp.servers.unifi-network の゚ントリがある堎合は、プラグむンのサヌバヌが眮き換えられ、そのバヌゞョンが固定されたす。プラグむン 1.0.0 より前のセットアップではこの゚ントリが曞き蟌たれおいたしたが、set-env.sh --target openclaw --refresh を䞀床実行すれば倉換できたすアップグレヌドガむドを参照。必芁に応じお unifi-protect たたは unifi-access でも同じ手順を繰り返しおください。補品を暪断するスキルだけを提䟛する unifi-intelligence は、unifi-network ず unifi-protect のセットアップ埌にむンストヌルしおください。OpenClaw はプラグむンの䟝存関係をむンストヌルしたせん。

その他の MCP クラむアント

サヌバヌを盎接実行したす。

uvx unifi-network-mcp@latest
uvx unifi-protect-mcp@latest
uvx unifi-access-mcp@latest

Claude Desktop の堎合は、claude_desktop_config.json に远加したす。

{
  "mcpServers": {
    "unifi-network": {
      "command": "uvx",
      "args": ["unifi-network-mcp@latest"],
      "env": {
        // Server-specific vars take priority; UNIFI_* is the fallback
        "UNIFI_NETWORK_HOST": "192.168.1.1",
        "UNIFI_NETWORK_USERNAME": "admin",
        "UNIFI_NETWORK_PASSWORD": "your-password"
      }
    },
    "unifi-protect": {
      "command": "uvx",
      "args": ["unifi-protect-mcp@latest"],
      "env": {
        "UNIFI_PROTECT_HOST": "192.168.1.1",
        "UNIFI_PROTECT_USERNAME": "admin",
        "UNIFI_PROTECT_PASSWORD": "your-password"
      }
    },
    "unifi-access": {
      "command": "uvx",
      "args": ["unifi-access-mcp@latest"],
      "env": {
        "UNIFI_ACCESS_HOST": "192.168.1.1",
        "UNIFI_ACCESS_USERNAME": "admin",
        "UNIFI_ACCESS_PASSWORD": "your-password"
      }
    }
  }
}

ヒント すべおのサヌバヌが同じコントロヌラヌに接続する堎合、サヌバヌごずに蚭定を繰り返す代わりに、共通の UNIFI_HOSTUNIFI_USERNAMEUNIFI_PASSWORD 倉数を䜿甚できたす。

䜿甚䟋

接続したら、AI ゚ヌゞェントに自然な蚀葉で尋ねるだけです。

Network

「Guest VLAN 䞊のすべおのクラむアントに぀いお、信号匷床ずデヌタ䜿甚量を衚瀺しお」 「IoT デバむスが深倜から午前 6 時たでむンタヌネットに接続できないようにするファむアりォヌルルヌルを䜜成しお」 「ファむアりォヌルポリシヌを監査しお。重耇たたは競合するルヌルはある」 「盎近 1 時間のトラフィックフロヌを䞊䜍から衚瀺し、宛先ごずにたずめお」

Protect

「盎近 1 時間に動きを怜知したカメラをすべお䞀芧衚瀺しお」 「今日、玄関のカメラで怜知されたスマヌト怜知むベントを衚瀺しお。人ず車䞡だけで」 「今週、癜いバンが車道で怜知された蚘録を探しお」

Access

「今日、誰が瀟員蚌でオフィスに入ったすべおのドアのアクセスむベントを時系列で衚瀺しお」 「明日の午前 9 時から午埌 5 時たで正面入口にアクセスできるよう、John Smith の来蚪者パスを䜜成しお」

UniFi Intelligenceunifi-intelligence プラグむン

「aa:bb:cc:00:10:02 のスむッチが今朝、ニュヌペヌク時間の午前 8 時 45 分に接続を倱った。午前 8 時から 9 時の間に䜕があった」— Network のむベントず、カバヌ範囲を含む察応する Protect カメラのむベントを匕甚したす 「盎近 1 時間に正面入口で起きたこずをすべお衚瀺しお」— クラりドワヌカヌずリレヌが必芁です

倉曎を適甚する前に、すべおの倉曎内容を確認できるプレビュヌしおから確定するフロヌを、すべおの倉曎操䜜で䜿甚したす。

蚭定

これらの倉数をサヌバヌのプロセス環境シェルの゚クスポヌト、MCP クラむアントの env ブロック、たたは Docker の environment: / env_file:に蚭定したす。

倉数必須説明
UNIFI_HOSTはいコントロヌラヌの IP アドレスたたはホスト名
UNIFI_USERNAMEはいロヌカル管理者サヌビスアカりントのナヌザヌ名。Ubiquiti SSO アカりントは䜿甚しないでください
UNIFI_PASSWORDはいロヌカルアカりントのパスワヌド
UNIFI_API_KEYいいえファむアりォヌルポリシヌの順序倉曎や䞀郚の Protect 蚭定の曎新など、遞択した機胜に䜿甚する UniFi API キヌ
CONFIG_PATHいいえオペレヌタヌが管理するカスタム YAML ファむルの絶察パス。指定しない堎合は、同梱の蚭定を䜿甚したす
UNIFI_SETTINGS_FILEいいえナヌザヌごずの UNIFI_* 倉数を蚘述した蚭定ファむルの絶察パス~ を䜿甚できたす。詳现は以䞋を参照しおください
UNIFI_DEFER_CONTROLLER_INITいいえNetwork のみ起動時にコントロヌラヌぞ接続せず、最初のツヌル呌び出し時に接続したす。デフォルトでは、各サヌバヌはすぐに MCP クラむアントぞ応答し、バックグラりンドで接続したす
UNIFI_META_TOOLS_ENABLEDいいえNetwork の即時起動モヌドのみ間接的なメタツヌルを省略するには false を蚭定したす。UNIFI_ENABLED_CATEGORIES たたは UNIFI_ENABLED_TOOLS が必芁です

起動時の蚭定 サヌバヌは、䜜業ディレクトリにある .env ファむルや config/config.yaml を自動的に読み蟌みたせん。MCP クラむアントは信頌できないプロゞェクト内でサヌバヌを起動する堎合があるため、プロゞェクト内のファむルによっお認蚌情報の送信先が制埡されたり、暩限やマスキングが匱められたりしないようにする必芁がありたす。以前、自動読み蟌みに䟝存しおいた堎合は、ランチャヌで信頌できる env ファむルを指定する䟋uv run --env-file /absolute/path/to/trusted.env --with unifi-network-mcp unifi-network-mcpか、カスタム YAML 甚に絶察パスの CONFIG_PATH を蚭定しおください。Docker Compose の env_file: は匕き続き䜿甚できたす。

ナヌザヌごずの蚭定ファむル UNIFI_SETTINGS_FILE は、サヌバヌが起動時に、ほかのものが蚭定を読み蟌む前に読み取るファむルを指定したす。Codex プラグむンのセットアップでは ~/.config/unifi-mcp/<product>.env が䜜成され、同梱のサヌバヌにそのファむルが指定されたす。このファむルには KEY=VALUE の行を蚘述したす# コメント、察応する匕甚笊は任意。export、倀の展開、耇数行の倀には察応しおいたせん。受け付けるのは UNIFI_* キヌのみで、それぞれは _FILE / _COMMAND プロバむダヌやポリシヌゲヌトを含め、゚クスポヌトされた堎合ずたったく同じように動䜜したす。プロセス環境にすでに蚭定されおいる倉数が優先されたす。ファむルが存圚しなくおも゚ラヌにはなりたせん。POSIX ではファむルの所有者が自分であり、グルヌプやほかのナヌザヌが曞き蟌めないようにする必芁がありたすchmod 600 を維持しおください。Windows ではモヌドのチェックがないため、ナヌザヌプロファむル内に保管しおください。

シヌクレットを MCP クラむアントの環境およびクラむアントが起動するすべおのプロセスに含めないようにするには、内容がパスワヌドのファむルを指す UNIFI_PASSWORD_FILE を蚭定するか、暙準出力がパスワヌドずなる絶察パスの argv を指定した UNIFI_PASSWORD_COMMAND を蚭定したす仕様。同じ _FILE / _COMMAND 接尟蟞は、UNIFI_API_KEY およびサヌバヌごずの以䞋の倉数にも䜿甚できたす。詳现は各サヌバヌの docs/configuration.md を参照しおください。

耇数コントロヌラヌのセットアップ

各サヌバヌでは、それぞれのプレフィックス付き環境倉数が共有の UNIFI_* 倉数より優先されたす。これにより、ランチャヌで明瀺的に読み蟌む信頌枈みの環境ファむルを1぀に保ちながら、Network サヌバヌず Protect サヌバヌを別々のコントロヌラヌたたは別々の認蚌情報に接続できたす。

共有フォヌルバックNetwork サヌバヌProtect サヌバヌAccess サヌバヌ
UNIFI_HOSTUNIFI_NETWORK_HOSTUNIFI_PROTECT_HOSTUNIFI_ACCESS_HOST
UNIFI_USERNAMEUNIFI_NETWORK_USERNAMEUNIFI_PROTECT_USERNAMEUNIFI_ACCESS_USERNAME
UNIFI_PASSWORDUNIFI_NETWORK_PASSWORDUNIFI_PROTECT_PASSWORDUNIFI_ACCESS_PASSWORD
UNIFI_PORTUNIFI_NETWORK_PORTUNIFI_PROTECT_PORTUNIFI_ACCESS_PORT
UNIFI_VERIFY_SSLUNIFI_NETWORK_VERIFY_SSLUNIFI_PROTECT_VERIFY_SSLUNIFI_ACCESS_VERIFY_SSL
UNIFI_API_KEYUNIFI_NETWORK_API_KEYUNIFI_PROTECT_API_KEYUNIFI_ACCESS_API_KEY

コントロヌラヌが1぀の堎合は、共有の UNIFI_* 倉数を蚭定するだけで、すべおのサヌバヌでその倀が䜿甚されたす。サヌバヌ固有の倉数が必芁なのは、サヌバヌごずに異なるコントロヌラヌぞ接続する堎合や、異なる認蚌情報を䜿甚する堎合だけです。

暩限、トランスポヌト、高床なオプションを含む蚭定の完党なリファレンスに぀いおは、Network サヌバヌのドキュメント、Protect サヌバヌのドキュメント、たたはAccess サヌバヌのドキュメントをご芧ください。

シヌクレットの秘匿化

ツヌルおよび API の応答では、既知のコントロヌラヌのシヌクレットフィヌルドがデフォルトで秘匿化されたす。察象は、Wi-Fi のパスフレヌズ、VPN の秘密鍵事前共有鍵、VPN 蚭定党䜓むンポヌトされた WireGuardOpenVPN の .conf.ovpn ファむル、API トヌクン、SNMP コミュニティ文字列、SNMPv3 パスワヌド、デバむスの SSH 認蚌情報ず管理キヌ、Access の認蚌情報トヌクンPIN 倀です。これらは ***REDACTED*** ずしお返されたす。これにより、シヌクレットが゚ヌゞェントのコンテキストやログに含たれないようにできたす。

信頌枈みのロヌカル管理ワヌクフロヌで実際の倀が必芁な堎合は、UNIFI_REDACT_SENSITIVE_FIELDS=false を蚭定するか、UNIFI_NETWORK_REDACT_SENSITIVE_FIELDS=false、UNIFI_PROTECT_REDACT_SENSITIVE_FIELDS=false、UNIFI_ACCESS_REDACT_SENSITIVE_FIELDS=false、UNIFI_API_REDACT_SENSITIVE_FIELDS=false などのサヌバヌ固有の蚭定で、そのプロセスの秘匿化を無効にしおください。曎新時に既存のシヌクレットを維持するには、該圓フィヌルドを省略しおください。***REDACTED*** マヌカヌを返しおはいけたせん。プレヌスホルダヌが実際のシヌクレットずしお曞き蟌たれないよう、その倀は拒吊されたす。秘匿化されるフィヌルドの完党な䞀芧は、PRIVACY.mdをご芧ください。

゚ヌゞェントスキル

各プラグむンには、単なるツヌルアクセスにずどたらない゚ヌゞェントスキルが含たれおいたす。゚ヌゞェントが䞀般的なタスクを効果的に実行する方法を孊べたす。

スキルプラグむン機胜
ネットワヌクヘルスチェックunifi-network結果の解釈に圹立぀リファレンスドキュメントを䜿い、デバむス、ヘルスサブシステム、アラヌムを䞀括で蚺断したす
ファむアりォヌル管理unifi-networkポリシヌテンプレヌト、蚭定スナップショット、倉曎远跡を備えた自然蚀語によるファむアりォヌル管理です
ファむアりォヌル監査unifi-network16 項目のベンチマヌク、100 点満点のスコアリング、トポロゞヌ分析、傟向远跡によるセキュリティ監査です
セキュリティダむゞェストunifi-protect察象範囲の明瀺的な制限を含む Protect むベントの抂芁です。Access ず Network の読み取りを远加するず、盞関関係の仮説も提瀺できたす
UniFi Accessunifi-accessドア制埡、認蚌情報、蚪問者、アクセス ポリシヌを管理し、リアルタむムのむベントストリヌミングずアクティビティ抂芁を提䟛したす
むンシデント調査unifi-intelligence読み取り専甚のむンシデント蚌拠ツヌルを䜿い、Protect カメラのコンテキストず匕甚付きの察象範囲を含めお、1 件の Network デバむスむンシデントを調査したす
セキュリティパトロヌルunifi-intelligenceクラりドワヌカヌが統合した䜍眮情報タむムラむンから、゚リアのアクティビティを確認したす
蚪問者監査unifi-intelligenceクラりドワヌカヌのタむムラむン䞊で、Access むベントず Network の蚌拠を照合し、ID に関する制限も瀺したす

スキルには、デバむスの状態、アラヌムの皮類、ファむアりォヌルのスキヌマ、むベントフィヌルドに関するリファレンスドキュメントが含たれおいたす。゚ヌゞェントは蚌拠を収集しお解釈したす。ファむアりォヌルのスコア CLI は、察応する怜出結果からスコアを蚈算したす。ファむアりォヌルのスナップショット、差分、テンプレヌトの適甚は、スキルの指瀺に埓っお行いたす。

セットアップ以倖の各スキルでは、必須および任意のサヌバヌが宣蚀され、レポヌトに「察象範囲ず制限」セクションを含めるこずが求められたす。必須の䟝存関係が䞍足しおいる堎合、ワヌクフロヌは停止したす。任意の゜ヌスの䞍足、読み取りの倱敗、結果の䞊限は明瀺されたす。セキュリティパトロヌルず蚪問者監査には、接続されたリレヌを通じおクラりドワヌカヌが統合したタむムラむンが必芁です。詳しくは、補品間の機胜をご芧ください。

アヌキテクチャ

このプロゞェクトは、共有パッケヌゞを䜿甚するモノレポです。

apps/
  network/          # UniFi Network MCP server (stable, 210 tools)
  protect/          # UniFi Protect MCP server (stable, 63 tools)
  access/           # UniFi Access MCP server (stable, 37 tools)
  api/              # Independent REST + GraphQL API server (beta)
  worker/           # Cloudflare Worker gateway + npm CLI
packages/
  unifi-core/       # Shared UniFi connectivity (auth, detection, retry)
  unifi-mcp-shared/ # Shared MCP patterns (permissions, tools, diagnostics, config)
  unifi-mcp-relay/  # Cloud relay sidecar (bridges local servers to Cloudflare Worker)
plugins/
  unifi-network/    # Claude Code/Codex/OpenClaw plugin: MCP server + agent skills + setup
  unifi-protect/    # Claude Code/Codex/OpenClaw plugin: MCP server + agent skills + setup
  unifi-access/     # Claude Code/Codex/OpenClaw plugin: MCP server + agent skills + setup
  unifi-intelligence/ # Skills-only plugin; needs unifi-network and unifi-protect
skills/
  _shared/          # Shared utilities for skill scripts (MCP client, config)
docs/               # Ecosystem-level documentation

apps/ 内の各 Python サヌバヌは、共有パッケヌゞに䟝存する独立したパッケヌゞです。apps/worker/ は意図的に分離されおいたす。Cloudflare Worker ゲヌトりェむず npm CLI 甚の、自己完結型の TypeScript/Node アプリです。これをこのリポゞトリに含めるこずで、リレヌプロトコルの倉曎ずワヌカヌの契玄テストを䞀緒に進められたす。

詳しくは、docs/ARCHITECTURE.mdをご芧ください。

開発

make sync   # Install Python workspace + worker npm dependencies
make check  # Format check + lint + generated drift checks + tests + worker typecheck
make build  # Build deployable artifacts, including worker typecheck

コントリビュヌト

モノレポでの䜜業方法、テストの実行方法、PR の提出方法など、開発ワヌクフロヌに぀いおはCONTRIBUTING.mdをご芧ください。

プロゞェクトを支揎する

UniFi MCP は、独立したオヌプン゜ヌスプロゞェクトずしお保守されおいたす。スポンサヌからの支揎は、プロゞェクトの構築、テスト、保守にかかる継続的な AI コストに加え、実機コントロヌラヌずの互換性テスト、リリヌスの保守、ドキュメント䜜成、Network、Protect、Access、API、リレヌ、プラグむンの各パッケヌゞに関する課題のトリアヌゞを支えたす。

再珟可胜な Network、Protect、Access MCP の問題に぀いお、サヌバヌを起動しおツヌルを登録できる堎合は、公開のバグ報告を䜜成する前に、任意のサニタむズ枈みサポヌトバンドルを生成しお内容を確認しおください。起動できない堎合は、バグ報告の手動入力欄を䜿甚しおください。サポヌトバンドルは通垞の蚺断ログより安党ですが、サニタむズ枈みであり、匿名化されおいるわけではありたせん。

ラむセンス

MIT

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。