Mcp Virtualbox

by chryaner

355 downloads
Not rated
GitHub

About

Let AI see, click, type, and fully operate virtual machines

Details

Author
chryaner
Downloads
355
Categories
Other

- Two modes: Vision loop and Text mode
- Vision loop takes screenshots and sends keyboard/mouse input
- Text mode uses SSH, WinRM, or Guest Additions for commands
- 30 tools for full VirtualBox control
- Installs any OS from an ISO without scripting
- Works with legacy operating systems (CentOS 6, Windows XP, 2000)
- Creates disposable VMs for untrusted files

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Mcp Virtualbox
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via Claude Code using /plugin marketplace add chryaner/mcp-virtualbox and /plugin install mcp-virtualbox@mcp-virtualbox, or configure manually by adding the server to your MCP settings with npx -y mcp-virtualbox. The server requires VirtualBox 7.x and Node.js 18+, and you must provide your own OS installer ISO.

vm_list

List all VirtualBox VMs with their state

vm_info

Get detailed VM info

vm_create

Create a new VM with OS type, RAM, disk, CPU, controllers, and USB tablet mouse. Auto-detects legacy OS types (WindowsXP, Windows2000, DOS, etc.) and uses IDE instead of SATA since they lack AHCI drivers. Defaults for RAM/CPU/disk are chosen based on OS type if not specified.

vm_start

Start a VM

vm_stop

Stop a VM

vm_delete

Delete a VM and optionally all its files (disks, snapshots, etc.)

vm_pause

Pause a running VM

vm_resume

Resume a paused VM

vm_reset

Hard reset a running VM (like pressing the reset button)

vm_shared_folder_add

Add a shared folder between host and guest. Requires Guest Additions in the guest. The folder appears as a network drive in Windows guests or can be mounted in Linux guests.

vm_shared_folder_remove

Remove a shared folder from a VM

vm_attach_media

Attach ISO/disk to VM, eject media, or attach Guest Additions ISO. For legacy OS VMs (XP, 2000, etc.) ISO goes on IDE port 1 device 0. For modern OS VMs, ISO goes on IDE port 0 device 0.

vm_snapshot

Manage VM snapshots

vm_modify

Modify arbitrary VM settings via VBoxManage modifyvm

vm_list_ostypes

List available OS type IDs for VM creation

vm_screenshot

Take a screenshot of the VM display, returns as image. Use this in a vision loop during OS installation: screenshot → analyze → send input → repeat.

vm_screen_info

Get VM display resolution and settings

vm_keyboard_scancode

Send named key combinations as PS/2 scancodes (e.g. 'enter', 'ctrl+alt+delete', 'f8', 'tab'). Use this for special keys, shortcuts, and navigation. Numeric-keypad keys are available as kp_0..kp_9, kp_enter, kp_dot, kp_plus, kp_minus, kp_star, kp_slash. For keys not in the named map, pass raw make/break bytes via 'raw'.

vm_keyboard_type

Type printable text string into the VM (uses keyboardputstring). For special keys use vm_keyboard_scancode instead. Long strings are chunked with an inter-chunk delay to avoid overrunning the guest keyboard buffer (which silently drops characters).

vm_mouse_click

Click at absolute screen coordinates (requires USB tablet mouse mode, enabled by vm_create). Coordinates match screenshot pixel positions. Uses Python VirtualBox API helper.

vm_guest_exec

Execute a command inside the guest via Guest Additions (no network required). Guest Additions must be installed and running.

vm_guest_copy_to

Copy a file from host to guest via Guest Additions

vm_guest_copy_from

Copy a file from guest to host via Guest Additions

vm_exec_ssh

Execute a command on a Linux guest via SSH

vm_exec_winrm

Execute a command on a Windows guest via WinRM (SOAP/HTTP, Basic auth)

vm_get_guest_ip

Get the guest IP address via VirtualBox guest properties

vm_wait_for_guest_additions

Wait until Guest Additions are running (polls GuestAdditionsRunLevel)

vm_wait_for_network

Wait until the guest has a valid IP address

vm_add_nat_port_forward

Add a NAT port forwarding rule to the VM

vm_install_guide

Get OS-specific installation guide with step-by-step instructions, gotchas, and recommended settings. Call this BEFORE starting an OS installation to avoid common pitfalls. Available guides: windowsxp, windows7, windows10, windows11, ubuntu, linux

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp virtualbox": {
            "mcp-virtualbox": {
                "command": "npx",
                "args": [
                    "-y",
                    "mcp-virtualbox"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-virtualbox": {
        "command": "npx",
        "args": [
            "-y",
            "mcp-virtualbox"
        ]
    }
}

mcp-virtualbox

Let AI see, click, type, and fully operate virtual machines - from bare metal OS installation to daily use, no human needed. 30 tools that give AI full VirtualBox control through two modes: - Vision loop - screenshot the VM screen, read it, send keyboard/mouse input. Install any OS from any ISO without scripting. - Text mode - switch to SSH, WinRM, or Guest Additions for fast command execution once the OS is running. ## Quick setup ### Claude Code (easy install) /plugin marketplace add chryaner/mcp-virtualbox /plugin install mcp-virtualbox@mcp-virtualbox ### Manual ``json { "mcpServers": { "mcp-virtualbox": { "command": "npx", "args": ["-y", "mcp-virtualbox"] } } } `` Requires VirtualBox 7.x and Node.js 18+. Provide your own OS installer ISO.

What you can do

- [ ] Install any OS from an ISO - the AI clicks through the entire installer - [ ] Test your app's installer on a clean Windows machine - [ ] Compile code on legacy Linux (CentOS 6, etc.) - [ ] Run legacy software that needs old Windows (XP, 2000) - [ ] Create disposable VMs for untrusted files - [ ] Set up dev environments on a different OS than your host
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.