proxmox-mcps
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROXMOX_HOST | Yes | Proxmox host address (e.g., proxmox.example.com) | |
| PROXMOX_PORT | No | Proxmox port | 8006 |
| PROXMOX_USER | No | Proxmox user (e.g., root@pam) | root@pam |
| PROXMOX_DEV_MODE | No | Enable dev mode (true/false) | false |
| PROXMOX_TOKEN_NAME | Yes | API token name | |
| PROXMOX_VERIFY_SSL | No | Whether to verify SSL (true/false) | true |
| PROXMOX_TOKEN_VALUE | Yes | API token value (UUID) | |
| PROXMOX_DANGEROUSLY_ALLOW_DESTRUCTIVE | No | Allow destructive operations without approval token (true/false) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_cluster_statusA | Return quorum status, cluster name/version, and a list of nodes with their online state and IDs. |
| get_nodesA | List all nodes in the cluster with their status, CPU, memory, uptime, and role. |
| get_node_statusA | Get detailed status (CPU, memory, uptime, storage) for a single Proxmox node. |
| get_node_syslogB | Read recent syslog lines from a Proxmox node. |
| get_node_journalA | Read recent systemd journal entries from a Proxmox node. |
| get_storageA | List all configured storage pools cluster-wide with type, content types, and aggregate usage. |
| list_tasksA | List recent Proxmox tasks cluster-wide (UPIDs). Useful for finding background work and diagnosing failures. |
| get_taskA | Get the current status of a Proxmox task by its UPID (e.g. 'UPID:pve:000B5C66:...'). |
| get_task_logB | Stream log lines from a Proxmox task (UPID). Useful for diagnosing failures. |
| list_jobsA | List long-running Proxmox jobs tracked by this MCP server (e.g. create_vm, snapshot, backup). |
| get_jobA | Fetch a single tracked job by job_id, optionally refreshing from Proxmox. |
| poll_jobA | Force-refresh a tracked job by polling its underlying Proxmox task. Returns the latest state, exit status, progress, and recent log tail. |
| cancel_jobA | Request cancellation of a tracked job. Calls Proxmox's task-stop endpoint. Some operations cannot be cancelled cleanly. |
| retry_jobA | Re-invoke the originating tool for a failed/cancelled job, using the stored retry recipe. Returns the new job_id. |
| list_snapshotsB | List all snapshots for a QEMU VM or LXC container. |
| create_snapshotA | Take a snapshot of a QEMU VM (optionally including RAM state) or LXC container. |
| delete_snapshotA | Delete a snapshot from a VM or container. DESTRUCTIVE — ask the user to confirm before invoking. |
| rollback_snapshotA | Revert a VM or container to a previous snapshot state. VM/container will be stopped first. DESTRUCTIVE — ask the user to confirm before invoking. |
| list_backupsA | List vzdump backup files cluster-wide. Filter by node, storage pool, or VM ID. |
| create_backupB | Trigger a vzdump backup of a VM or container to a target storage pool. |
| restore_backupA | Restore a vzdump archive as a new VM/container. DESTRUCTIVE — ask the user to confirm before invoking. |
| delete_backupA | Permanently delete a vzdump backup file. DESTRUCTIVE — ask the user to confirm before invoking. |
| prune_backupsA | Apply a prune schedule (e.g. 'keep-last=7,keep-daily=14,keep-weekly=4') to a storage pool (Proxmox 8+). |
| list_isosB | List ISO images available on the cluster. |
| list_templatesA | List LXC OS templates (vztmpl) available on the cluster. |
| download_isoA | Trigger a server-side download from a URL into a storage pool (useful for large ISOs). Proxmox fetches the file directly. |
| delete_isoA | Permanently delete an ISO or template. DESTRUCTIVE — ask the user to confirm before invoking. |
| get_vmsA | List all QEMU VMs across the cluster with current status and resource usage. |
| get_vm_configA | Return the full Proxmox VM configuration (cores, memory, disks, network, etc.). |
| get_vm_statusA | Return live status (cpu, mem, uptime, qmpstatus) of a VM. |
| create_vmA | Create a new QEMU VM. Auto-detects default storage for the disk. Use clone_vm to duplicate from a template. |
| clone_vmB | Full or linked clone of an existing VM. |
| start_vmC | Power on a QEMU VM. |
| stop_vmB | Hard stop (immediate power off) — equivalent to pulling the plug. |
| shutdown_vmB | ACPI shutdown. The guest OS must respond (install qemu-guest-agent for reliability). |
| reset_vmC | Hard reset — equivalent to pressing the reset button. |
| reboot_vmB | ACPI reboot. Guest OS must respond. |
| delete_vmA | Permanently delete a VM and its disks. DESTRUCTIVE — ask the user to confirm before invoking. |
| get_containersA | List all LXC containers across the cluster with status and resource usage. |
| get_container_configB | Return the full Proxmox container configuration. |
| get_container_statusB | Return live status (cpu, mem, uptime) of a container. |
| get_container_ipA | Return the container's network interfaces with their IPv4/IPv6 addresses (DHCP-aware — no static IP needed). |
| create_containerB | Create a new LXC container from a vztmpl template. |
| clone_containerB | Clone an existing container to a new ID on the same or different node. |
| start_containerB | Start an LXC container. |
| stop_containerB | Hard-stop (immediate power off) the container. |
| shutdown_containerB | Graceful shutdown via |
| restart_containerC | Reboot an LXC container. |
| delete_containerB | Permanently delete a container and its data. DESTRUCTIVE — ask the user to confirm before invoking. |
| update_container_resourcesA | Convenience wrapper around update_container_config that resizes CPU, memory, swap, and disk in one call. |
| update_vm_configA | Patch one or more VM configuration keys (cores, memory, scsi0 size, net0, ostype, etc.). Use current=true to update a running VM where supported. Only a safe allowlist of keys is accepted — keys that can attach host PCI/USB devices, override SMBIOS, or change the QEMU machine type are rejected. HIGH RISK — ask the user to confirm before invoking. |
| resize_vm_diskB | Resize a VM disk (e.g. scsi0, virtio0). Use a '+N' suffix on size to grow, or absolute size like '50G'. |
| regenerate_vm_configA | Regenerate the VM's MAC addresses and (optionally) SMBIOS UUID. Useful after cloning. |
| set_vm_cloudinitB | Set cloud-init parameters (user, password, SSH keys, IP config, DNS, search domain) and regenerate the cloud-init ISO. |
| get_vm_pendingA | Return pending config values not yet applied (only present when running config has pending changes). |
| update_container_configA | Patch one or more LXC container configuration keys (cores, memory, net0, features, etc.). |
| resize_container_diskA | Resize an LXC container volume (e.g. rootfs, mp0). Use '+N' for relative growth, or absolute size like '20G'. |
| move_container_volumeA | Move an LXC volume (rootfs or mountpoint) to a different storage. Useful for migrating off slow disks. |
| get_vm_rrdA | Return raw RRD metrics (cpu, mem, netin/out, diskread/write) for a VM at a given timeframe. Used for charting and capacity analysis. |
| get_vm_rrddataA | Return recent RRD samples for a VM. Cheaper than get_vm_rrd for ad-hoc checks. |
| vm_agent_infoB | Return QEMU guest agent metadata. |
| vm_agent_get_hostnameB | Return the guest VM hostname. |
| vm_agent_get_osinfoC | Return guest OS info (kernel, name, version, pretty name). |
| vm_agent_get_usersB | Return logged-in users inside the guest. |
| vm_agent_get_network_interfacesB | Return network interfaces from inside the guest (with IPs). |
| vm_agent_get_vcpusB | Return vCPU topology and current usage from inside the guest. |
| vm_agent_get_timeA | Return guest clock time and skew vs host. |
| vm_agent_get_fsinfoA | Return guest filesystem info (mountpoints, used/free bytes). |
| vm_agent_fstrimA | Issue fstrim to the guest VM, returning free blocks to the hypervisor (reduces provisioned storage). |
| vm_agent_execA | Run a shell command inside a VM via the QEMU guest agent. Returns a pid; poll exec_status for output. |
| vm_agent_exec_statusA | Return exit status + captured stdout/stderr for a previously launched exec. |
| vm_agent_set_user_passwordA | Set a user password inside the guest via QEMU agent. HIGH RISK — ask the user to confirm before invoking. |
| vm_sendkeyA | Send a key combination to a QEMU VM (useful for unlocking screens, sending Ctrl+Alt+Del, etc.). |
| vm_monitorB | Run an arbitrary QEMU monitor command. Examples: 'info status', 'dump-guest-memory', 'screendump /tmp/screen.ppm'. MEDIUM RISK. |
| vm_firewall_rulesB | Return the firewall rules for a VM's network interface. |
| vm_firewall_optionsB | Return VM-level firewall options (enable, dhcp, macfilter, etc.). |
| get_container_rrdC | Return RRD time series for an LXC container. |
| get_container_rrddataC | Return recent RRD samples for an LXC container. |
| container_firewall_rulesC | Return firewall rules for an LXC container. |
| container_firewall_optionsC | Return container firewall options. |
| execute_container_commandA | Run a shell command inside an LXC container by shelling out to |
| migrate_vmA | Migrate a VM to a different node (live or offline). With online=true the VM keeps running during migration. |
| move_vm_diskA | Move a VM's disk to a different storage pool. Useful for migrating off slow disks or balancing storage. |
| convert_vm_to_templateA | Convert a VM into a Proxmox template (subsequent clones can use it as a source). HIGH RISK — original VM becomes read-only. Ask the user to confirm before invoking. |
| unlink_vm_diskA | Detach a disk from a VM (the disk file remains on the storage pool). Use move_vm_disk to migrate; use delete via Proxmox UI to actually remove. |
| migrate_containerB | Migrate an LXC container to a different node (online/offline). With online=true the container keeps running. |
| move_container_diskC | Move a container volume to a different storage pool. |
| convert_container_to_templateA | Convert an LXC container into a template. HIGH RISK — original becomes read-only. Ask the user to confirm before invoking. |
| unlink_container_diskB | Detach an LXC volume (file remains on storage pool). |
| vm_vncproxyB | Generate a VNC ticket and port to open a remote console to the VM. Returns a one-time ticket for noVNC clients. |
| vm_termproxyC | Generate a serial terminal (termproxy) ticket for the VM. |
| vm_spiceproxyB | Generate a SPICE ticket for high-fidelity VM console access. |
| vm_mtunnelA | Open a tunnel for VM migration. Returns port/ticket info for the migration proxy. |
| vm_mtunnelwebsocketC | Upgrade an existing migration tunnel to a WebSocket. |
| vm_featureC | Enable or disable a Proxmox VM feature (snapshot, clone, clone_from_template, migration). |
| container_vncproxyC | Generate a VNC ticket for an LXC container console. |
| container_termproxyB | Generate a terminal proxy ticket for an LXC container. |
| container_spiceproxyB | Generate a SPICE ticket for an LXC container. |
| list_poolsA | List all resource pools cluster-wide with member counts. |
| get_poolA | Get a single resource pool with its members. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ngocdd/proxmox-mcps'
If you have feedback or need assistance with the MCP directory API, please join our Discord server