Nido - VM Manager for AI Agents

io.github.Josepavese由 GitHub 账号 Josepavese 发布v4.10.5更新于 Oct 29, 2026

Local QEMU VM manager with opt-in MCP event subscriptions for AI agents.

概览

AI 生成的概览

本地 QEMU 虚拟机管理器,让 AI 助手通过 stdio MCP 在本机创建、配置、查看和删除虚拟机。

可以做什么
  • 创建、查看、配置、连接和删除虚拟机,并管理端口转发
  • 浏览和刷新云镜像目录,拉取并管理缓存镜像
  • 保存和管理可复用的磁盘模板,查看和构建镜像蓝图
  • 执行诊断、读取配置、检查加速器并执行安装操作
  • 通过只读资源读取虚拟机列表、镜像目录和系统配置,并可选订阅事件
适用场景
适合让助手在一次性或隔离的机器里工作而不是直接操作宿主机,例如安装依赖、运行测试并保存输出,完成后只删除该虚拟机。也适合通过模板和链接克隆复用耗时的环境准备。
运行要求
以本地进程通过 stdio 运行,无需独立服务,未声明认证。宿主机需安装 QEMU,硬件加速取决于宿主机实际提供的能力。可通过安装脚本、npm 包、Homebrew、Go、Scoop、Nix、APT/DNF 仓库或需要支持 KVM 宿主机的容器镜像安装,并用 nido doctor 检查前置条件。
安装前请注意
MCP 可访问本地虚拟机与安装操作,其中包含破坏性操作,只应连接可信客户端。删除虚拟机会移除其数据,虚拟机数据在删除前会一直保留。宿主机挂载、端口转发和 PCI 直通会跨越客户机边界,且该工具并非针对任意不可信工作负载的完整安全策略。磁盘占用会随写入、日志和模板增长。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Nido - VM Manager for AI Agents,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Nido

[Nido: a luminous egg in a retro workstation. Real VMs. Agent-ready.]

Real virtual machines for AI agents. One local engine, three ways to drive it: CLI, TUI and MCP.

[Release] [CI] [npm] [MCP Registry] [License: MIT]

Give an agent a machine it can provision, use and delete. Nido runs QEMU locally, clones cached images with copy-on-write disks, and exposes the same VM lifecycle to your terminal and your MCP client. Each VM has its own guest kernel.

Hatch your agents. Let them fly. Retro shell, practical machinery.

Get started · Connect an agent · Documentation · Wiki

Why Nido?

You want to...Nido gives you...
Test code away from your hostDisposable QEMU VMs with SSH access and cloud-init provisioning
Let an agent manage its own environmentA built-in stdio MCP server with compact tools, read-only resources and opt-in event subscriptions
Reuse an expensive setupTemplates and QCOW2 linked clones, with one shared base and a writable disk per VM
Switch between automation and hands-on workStructured CLI JSON, shell completion and an interactive terminal dashboard
Keep multiple dashboards and agents in syncShared local events, live TUI updates and selective MCP notifications
Choose the right starting pointAn automatically refreshed cloud-image catalog, local templates and buildable blueprints

AMD64 and ARM64 host/guest selection, requirements and data-preserving upgrades: Architecture guide. Omitted architecture selects native; use --arch on CLI, arch on MCP, or the TUI Arch selector for an explicit guest ISA.

Press start

QEMU is required to run VMs. Nido supports Linux, macOS and Windows hosts; hardware acceleration depends on what the host actually exposes. Start with nido doctor. See installation and host requirements.

Install

Linux / macOS

bash
curl -fsSL https://github.com/Josepavese/nido/releases/latest/download/install.sh | bash

Windows PowerShell

powershell
irm https://github.com/Josepavese/nido/releases/latest/download/install.ps1 | iex

Open a new terminal, then check nido version and nido doctor. The quick installers check prerequisites and offer QEMU setup where supported.

Prefer a package manager? npm works on Linux, macOS and Windows:

bash
npm install -g nido-mcp                # Linux / macOS / Windows launcherbrew install Josepavese/nido/nido       # macOS / Linuxgo install github.com/Josepavese/nido/v4/cmd/nido@latest
powershell
scoop bucket add nido https://github.com/Josepavese/scoop-nidoscoop install nido

Container (Docker/Podman, bundles QEMU; needs a KVM-capable host):

bash
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

Images are rebuilt on every release at ghcr.io/josepavese/nido (:{version}, :{minor}, :latest) and speak MCP on stdio; pass --group-add so the non-root user can open /dev/kvm.

Debian / Ubuntu (APT) and Fedora / RHEL (DNF) repositories are rebuilt on every release and served from GitHub Pages:

bash
# Debian / Ubuntusudo install -d -m 0755 /etc/apt/keyringssudo curl -fsSL https://josepavese.github.io/nido/nido-archive-keyring.asc -o /etc/apt/keyrings/nido.ascecho "deb [signed-by=/etc/apt/keyrings/nido.asc] https://josepavese.github.io/nido/apt/ stable main" | sudo tee /etc/apt/sources.list.d/nido.listsudo apt-get update && sudo apt-get install nido
# Fedora / RHELsudo curl -fsSL https://josepavese.github.io/nido/rpm/nido.repo -o /etc/yum.repos.d/nido.reposudo dnf install nido

Install QEMU first (qemu-system-x86 qemu-utils / qemu-kvm qemu-img), then run nido doctor. Both repositories are GPG-signed by the Nido package archive key (DBB87CB63A94ABA50B33C7B919C6A95C9D280B64); see the installers guide.

