MCP tools
Every tool Lume's MCP server exposes, with its parameters.
Every tool Lume's MCP server exposes, with its parameters.
lume serve --mcp serves these tools over stdio. See API and MCP for client setup.
lume_list_vms#List all virtual machines with their status, IP addresses, and resource allocation.
Effect: read-only, idempotent.
| Parameter | Type | Default | Description |
|---|---|---|---|
storage | string | Optional storage location name or path to filter VMs. |
lume_get_vm#Get detailed information about a specific VM including IP address, VNC URL, and SSH availability.
Effect: read-only, idempotent.
| Parameter | Type | Default | Description |
|---|---|---|---|
name | string | required | Name of the VM. |
storage | string | Optional storage location name or path. |
Example arguments
{"name":"<name>"}lume_run_vm#Start a VM with optional shared directory for file access. The shared directory will be available at /Volumes/My Shared Files inside the VM.
Effect: mutating.
| Parameter | Type | Default | Description |
|---|---|---|---|
name | string | required | Name of the VM to start. |
no_display | boolean | Run headless without VNC window (default: true). | |
shared_dir | string | Host directory path to share with the VM (appears at /Volumes/My Shared Files). | |
storage | string | Optional storage location name or path. | |
vnc | "enabled" | "disabled" | VNC server policy. 'disabled' starts no VNC listener and reports a null vncUrl (default: enabled). |
Example arguments
{"name":"<name>"}lume_stop_vm#Stop a running VM gracefully.
Effect: mutating.
| Parameter | Type | Default | Description |
|---|---|---|---|
name | string | required | Name of the VM to stop. |
storage | string | Optional storage location name or path. |
Example arguments
{"name":"<name>"}lume_clone_vm#Clone a VM to create a copy. Useful for creating golden images for instant reset.
Effect: mutating.
| Parameter | Type | Default | Description |
|---|---|---|---|
name | string | required | Name of the source VM to clone. |
new_name | string | required | Name for the cloned VM. |
Example arguments
{"name":"<name>","new_name":"<new_name>"}lume_delete_vm#Delete a VM and all its associated files.
Effect: destructive.
| Parameter | Type | Default | Description |
|---|---|---|---|
name | string | required | Name of the VM to delete. |
storage | string | Optional storage location name or path. |
Example arguments
{"name":"<name>"}lume_create_vm#Create a new macOS VM asynchronously. Returns immediately while the VM is being provisioned. Poll lume_list_vms or lume_get_vm to check progress (status will be 'provisioning' until complete).
Effect: mutating.
| Parameter | Type | Default | Description |
|---|---|---|---|
cpu | integer | Number of CPU cores (default: 4). | |
disk_size | string | Disk size, e.g., '100GB' (default: 100GB). | |
ipsw | string | Path to IPSW file or 'latest' to download (default: latest). | |
memory | string | Memory size, e.g., '8GB' (default: 8GB). | |
name | string | required | Name for the new VM. |
storage | string | Optional storage location name or path. | |
unattended | string | Unattended setup preset (e.g., 'tahoe', 'sequoia') for automatic macOS configuration. |
Example arguments
{"name":"<name>"}lume_resize_disk#Grow a stopped VM's disk. For macOS VMs this preserves the paired RecoveryOS partition (relocating it to the new end of disk) and expands the main APFS container so future macOS updates keep working. Grow-only; the VM must be stopped; may take several minutes.
Effect: destructive.
| Parameter | Type | Default | Description |
|---|---|---|---|
disk_size | string | required | New disk size, e.g., '100GB'. Must be larger than the current size. |
dry_run | boolean | Validate and print the resize plan without modifying the disk. Default false. | |
keep_backup | boolean | Keep the rollback backup after a successful resize; cannot be combined with no_backup. Default false. | |
name | string | required | Name of the VM to resize. |
no_backup | boolean | Skip the pre-resize backup (faster, but no automatic rollback on failure). Default false. | |
storage | string | Optional storage location name or path. |
Example arguments
{"name":"<name>","disk_size":"<disk_size>"}lume_exec#Execute a command inside a running VM via SSH. Requires SSH to be enabled in the VM (default for VMs created with --unattended tahoe).
Effect: destructive.
| Parameter | Type | Default | Description |
|---|---|---|---|
command | string | required | Shell command to execute inside the VM. |
name | string | required | Name of the VM. |
password | string | SSH password (default: lume). | |
storage | string | Optional storage location name or path. | |
user | string | SSH username (default: lume). |
Example arguments
{"name":"<name>","command":"<command>"}check_for_update#Check the saved stable/nightly Lume channel for a release on GitHub. Returns current and selected channels. Read-only; never installs. Mirrors lume check-update --json.
Effect: read-only, idempotent.
No parameters.