Skip to main content
ClaudeWave
bryanjbelanger avatar
bryanjbelanger

desktop-hypervisor-mcp

Ver en GitHub

MCP server for VirtualBox: full VBoxManage coverage in 11 domain tools, verified OS image catalog, bundled Claude Code skills

MCP ServersRegistry oficial0 estrellas0 forksGoMITActualizado today
Install in Claude Code / Claude Desktop
Method: Manual · desktop-hypervisor-mcp
Claude Code CLI
git clone https://github.com/bryanjbelanger/desktop-hypervisor-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "desktop-hypervisor-mcp": {
      "command": "desktop-hypervisor-mcp",
      "env": {
        "HV_GUEST_PASSWORD": "<hv_guest_password>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Install the binary first: go install github.com/bryanjbelanger/desktop-hypervisor-mcp@latest (make sure it ends up on your PATH).
Detected environment variables
HV_GUEST_PASSWORD
Casos de uso

Resumen de MCP Servers

# Desktop Hypervisor MCP

One provider-neutral MCP server for the desktop hypervisors: **VirtualBox**,
**VMware Fusion**, and **VMware Workstation**. Nine tools, ~1,800 context
tokens, full coverage of what its two predecessor servers did in ~5,600.

It succeeds [virtualbox-mcp-server](../../tree/predecessor-virtualbox) (that
history is preserved on the `predecessor-virtualbox` branch) and the never-
released vmware-fusion-mcp-server, folding both into one capability-based
surface.

## Design

- **Capability-based, not lowest-common-denominator.** Providers advertise
  what they can actually do (`provider action=list`): guest exec, OVA
  import/export, linked clones, pre-boot guestinfo injection, DHCP-lease IP
  discovery, ISO mastering… Unsupported operations fail by naming the missing
  capability, not with a provider error.
- **Intent, not mechanism.** "Ensure the cluster nodes share a network the
  host can reach" is expressible on both families; "create a host-only
  interface" is not. The neutral tools express intent; provider-native
  mechanism stays reachable, unabstracted, through `execute_command`.
- **Artifacts resolve per provider.** The same image name gives each
  hypervisor the artifact it can actually import — Talos's `vmware-*.ova` vs
  `virtualbox-*.ova`, Vagrant's `vmware_desktop` vs `virtualbox` boxes,
  Microsoft's per-hypervisor dev VM — keyed on (image, provider family, host
  arch).

## Tools

| Tool | Actions |
|------|---------|
| `provider` | list — installed hypervisors with status, capabilities, formats, and remediation when not ready |
| `artifact` | catalog, resolve, fetch (dry_run) — verified downloads of official OS images, per provider |
| `vm_lifecycle` | create, start, stop, suspend, reset, delete, clone, import, export |
| `vm_info` | list, running, show, ip (in-guest tools, else DHCP leases by MAC — works for agentless guests like Talos) |
| `vm_config` | resources, nested_virt, attach_iso, guestinfo (pre-boot key/value injection, VMware) |
| `snapshot` | take, restore, delete, list (tree) |
| `guest` | exec, script, copy_in, copy_out, screenshot |
| `network` | ensure_cluster_network, expose_guest_port, make_iso, repack_iso |
| `execute_command` | raw `VBoxManage` / `vmrun` argv on the selected provider |

With one hypervisor installed it is selected automatically; with several, the
ambiguity is surfaced, never guessed.

## Image catalog

`artifact action=catalog` lists maintained images: Talos (appliance and metal
ISO), Ubuntu (cloud image and Vagrant), Debian, Fedora, Rocky, Alma,
openSUSE, FreeBSD, Kali, TurnKey, the Windows dev VM, plus `vagrant:org/box`
passthrough to the whole registry. Downloads are sha256-verified wherever the
publisher provides a digest (GitHub release assets always do); unverified
sources say so loudly. Vagrant boxes are fetched for the *right* provider and
auto-extracted to their importable machine file. The cache lives in
`~/.hypervisor-images` (`HV_IMAGE_DIR` overrides).

## Prerequisites

- VirtualBox (`VBoxManage`) and/or VMware Fusion / Workstation (`vmrun`).
  Detection is per-call, so a hypervisor installed mid-session is picked up.
- Nothing else: a single static Go binary, no Python, no Node.

Optional, detected at runtime: `ovftool` enables OVA import/export on VMware;
`xorriso` enables `repack_iso`.

## Building

```bash
go build -o desktop-hypervisor-mcp .
```

## Registration with Claude Code

```bash
claude mcp add --scope user hypervisor -- /path/to/desktop-hypervisor-mcp
```

Guest-operation credentials come from the server environment, never from
tool parameters:

```bash
claude mcp add --scope user hypervisor \
  --env HV_GUEST_USER=vagrant --env HV_GUEST_PASSWORD=vagrant \
  -- /path/to/desktop-hypervisor-mcp
```

(`VMRUN_GUEST_USER`/`VMRUN_GUEST_PASSWORD` are honored for compatibility.)

The server ships usage recipes in the MCP initialize handshake, generated
from what was actually detected on the host — a session on a
VirtualBox-only machine never pays context for VMware guidance.

## Permissions

Per-tool allowlisting in `.claude/settings.json` keeps prompts meaningful —
read-only tools are safe to always-allow:

```json
{
  "permissions": {
    "allow": [
      "mcp__hypervisor__provider",
      "mcp__hypervisor__vm_info",
      "mcp__hypervisor__artifact",
      "mcp__hypervisor__snapshot"
    ]
  }
}
```

Keep mutating tools (`vm_lifecycle`, `execute_command`) behind prompts
unless you accept unattended VM mutation.

## Related projects

- [talos-mcp-server](https://github.com/bryanjbelanger/talos-mcp-server) —
  Talos/Kubernetes orchestration; consumes this server for node provisioning
  and stays deliberately hypervisor-agnostic.

Lo que la gente pregunta sobre desktop-hypervisor-mcp

¿Qué es bryanjbelanger/desktop-hypervisor-mcp?

+

bryanjbelanger/desktop-hypervisor-mcp es mcp servers para el ecosistema de Claude AI. MCP server for VirtualBox: full VBoxManage coverage in 11 domain tools, verified OS image catalog, bundled Claude Code skills Tiene 0 estrellas en GitHub y se actualizó por última vez today.

¿Cómo se instala desktop-hypervisor-mcp?

+

Puedes instalar desktop-hypervisor-mcp clonando el repositorio (https://github.com/bryanjbelanger/desktop-hypervisor-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar bryanjbelanger/desktop-hypervisor-mcp?

+

bryanjbelanger/desktop-hypervisor-mcp aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.

¿Quién mantiene bryanjbelanger/desktop-hypervisor-mcp?

+

bryanjbelanger/desktop-hypervisor-mcp es mantenido por bryanjbelanger. La última actividad registrada en GitHub es de today, con 0 issues abiertos.

¿Hay alternativas a desktop-hypervisor-mcp?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega desktop-hypervisor-mcp en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: bryanjbelanger/desktop-hypervisor-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/bryanjbelanger-desktop-hypervisor-mcp)](https://claudewave.com/repo/bryanjbelanger-desktop-hypervisor-mcp)
<a href="https://claudewave.com/repo/bryanjbelanger-desktop-hypervisor-mcp"><img src="https://claudewave.com/api/badge/bryanjbelanger-desktop-hypervisor-mcp" alt="Featured on ClaudeWave: bryanjbelanger/desktop-hypervisor-mcp" width="320" height="64" /></a>

Más MCP Servers

Alternativas a desktop-hypervisor-mcp