Nix: nix run github:Josepavese/nido builds the current source and brings its own QEMU; see the installers guide.

WinGet: Josepavese.Nido is awaiting Microsoft review. See availability and commands.

For MCP clients, use npx -y nido-mcp mcp, discover io.github.Josepavese/nido in the Official MCP Registry, browse the Glama directory for local installation instructions, or import the MCPB bundle. MCP catalogs and client installation.

All install options · Distribution channel status

Hatch your first VM

bash
nido images updatenido images info ubuntu:ltsnido images pull ubuntu:ltsnido spawn agent-lab --image ubuntu:lts --memory 2048 --cpus 2nido info agent-lab --json
# Once the guest has finished booting and SSH is ready:nido ssh agent-lab

The first pull downloads the base image. Later VMs can reuse it. ubuntu:lts follows the catalog's supported LTS selection; use a numbered tag from nido images list when you need a specific OS release. Guest boot and cloud-init take additional time; creating the overlay is only one part of startup.

When you have saved the work you need, shut down inside the guest and remove only your disposable VM:

bash
nido ssh agent-lab sudo poweroff# After shutdown, confirm its state:nido info agent-labnido delete agent-lab

nido stop terminates the managed QEMU process and waits for exit. Use guest poweroff for a clean OS shutdown. VM data persists until you delete it.

Provisioning, ports, templates and cleanup

Watch core changes in another terminal with nido events or nido events --json. TUI sessions update from the shared stream; agents explicitly subscribe only to the resources they need. See event delivery and mute controls.

A little room to roost

Run nido gui for a keyboard and mouse dashboard. The shared TUI kit adapts from a split Fleet view to compact lists and scrollable dialogs, keeping your work in place as you resize. Below its usable size, the interface rests until you give it more room.

[Nido Fleet at 80x24, with VM details and visible keyboard shortcuts]

Even at 40x10, confirmation and cancellation stay within reach:

[Create Template dialog at 40x10, with Confirm and Cancel visible]

These are native terminal captures with private demonstration metadata. No VM was started for the screenshots. Themes · Reusable TUI kit

Connect your agent

Nido's MCP server runs locally over stdio. No separate service is required. Use an installed binary:

json
{  "mcpServers": {    "nido": {      "command": "nido",      "args": ["mcp"]    }  }}

Use the absolute executable path if your client does not inherit your terminal's PATH. nido register prints a registration block; your client owns where it is saved. Clients that launch npm packages can instead use command: "npx" with args: ["-y", "nido-mcp", "mcp"].

ToolResponsibility
nido_vmCreate, inspect, configure, connect and remove VMs; manage forwarded ports
nido_imageBrowse and refresh the catalog; pull and manage cached images
nido_templateSave and manage reusable disk templates
nido_blueprintInspect and build image recipes
nido_systemDiagnostics, configuration, accelerators and installation operations

Read-only resources include nido://fleet/vms, nido://catalog/images and nido://system/config. Use nido mcp-help for the machine-readable tool/action guide, or nido mcp --help in your terminal.

An example task for your agent:

Create a disposable Ubuntu LTS VM named test-lab, provision the dependencies, run my tests and save their output. Delete only that VM when finished. Preserve other VMs and shared images.

MCP grants access to local VM and installation operations, including destructive ones. Connect clients you trust. MCP guide · Optional VM-testing skill

One base. Separate machines.

[Nido workflow: CLI, TUI and MCP use one VM engine. A cached base feeds separate writable VM disks; save useful output before deleting a VM.]

With linked clones enabled, the cached base stays shared while each VM records its own disk changes. Space usage grows with those writes, logs and templates; it is not constant as you add VMs. Nido checks backing-image dependencies before cache removal. Keep bases in place while dependent VM disks exist.

VMs provide a separate guest kernel, but host mounts, forwarded ports and PCI passthrough deliberately cross that boundary. Nido is not a complete security policy for arbitrary untrusted workloads. See operations and isolation.

Pick your starting point

  • Cloud image: pull from the catalog and provision through cloud-init. Ubuntu, Debian, Alpine, Kali, CirrOS and openSUSE discovery follows the policies in registry/sources.yaml. Catalog and integrity
  • Template: save a prepared VM disk and reuse it for repeated tasks. Template workflow
  • Blueprint: build an image from a recipe and installer media, including Windows evaluation editions. Windows guide

The scheduled catalog job discovers new supported upstream releases. Refresh your local copy with nido images update; it does not update an existing guest OS.

Prefer hands-on control? Run nido gui for the Fleet, Hatchery, Registry and System views. Use --gui on spawn/start when you want the VM's display; that flag and the terminal dashboard are separate features.

Go further

TaskGuide
Provision a guest, forward ports, adjust resources, share filesEveryday workflows
Write scripts against NidoCLI JSON contract
Install, upgrade or choose a package channelInstallers · Distribution
Change the terminal paletteThemes
Understand runtime and hardware boundariesArchitecture
Contribute or validate a changeContributing · Testing

Documentation index · Changelog · Issues · MIT license

来源:README.md,提交 23c2d86

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

11
  1. v4.10.5最新Oct 29, 2026
  2. v4.10.3Oct 26, 2026
  3. v4.10.2Oct 26, 2026
  4. v4.9.0Oct 25, 2026
  5. v4.8.7Oct 25, 2026
  6. v4.8.6Oct 24, 2026
  7. v4.8.1Oct 24, 2026
  8. v4.7.0Oct 21, 2026
  9. v4.6.0Oct 19, 2026
  10. v4.5.28Oct 19, 2026
  11. v4.5.27Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分