UniFi MCP について
UniFi MCPは、UniFi Networkを管理するMSP運用者向けの非公式MCPサーバーとCLIです。API操作に加え、ローカルSQLiteミラーとスナップショットを保存し、過去との設定差分確認、トポロジー表示、ルール予測に対応します。
主な機能
- 01UniFi Network APIの操作
- 02ローカルSQLiteミラーとスナップショット
- 03設定ドリフトと新規デバイスの検出
- 04トポロジーとゲストネットワークのレポート
- 05ファイアウォールルールの予測
活用シーン
- 01サイト設定を以前のスナップショットと比較
- 02初めて確認されたデバイスやクライアントの特定
- 03デバイスの接続関係とゲストの利用状況の確認
- 04ポート余力の確認やファイアウォールの適用ルール予測
MCP 対応
`unifi-network-mcp`を通じて、MCPクライアントにUniFi Networkの操作を提供します。READMEはデフォルトのstdioトランスポートを推奨し、このビルドでのHTTPモードを避けるよう警告しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
UniFi + AI - ChatGPT、Claude、GitHub Copilot、Microsoft 365 Copilot、Gemini、および MCP に対応するあらゆるエージェント向け
非公式です。UniFi API 向けにコミュニティが開発した Claude Code Skill と MCP サーバーです。Ubiquiti Inc. とは提携関係になく、同社の承認や支援も受けていません。
スキルの全ページ - インストール、利用による成果、安全モデル。
UniFi Network API のすべての操作に加え、他の UniFi ツールにはないドリフト検出、トポロジー、ルール予測にも対応しています。すでにお使いの AI で動作します。ChatGPT(Plus/Pro+。このコネクターが再公開されるまで一時停止中です。mcp-install.md を参照)、Claude Desktop、Codex、Claude Code、Claude Cowork、GitHub Copilot に加え、リモート経由で Microsoft 365 Copilot / Copilot Studio と Google Gemini にも対応しています。無料のオープンソースで、ノートパソコン上で実行できます。MSP のオーナー向けに構築されており、コードは不要です。
エージェントでの利用
セキュリティに関する注意(このコネクターが再公開されるまで)。 HTTP モード (
--transport http)は、localhost 上であっても実行しないでください。このビルドにはパスワードがなく、 すべてのネットワークインターフェースでリッスンし、ブラウザーのリバインディング対策も実装される前のものです。 そのため、開いたウェブページからこのサーバーに接続できます。MCP ツールは、お客様の認証情報を使って 変更を加えることもできます。デフォルトの stdio トランスポートを使用してください。リモートエージェント用に トンネルを設定した場合は、停止してください。修正を進めています。
MSP のオーナーが実際に使っている6つのエージェント(セルフサービスで、現在利用可能):
| お使いの AI エージェント | UniFi スキルのインストール方法 |
|---|---|
| Claude Desktop | インストーラーを実行し、Settings > Extensions から unifi-network-mcp を登録します(JSON の編集は不要です)。 |
| ChatGPT(有料プラン) | このコネクターが再公開されるまで一時停止中です。ChatGPT には HTTP モードが必要ですが、このビルドではパスワードが求められず、すべてのネットワークインターフェースでリッスンし、開いたウェブページから接続できるためです。mcp-install.md のセキュリティに関する注意を参照してください。 |
| Codex CLI | 以下のインストール用プロンプトを貼り付けます。 |
| Claude Code | 以下のインストール用プロンプトを貼り付けます。 |
| Claude Cowork | 以下のインストール用プロンプトを貼り付けます。 |
| GitHub Copilot(VS Code) | インストーラーを実行し、servers キーの下にある mcp.json に unifi-network-mcp を追加してから、Agent モードを選択します。 |
ChatGPT にはリモート HTTPS サーバーが必要です。つまり、このコネクターの HTTP モードが必要ですが、コネクターが再公開されるまで一時停止中です。このビルドでは HTTP モードでパスワードが求められず、すべてのネットワークインターフェースでリッスンし、開いたウェブページから接続できるためです。mcp-install.md のセキュリティに関する注意を参照してください。
Microsoft と Google のスタックにも対応
導入先が多い一方で、正直にお伝えしておくと、これらはリモート/エンタープライズ向けの方法であり、今インストールしたローカルバイナリを使う方法ではありません。
| エージェント | 必要なもの |
|---|---|
| Microsoft 365 Copilot / Copilot Studio | このコネクターを再リリースするまで一時停止しています。Copilot Studio には HTTP モードが必要ですが、このビルドでは、そのモードはパスワードなしで、すべてのネットワークインターフェースで待ち受け、開いた Web ページからアクセスできる状態になります。mcp-install.md のセキュリティに関する注意をご覧ください。 |
| Google Gemini | Gemini CLI はローカルで、Claude Code と同じです。Gemini アプリはリモートで、ChatGPT と同じ一時停止中の HTTP モードが必要です。mcp-install.md をご覧ください。 |
スキルネイティブのエージェント(こちらも対応): Hermes と OpenClaw は、このスキルの
SKILL.mdを直接読み取り、MCP にも対応しています。インストール方法は以下をご覧ください。MCP を介して Cursor、Windsurf、Cline、Continue.dev、Zed でも動作します。各ツールの完全な接続方法については、docs/which-agent.md をご覧ください。
複数のエージェントを使っていますか? コマンドを 1 つ実行するだけで、51 以上の対応エージェントすべてにインストールできます:
npx skills add Servosity/msp-skills@latest(Node.js が必要です。その後、CLI/MCP バイナリ用のスキル別インストーラーを実行してください)。docs/which-agent.md をご覧ください。
60 秒でインストール
Claude Desktop で最速の方法 - ワンクリックの .mcpb
Claude Desktop バンドル:
.mcpbは macOS(Intel および Apple Silicon)、Windows x64、Linux x64 で起動します。すべてのツールは付属のunifi-network-cliを呼び出します。2026-09-18 以降のリリースでは、この CLI がバンドルに含まれています。それ以前のバンドルには MCP サーバーのみが含まれているため、バンドルに付属の実行ファイルがない場合は、先に以下の Path A または Path B のインストーラーを実行してください(または、既存のバイナリをUNIFI_CLI_PATHに設定してください)。詳細:#331。
UniFi MCP(.mcpb)をダウンロード - 次に Claude Desktop > Settings > Extensions を開いてファイルを選択します。ワンクリックで完了し、JSON もシェルも不要です。(リリースページで UniFi の全リリースを確認できます。)
Claude Code プラグインを使いますか?マーケットプレイスを一度追加してからインストールすれば、ディレクトリの一覧表示は不要です。すぐに使えます:
/plugin marketplace add Servosity/msp-skills
/plugin install unifi-network@msp-skills
Path A - AI エージェントにプロンプトを 1 つ貼り付ける(推奨)
これを Claude Code、Codex CLI、または Claude Cowork にコピーしてください:
このエージェントのワークスペースに、Servosity/msp-skills から UniFi Skill と MCP サーバーをインストールしてください。このワークスペースで POSIX シェル(macOS、Linux、WSL、または Bash)を使用している場合は、
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/unifi-network/install.sh)を実行してください。Windows PowerShell を使用している場合は、iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/unifi-network/install.ps1 | iexを実行してください。その後、README に従って認証し、unifi-network-cli --helpを実行して使い方を確認してください。
シェルを実行できるエージェントなら、同じプロンプトを使えます。
Path B - インストーラーを自分で実行する
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/unifi-network/install.ps1 | iex
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/unifi-network/install.sh)
インストーラーは unifi-network-cli(CLI)と unifi-network-mcp(MCP サーバー)の両方を、ユーザーの bin パスに配置します。Claude Code、Codex、Cowork は、このディレクトリ内の SKILL.md を介して Skill を検出します。
確認:
unifi-network-cli --version
最新バージョンにアップグレードする
インストーラーは常に最新リリースを取得します。アップグレードするには、再度実行してください:
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/unifi-network/install.sh)
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/unifi-network/install.ps1 | iex
Claude Desktop の .mcpb ユーザー:最新の .mcpb(このセクションの冒頭)をダウンロードし、Settings > Extensions で再度選択してください。Claude Code プラグインのユーザー:/plugin update unifi-network@msp-skills を実行してください。
Claude Desktop、GitHub Copilot、Gemini CLI、Microsoft 365 Copilot、またはその他の MCP クライアントに追加する
インストーラーの実行後、各エージェントへの接続方法については mcp-install.md と docs/which-agent.md をご覧ください。エージェントごとに1つのセクションがあり、GitHub Copilot の servers キーや、リモートの Microsoft 365 Copilot/Copilot Studio への接続方法も記載されています。Claude Desktop では、Settings > Extensions パネルを使うのが最も簡単です。JSON を直接編集する場合の MCP 設定ブロックは、mcp-install.md に記載されています。
Hermes にインストールする
Hermes CLI から実行します。
hermes skills install servosity/msp-skills/skills/unifi-network --force
Hermes のチャットセッション内で実行します。
/skills install servosity/msp-skills/skills/unifi-network --force
Hermes はMCP をネイティブにサポートしているため、unifi-network-mcp サーバーも直接使用できます。インストール方法も環境変数も同じです。
OpenClaw にインストールする
OpenClaw エージェントに次の内容を伝えます(コピーして使用してください)。
https://github.com/servosity/msp-skills/tree/main/skills/unifi-network から unifi-network スキルをインストールしてください。このスキルでは、必須の CLI(
unifi-network-cli)をopenclaw:フロントマターのブロックからインストールする方法を定義しています。
OpenClaw はまだ一般公開されていません。フロントマターの接続設定はあらかじめ組み込まれており、OpenClaw の公開と同時に有効になります。
認証する
UniFi ポータルから取得した、CLI に必要な認証情報を設定します。
UNIFI_API_KEY=<value> UNIFI_GATEWAY_HOST=<value> unifi-network-cli doctor
doctor は設定、パス、ゲートウェイへの到達可能性を確認し、認証済みの読み取りを1回実行してキー自体を検証します。キーの状態として、valid、rejected (HTTP 401)、scope-limited (HTTP 403)、または検証可能なエンドポイントに到達できなかった場合は not verified を報告します。認証情報が拒否された場合も終了コードは 0 となるため、スクリプトでは --fail-on error を追加してください。
このスキルでできること
| MSP からよく聞かれる質問 | コマンド |
|---|---|
| 前回の確認以降、このサイトの設定にどのような変更がありましたか? | unifi-network-cli drift --site default --json |
| 今週、どのデバイスやクライアントがネットワークに接続しましたか? | unifi-network-cli newcomer --since 7d --json |
| ハードウェアを追加する前に、スイッチポートと PoE に余裕があるか確認できますか? | unifi-network-cli port-audit --site default |
| このホストからのトラフィックに一致するファイアウォールポリシーはどれですか? | unifi-network-cli rule-predict --src 10.0.3.50 --dst 10.0.0.1 |
| 各デバイスの配下にいるクライアントはどれですか? | unifi-network-cli topology --site default |
| このサイトにはどのファイアウォールポリシーが設定されていますか? | unifi-network-cli sites firewall get-policies <siteId> --all |
| ゲストネットワークを利用しているのは誰で、どのバウチャーが有効ですか? | unifi-network-cli guest report --site default |
| サイトでアダプト済みのデバイスをすべて一覧表示する | unifi-network-cli sites devices get-adopted-overview-page <siteId> --all |
最初に unifi-network-cli sync を実行してください。drift、newcomer、topology、guest report、rule-predict はすべてローカルミラーから計算します。また、port-audit がポートの詳細を取得するには、デバイス一覧が同期されている必要があります。ページ分割された読み取りでは --all を指定してください。既定では --limit 25(バウチャーは 100)となり、結果が切り詰められても警告は表示されません。これは sites ... サブツリーだけでなく、countries、pending-devices、dpi ... にも適用されます。
全体では 137 個のコマンドがあり、そのほとんどは sites ... の下にあります。unifi-network-cli sites --help で14個のリソースグループを一覧表示し、次に unifi-network-cli sites <group> --help で各グループのコマンドを確認できます。guide.md では、インストール、認証、主要なコマンドについて説明しています。AI エージェントの操作ルール(--agent、--dry-run、変更前に確認するタイミング)については、AGENTS.md をご覧ください。
他との違い
ほとんどの UniFi インテグレーションや MCP サーバーは、質問ごとにライブ API 呼び出しへ中継します。1 件のレコードを取得するなら問題ありません。しかし、履歴に関する質問をした途端に答えられなくなります。「金曜日以降、このサイトで何が変わった?」「あのアクセスポイントは新しいもの?」といった質問です。UniFi Network のインテグレーション API には、設定のバージョン管理も監査ログのエンドポイントもないためです。中継先にできる履歴がありません。
このスキルは UniFi のデータを全文検索に対応したローカルの SQLite ミラーに同期し、その上に独自のスナップショットを保存します。これによって、履歴に関する質問に答えられるようになります。drift は、サイトのネットワーク、ファイアウォール、WiFi、DNS の設定を前回実行時に取得した状態と比較し、newcomer はデバイスとクライアントごとに初回確認時の記録を保持するため、新しいハードウェアを実際のベースラインと照らして確認できます。topology と guest report は、API が別々にしか返さないデータをまとめます。topology は同期済みの各クライアントを接続先のデバイスの下に配置し、guest report はサイトで有効なホットスポットのバウチャーと、現在接続中のゲストクライアントをまとめて出力するため、コンソール画面を 3 つ開く必要がありません。状態をどこにも保存していないステートレスな API ラッパーではできない処理です。
このツールが解決する課題
UniFi の機器は中小企業のネットワークに広く使われていますが、運用者が知りたいのに把握できないことがあります。それは履歴です。Network インテグレーション API には設定のバージョン管理も監査ログのエンドポイントもないため、「このサイトでは何が、いつ変わったのか?」を照会する手段がありません。Ubiquiti Community では、まさにこの機能を求める要望が何年も寄せられています。タイトルはUniFi Change Logs or Change Control options?、UniFi audit/change logs supported?、Audit log of recent changesです。
同じベースラインの欠如による問題は、ほかにも 2 つあります。クライアントには初回確認時の記録がまったくありません(API が公開するのは現在のセッションの connectedAt だけです)。そのため、今朝現れたノート PC と、1 年前から接続されているノート PCを区別できません。デバイスには adoptedAt がありますが、デバイスごとの詳細取得でしか取得できず、実際に確認する一覧には表示されません。また、ポートごとのインターフェースデータはどの一覧レスポンスにも含まれず、デバイスごとの詳細取得でしか得られません。そのため、「どのポートが空いていて、どのポートで PoE がすでに給電されているのか?」を確認するには、サイト内のすべてのスイッチを 1 台ずつ開く必要があります。
unifi-network-cli drift --site default --json- サイトの設定を、このコマンドの前回実行時に取得したスナップショットと比較してから、スナップショットを更新します。API に履歴がないため、独自の履歴を保持します。unifi-network-cli newcomer --since 7d --json- デバイスとクライアントごとに初回確認時の記録を保持し、新しいハードウェアを単なる一覧ではなくベースラインと照らして確認できます。unifi-network-cli port-audit --site default --json- すべてのスイッチまたはゲートウェイデバイスについて、ポートごとのリンク状態と PoE の状態を表示します。--jsonを指定しない場合、ターミナル出力ではデバイスごとにN up / M down, PoE active on K port(s)という 1 行の要約を表示します。unifi-network-cli rule-predict --src 10.0.3.50 --dst 10.0.0.1- 同期済みのポリシーをゲートウェイ本来の先勝ち順で評価し、一致するルールを報告します。解決できない項目は推測せず、不確定として示します。ホストの IP を指定してください。CIDR のマスクは無視され、入力したアドレスだけがテストされるため、範囲内のほかのアドレスについては何もわかりません。unifi-network-cli topology --site default- 同期済みのすべてのクライアントを、接続先のデバイスごとにまとめます。一覧エンドポイントにはデバイス間のアップリンクの接続関係が含まれないため、すべてのデバイスは最上位に配置されます。スイッチの下に別のスイッチがネストされることはありません。
詳しい説明は pain-point.md を参照してください。
よくある質問
ChatGPT で使えますか?
このビルドでは使えません。ChatGPT(Plus、Pro、Team、Business、Enterprise、Education プラン。Free ではまだ Developer Mode が利用できません)が接続できるのは、HTTPS 経由のリモート MCP サーバーのみです。そのため、UniFi MCP サーバーを HTTP モードで実行する必要があります。このビルドの HTTP モードはパスワードを要求せず、すべてのネットワークインターフェースでリッスンし、開いたウェブページからアクセスできてしまいます。そのため、コネクターが再公開されるまでは実行したり、トンネルの背後に配置したりしないでください。理由については、mcp-install.md のセキュリティに関する注意事項をご覧ください。それまでは、Claude Desktop、Claude Code、または Codex をお使いください。
Codex、Cursor、Windsurf、Cline、Copilot、Gemini で使えますか?
はい。いずれも MCP に対応しています。ほかのツールでのインストールコマンドは上記の表に、詳細は docs/which-agent.md に記載されています。
コーディングの知識は必要ですか?
いいえ。推奨するインストール方法は、Claude Code または Codex に一文を貼り付けることです。エージェントが SKILL.md を読み取り、インストールを実行します。代替方法として、OS ごとに1行のインストーラー(bash または PowerShell)を用意しています。どちらの方法でもコードを書く必要はありません。UniFi の認証情報を一度入力するだけです。
UniFi のデータは安全ですか?
データはお使いのマシンに留まります。CLI と MCP サーバーはローカルのバイナリです。SQLite ミラーはユーザーアカウント内のディレクトリに保存されます。AI エージェントに見えるのは CLI が返す内容のみで、通常は生の一括データではなくクエリ結果です。認証情報は環境変数またはエージェントの設定から読み込まれます。このリポジトリに同梱されたり、MSP Skills によってどこかへ送信されたりすることはありません。
UniFi Site Manager のクラウド API を使いますか?
いいえ。このスキルは、セルフホスト型 UniFi OS ゲートウェイ上のローカル Network 統合 APIを使用します。ゲートウェイ自身の UI で発行した API キーを使い、https://<gateway>/proxy/network にアクセスします。これは単一ゲートウェイ用のツールです。1つの CLI インスタンスから認識できるのは1つのコントローラーであり、すべてのデプロイメントを横断するマルチテナント表示ではありません。UniFi Protect(カメラ)と UniFi Access(ドア)は別の API であり、対象外です。
初回実行時に drift と newcomer が何も報告しないのはなぜですか?
API には読み取れる履歴がないため、どちらも独自のベースラインを保持します。サイトでの初回実行時に現在の状態をベースラインとして記録し、変更を報告しないのは想定どおりであり、エラーではありません。2回目以降の実行では、前回の実行から何が変わったかを報告します。ミラーを最新の状態にするため、各チェックの前に unifi-network-cli sync を実行してください。
ファイアウォールを変更する前に rule-predict を信頼できますか?
実際の通信の追跡ではなく、ローカルでのシミュレーションとして扱ってください。最後に同期されたファイアウォールポリシーを、ゲートウェイと同じくインデックスの昇順で、最初に一致したルールを適用する順序でたどります。また、一致判定に使うのは送信元と宛先の IP のみです。--port は参照用に表示されますが、一致判定には使われません。解決できないゾーン全体のポリシーやトラフィック一致リストの参照は、黙って仮定せず、不確実として示されます。まず同期を行い、実際の変更内容をコンソールで確認してください。
UniFi コンソールの代わりになりますか?
いいえ。また、そのためのものではありません。コンソールは引き続き正規の記録システムであり、変更を行う場所です。このツールは、コンソールにない機能を追加します。設定のドリフト、初めて確認されたハードウェア、ポートと PoE の余裕、ファイアウォールの一致予測を、エージェントが利用できる JSON を返す単一のコマンドとして提供します。
費用はいくらですか?
無料です。Apache-2.0 ライセンスです。費用がかかるのは、使用する AI エージェント(Claude、ChatGPT、Codex など)のみです。料金は当方ではなく、AI プロバイダーから請求されます。
安全性モデル
| ティア | 例 | 推奨されるエージェントポリシー |
|---|---|---|
| 読み取り | drift、newcomer、topology、port-audit、rule-predict、および以下のシークレットを含むコマンドを除く、変更を加えない sites ... エンドポイント。drift と newcomer は実行のたびに、それぞれのローカルベースラインを更新する点に注意してください。 | 許可 |
| 認証情報(シークレットを返す読み取りを含む) | auth set-token、auth logout、および出力に有効なシークレットが含まれる可能性のあるすべてのコマンド。CLI は何もマスキングしません:sites wifi get-broadcast-details(その SSID のパスフレーズが平文で出力されます)、sites hotspot get-voucher / get-vouchers、guest report、search、analytics --type hotspot --group-by code(利用可能なゲスト用バウチャーコード) | 人間の承認を必須とします。「すべての読み取りを許可」する包括的なポリシーには決して含めないでください。3 つの書き込みコマンドもシークレットを返します(sites hotspot create-vouchers、sites wifi create-broadcast / update-broadcast)。出力には同じ対応を適用してください。 |
| 書き込み(通常)- 18 コマンド | sites firewall create-policy、sites acl-rules update、sites networks create、sites wifi update-broadcast、sites dns create-policy、sites hotspot create-vouchers | --dry-run でプレビューしてから、レビュー済みの書き込みを実行します |
| デバイス/ポート制御 - 4 コマンド | sites devices adopt、sites devices execute-adopted-action、sites devices execute-port-action、sites clients execute-connected-action | 人間の承認を必須とします。ポート操作によって PoE の電源が再投入され、接続されている機器が切断される可能性があります |
| 破壊的操作 - 10 コマンド | sites devices remove(デバイスがオンラインの場合、工場出荷時設定にリセットします)、sites firewall delete-zone、sites networks delete、sites acl-rules delete、sites wifi delete-broadcast | 人間の承認と明示的な確認を必須とします |
事前に知っておくべき注意点が 2 つあります。この CLI 自体には権限分離の仕組みがないため、API キーに許可されている操作は、どのコマンドからでも実行できます。drift の実行に使う認証情報で sites devices remove も実行できる可能性があるため、制御はエージェントのポリシーで行う必要があります。また、ここでは**「すべての読み取りを許可」するのは安全なポリシーではありません**。CLI はレスポンス本文をマスキングしないため、sites wifi get-broadcast-details は SSID の事前共有鍵を平文で返し、guest report と search はローカルミラーから有効なゲスト用バウチャーコードをそのまま返します。ロックダウンの方法を含む詳細は、governance.md をご覧ください。
ステータス
ベータ版であり、実環境での検証待ちです。コマンドの仕様は、公開されている UniFi Network 統合 API 仕様と CLI 独自のモック検証スイートに照らして検証されています(生成時の実行記録では live_api_verification は未検証とされています)。本番ゲートウェイで実行している MSP からのクローズドループの確認は、まだありません。毎週開催している Build Sessions で MSP とスキルを検証しています。参加登録は compoundingteams.com/build-sessions からどうぞ。
標準規格。 オープンな Agent Skills 仕様(Anthropic、2025 年 12 月;40 以上のエージェント)に準拠しています。MCP に対応しており、Hermes を含む MCP 対応エージェントで利用できます。OpenClaw に対応済みです(フロントマターは設定済みで、OpenClaw のリリース待ちです)。
クレジット。 基盤となる CLI は Ricardo Cabral(@phoenix-server)が生成し、提供したものです。元の NOTICE を cli/NOTICE に保持したうえで、Apache-2.0 のもとで再配布しています。
Servosity がパッケージ化し、保守しています。Apache-2.0 ライセンスです。CLI Printing Press で構築しました。最終更新日:2026-08-14。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。