Nido - VM Manager for AI Agents について
NidoはAIエージェント向けのローカルQEMU仮想マシン管理ツールで、CLI、TUI、MCPからVMのライフサイクルを操作できます。クラウドイメージ、テンプレート、ブループリントに対応し、各VMに独立したゲストカーネルを提供します。
主な機能
- 01VMの作成・設定・削除
- 02キャッシュイメージとリンククローンの再利用
- 03cloud-initによるゲストのプロビジョニング
- 04イメージ、テンプレート、ブループリントの管理
- 05CLI、TUI、MCPの操作インターフェース
- 06読み取り専用リソースと任意のイベント購読
活用シーン
- 01使い捨てVM内でのテスト実行
- 02AIエージェントによる作業環境の作成と管理
- 03テンプレートから準備済みVMディスクを再利用
- 04イベントによる端末ダッシュボードとエージェントの同期
MCP 対応
Nidoはstdioで動作するMCPサーバーを内蔵し、クライアントにVM、イメージ、テンプレート、ブループリント、システム管理のツールを提供します。読み取り専用リソースと任意のイベント購読にも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Nido

AI エージェントのための実機の仮想マシン。1 つのローカルエンジンを、CLI、TUI、MCP の 3 つの方法で操作できます。
エージェントに、プロビジョニングして、利用し、削除できるマシンを提供します。Nido は QEMU をローカルで実行し、キャッシュ済みイメージをコピーオンライトディスクで複製して、同じ VM のライフサイクルをターミナルと MCP クライアントに提供します。各 VM はそれぞれ独自のゲストカーネルを備えています。
エージェントを孵化させ、飛び立たせましょう。 レトロなシェルに、実用的な仕組みを備えています。
使い始める · エージェントを接続する · ドキュメント · Wiki
Nido を選ぶ理由
| したいこと | Nido が提供するもの |
|---|---|
| ホスト環境から分離してコードをテストする | SSH アクセスと cloud-init プロビジョニングに対応した、破棄可能な QEMU VM |
| エージェントに独自の環境を管理させる | 簡潔なツール、読み取り専用のリソース、オプトイン方式のイベント購読を備えた、組み込みの stdio MCP サーバー |
| 手間のかかるセットアップを再利用する | 共有ベースイメージ 1 つと VM ごとの書き込み可能なディスクを使用する、テンプレートと QCOW2 リンククローン |
| 自動化と手動操作を切り替える | 構造化された CLI JSON、シェル補完、対話型のターミナルダッシュボード |
| 複数のダッシュボードやエージェント間で同期を保つ | 共有ローカルイベント、TUI のライブ更新、選択的な MCP 通知 |
| 適切な開始方法を選ぶ | 自動更新されるクラウドイメージカタログ、ローカルテンプレート、ビルド可能なブループリント |
さっそく始める
VM の実行には QEMU が必要です。Nido は Linux、macOS、Windows のホストに対応しています。ハードウェアアクセラレーションの可否は、ホストが実際に公開している機能によって異なります。まず nido doctor を実行してください。インストールとホスト要件をご覧ください。
インストール
Linux / macOS
curl -fsSL https://github.com/Josepavese/nido/releases/latest/download/install.sh | bash
Windows PowerShell
irm https://github.com/Josepavese/nido/releases/latest/download/install.ps1 | iex
新しいターミナルを開き、nido version と nido doctor を実行して確認します。クイックインストーラーは前提条件を確認し、対応環境では QEMU のセットアップも案内します。
パッケージマネージャーを使いたい場合は、Linux、macOS、Windows で npm を利用できます。
npm install -g nido-mcp # Linux / macOS / Windows launcher
brew install Josepavese/nido/nido # macOS / Linux
go install github.com/Josepavese/nido/v4/cmd/nido@latest
scoop bucket add nido https://github.com/Josepavese/scoop-nido
scoop install nido
コンテナ(Docker/Podman、QEMU を同梱。KVM 対応ホストが必要です):
docker run -i --rm --device /dev/kvm \
--group-add "$(stat -c %g /dev/kvm)" \
-v nido-home:/home/nido/.nido \
ghcr.io/josepavese/nido mcp
イメージはリリースごとに ghcr.io/josepavese/nido(:{version}、:{minor}、:latest)へ再ビルドされ、stdio で MCP に接続します。root 以外のユーザーが /dev/kvm を開けるように、--group-add を渡してください。
WinGet:Josepavese.Nido は Microsoft の審査待ちです。提供状況とコマンドをご覧ください。
MCP クライアントでは、npx -y nido-mcp mcp を使用するか、Official MCP Registry で io.github.Josepavese/nido を検索してください。また、Glama で参照するか、MCPB バンドルをインポートできます。MCP カタログとクライアントへのインストール。
最初の VM を作成する
nido images update
nido images info ubuntu:lts
nido images pull ubuntu:lts
nido spawn agent-lab --image ubuntu:lts --memory 2048 --cpus 2
nido info agent-lab --json
# Once the guest has finished booting and SSH is ready:
nido ssh agent-lab
最初のプルではベースイメージがダウンロードされます。以降の VM では再利用できます。ubuntu:lts
はカタログでサポートされている LTS の選択に従います。特定の OS リリースが必要な場合は、
nido images list から番号付きのタグを使用してください。ゲストの起動と cloud-init には追加の時間がかかります。オーバーレイの作成は起動処理の一部にすぎません。
必要な作業を保存したら、ゲスト内でシャットダウンし、破棄可能な VM のみを削除してください。
nido ssh agent-lab sudo poweroff
# After shutdown, confirm its state:
nido info agent-lab
nido delete agent-lab
nido stop は管理対象の QEMU プロセスを終了し、終了を待ちます。OS を正常にシャットダウンするには、ゲスト内で poweroff を使用してください。VM データは削除するまで保持されます。
別のターミナルで nido events または nido events --json を使い、コアの変更を確認できます。TUI セッションは共有ストリームから更新されます。エージェントは必要なリソースのみを明示的にサブスクライブします。イベント配信とミュート制御を参照してください。
エージェントを接続する
Nido の MCP サーバーはローカルで stdio 経由で動作します。別のサービスは不要です。インストール済みのバイナリを使用してください。
{
"mcpServers": {
"nido": {
"command": "nido",
"args": ["mcp"]
}
}
}
クライアントがターミナルの PATH を継承しない場合は、実行ファイルの絶対パスを使用してください。nido register は登録ブロックを出力します。保存先はクライアント側で管理します。npm パッケージを起動するクライアントでは、代わりに command: "npx" と
args: ["-y", "nido-mcp", "mcp"] を使用できます。
| ツール | 担当 |
|---|---|
nido_vm | VM の作成、確認、設定、接続、削除、および転送ポートの管理 |
nido_image | カタログの閲覧と更新、キャッシュ済みイメージのプルと管理 |
nido_template | 再利用可能なディスクテンプレートの保存と管理 |
nido_blueprint | イメージレシピの確認とビルド |
nido_system | 診断、設定、アクセラレーター、インストール操作 |
読み取り専用リソースには、nido://fleet/vms、nido://catalog/images、nido://system/config があります。機械可読なツール/アクションガイドには nido mcp-help を、ターミナルでは nido mcp --help を使用してください。
エージェントに依頼するタスクの例:
破棄可能な Ubuntu LTS VM を
test-labという名前で作成し、依存関係をプロビジョニングして、テストを実行し、出力を保存してください。完了したら、その VM のみを削除してください。他の VM と共有イメージは保持してください。
MCP は、破壊的な操作を含むローカル VM やインストール操作へのアクセスを許可します。信頼できるクライアントを接続してください。MCP ガイド · 任意の VM テスト用スキル
1 つのベース。個別のマシン。
リンククローンを有効にすると、キャッシュされたベースは共有されたまま、各 VM がそれぞれのディスク変更を記録します。容量の使用量は、書き込み、ログ、テンプレートに応じて増加します。VM を追加しても一定ではありません。Nido はキャッシュを削除する前に、バッキングイメージへの依存関係を確認します。依存する VM ディスクが存在する間は、ベースを削除しないでください。
VM は個別のゲストカーネルを提供しますが、ホストマウント、転送ポート、PCI パススルーは意図的にその境界を越えます。Nido は、信頼できない任意のワークロードに対する完全なセキュリティポリシーではありません。運用と分離を参照してください。
開始方法を選ぶ
- クラウドイメージ:カタログから取得し、cloud-init でプロビジョニングします。
Ubuntu、Debian、Alpine、Kali、CirrOS、openSUSE の検出は、
registry/sources.yamlのポリシーに従います。カタログと整合性 - テンプレート:準備済みの VM ディスクを保存し、繰り返し行うタスクで再利用します。 テンプレートのワークフロー
- ブループリント:レシピとインストールメディアからイメージをビルドします。Windows の評価版も含まれます。 Windows ガイド
定期実行されるカタログジョブが、新たにサポートされた上流リリースを検出します。nido images update でローカルコピーを更新できます。このコマンドは、既存のゲスト OS は更新しません。
自分で操作したい場合は、nido gui を実行して Fleet、Hatchery、Registry、System の各ビューを開きます。VM のディスプレイを表示するには、spawn/start で --gui を使用します。このフラグとターミナルダッシュボードは、それぞれ別の機能です。
さらに詳しく
| タスク | ガイド |
|---|---|
| ゲストをプロビジョニングする、ポートを転送する、リソースを調整する、ファイルを共有する | 日常的なワークフロー |
| Nido 用のスクリプトを作成する | CLI JSON コントラクト |
| パッケージチャネルをインストール、アップグレード、選択する | インストーラー · 配布 |
| ターミナルの配色を変更する | テーマ |
| ランタイムとハードウェアの境界を理解する | アーキテクチャ |
| 変更に貢献する、または検証する | コントリビューション · テスト |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。