Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROXMOX_HOST | Yes | Your Proxmox VE host IP address or domain name. | |
| PROXMOX_PORT | No | Proxmox API port. Default: 8006 | 8006 |
| PROXMOX_TOKEN_ID | Yes | API token ID (e.g., user@pam!mcp). | |
| PROXMOX_VERIFY_SSL | No | Whether to verify SSL certificates. Default: false | false |
| PROXMOX_TOKEN_SECRET | Yes | API token secret. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_nodes | List all nodes in the Proxmox cluster with status, CPU, memory, and uptime. |
| get_node_status | Get detailed status for a specific node including CPU model, memory, disk, and versions. Args: node: Name of the Proxmox node (e.g. 'pve', 'node1'). |
| list_vms | List all QEMU virtual machines across the cluster. Args: node: Optional. Filter by node name. status: Optional. Filter by status ('running', 'stopped'). |
| list_containers | List all LXC containers across the cluster. Args: node: Optional. Filter by node name. status: Optional. Filter by status ('running', 'stopped'). |
| get_guest_status | Get detailed status of a VM or container by VMID. Auto-detects type and node. Args: vmid: The numeric ID of the VM or container (e.g. 100, 200). |
| start_guest | Start a stopped VM or container. Args: vmid: The numeric ID of the VM or container to start. |
| stop_guest | Force-stop a running VM or container. WARNING: May cause data loss. Args: vmid: The numeric ID of the VM or container to stop. confirm: Must be true to execute. First call without confirm shows a warning. |
| shutdown_guest | Gracefully shut down a VM or container via ACPI signal (VMs) or init (containers). Args: vmid: The numeric ID of the VM or container to shut down. |
| reboot_guest | Reboot a running VM or container. Args: vmid: The numeric ID of the VM or container to reboot. confirm: Must be true to execute. First call without confirm shows a warning. |
| list_snapshots | List all snapshots for a VM or container. Args: vmid: The numeric ID of the VM or container. |
| create_snapshot | Create a new snapshot for a VM or container. Args: vmid: The numeric ID of the VM or container. name: Snapshot name (alphanumeric, hyphens, underscores). description: Optional description for the snapshot. |
| rollback_snapshot | Rollback a VM or container to a previous snapshot. WARNING: All changes since the snapshot will be LOST. Args: vmid: The numeric ID of the VM or container. name: Name of the snapshot to rollback to. confirm: Must be true to execute. First call without confirm shows a warning. |
| delete_snapshot | Delete a snapshot from a VM or container. Args: vmid: The numeric ID of the VM or container. name: Name of the snapshot to delete. confirm: Must be true to execute. First call without confirm shows a warning. |
| list_storages | List storage pools across the cluster with capacity and usage info. Args: node: Optional. Filter by node name. |
| list_storage_content | List content of a storage pool (ISOs, templates, backups, disk images). Args: node: Name of the Proxmox node. storage_name: Name of the storage pool (e.g. 'local', 'local-lvm'). content_type: Optional. Filter by type: 'iso', 'vztmpl', 'backup', 'images', 'rootdir'. |
| create_vm | Create a new QEMU virtual machine. The VM is created stopped by default. Use start_after_create=true to auto-start. Args: node: Target node name (e.g. 'pve'). name: VM name. cores: Number of CPU cores (default 1). memory: Memory in MB (default 2048). disk_size: Disk size with unit (default '32G'). Examples: '10G', '100G', '1T'. storage_pool: Storage for disk (default 'local-lvm'). iso: Optional ISO volume ID for installation (e.g. 'local:iso/ubuntu-24.04.iso'). os_type: OS type (default 'l26' for Linux). Options: l26, l24, win11, win10, other. net_bridge: Network bridge (default 'vmbr0'). start_after_create: Start VM after creation (default false). vmid: Optional specific VMID. Auto-assigned if not provided. |
| create_container | Create a new LXC container from a template. Args: node: Target node name (e.g. 'pve'). name: Container hostname. template: Template volume ID (e.g. 'local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst'). Use list_storage_content with content_type='vztmpl' to find available templates. cores: Number of CPU cores (default 1). memory: Memory in MB (default 512). disk_size: Root disk size in GB (default 8). storage_pool: Storage for rootfs (default 'local-lvm'). net_bridge: Network bridge (default 'vmbr0'). password: Optional root password. ssh_public_keys: Optional SSH public keys for root access. start_after_create: Start container after creation (default false). vmid: Optional specific VMID. Auto-assigned if not provided. |
| clone_guest | Clone an existing VM or container. Auto-detects type and node. Creates a full (independent) clone by default. Set full_clone=false for a linked clone. Args: vmid: Source VM/container VMID to clone. new_name: Optional name for the clone. target_node: Optional target node for the clone (for cross-node cloning). full_clone: Full clone (true, default) or linked clone (false). target_storage: Optional target storage for the clone's disks. new_vmid: Optional VMID for the clone. Auto-assigned if not provided. |
| delete_guest | Permanently delete a VM or container. IRREVERSIBLE. The guest must be stopped before deletion. All disk images will be destroyed. Args: vmid: The numeric ID of the VM or container to delete. confirm: Must be true to execute. First call without confirm shows a warning. |
| list_backups | List backup files across storages. Args: node: Optional. Filter by node name. storage_name: Optional. Filter by storage name. vmid: Optional. Filter by VMID to see backups of a specific guest. |
| create_backup | Create a backup (vzdump) of a VM or container. Args: vmid: The numeric ID of the VM or container to back up. storage_name: Target storage for the backup (default 'local'). mode: Backup mode: 'snapshot' (no downtime, default), 'suspend', or 'stop'. compress: Compression: 'zstd' (default), 'lzo', 'gzip', or '0' (none). notes: Optional notes/description for the backup. |
| restore_backup | Restore a VM or container from a backup file. Args: volid: Volume ID of the backup (e.g. 'local:backup/vzdump-qemu-100-2024_03_04.vma.zst'). Use list_backups to find available backups. node: Target node for the restored guest. vmid: Optional VMID for the restored guest. Auto-assigned if not provided. storage_pool: Storage for restored disks (default 'local-lvm'). guest_type: Type of guest: 'vm' or 'container'. confirm: Must be true to execute. First call without confirm shows a warning. |
| exec_command | Execute a command inside a QEMU VM via the guest agent. Requires qemu-guest-agent to be installed and running inside the VM. Not supported for LXC containers. Args: vmid: The numeric ID of the VM. command: The command to execute (e.g. 'hostname', 'df -h', 'systemctl status nginx'). timeout: Max seconds to wait for command completion (default 30, max 300). |
| get_guest_metrics | Get resource usage metrics (CPU, memory, network, disk I/O) for a VM or container. Args: vmid: The numeric ID of the VM or container. timeframe: Time range for metrics. Options: 'hour', 'day', 'week', 'month', 'year'. |
| list_tasks | List recent tasks on a Proxmox node (backups, migrations, snapshots, etc.). Args: node: Name of the Proxmox node. limit: Maximum number of tasks to return (default 20, max 100). status: Optional. Filter by task status ('ok', 'error', 'running'). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |