proxmox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROXMOX_HOST | Yes | Proxmox host (IP or hostname) | |
| PROXMOX_PORT | No | API port | 8006 |
| PROXMOX_USER | No | API user | root@pam |
| PROXMOX_PASSWORD | No | Proxmox password (fallback auth) | |
| PROXMOX_RISK_LEVEL | No | Risk level: read / lifecycle / all | read |
| PROXMOX_TOKEN_NAME | No | API token name (recommended auth) | |
| PROXMOX_VERIFY_SSL | No | Verify TLS certificate | false |
| PROXMOX_TOKEN_VALUE | No | API token value |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_nodesA | List all nodes in the Proxmox cluster with status, CPU, memory, and uptime. |
| get_node_statusB | Get detailed status of a node: CPU, memory, disk, load average, kernel version. |
| get_node_networksA | List network interfaces on a node. |
| get_node_disksA | List physical disks on a node. |
| get_node_tasksA | List recent tasks on a node. |
| get_task_statusA | Get status of a specific task by its UPID. |
| get_task_logB | Get log output from a specific task. |
| list_vmsA | List all QEMU VMs in the cluster, optionally filtered by node. |
| get_vm_statusA | Get current runtime status of a VM (running/stopped, CPU, memory, uptime). |
| get_vm_configA | Get VM configuration: hardware, boot order, disks, network, cloud-init, etc. |
| list_vm_snapshotsA | List all snapshots of a VM. |
| start_vmA | Start a VM. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| stop_vmB | Force-stop a VM (like pulling the power). Requires PROXMOX_RISK_LEVEL=lifecycle. |
| shutdown_vmA | Gracefully shutdown a VM via ACPI. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| reboot_vmA | Reboot a VM via ACPI. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| suspend_vmA | Suspend a VM (pause execution, keep memory). Requires PROXMOX_RISK_LEVEL=lifecycle. |
| resume_vmA | Resume a suspended VM. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| clone_vmA | Clone a VM into a new VM. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| create_vm_snapshotA | Create a snapshot of a VM. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| delete_vm_snapshotA | Delete a VM snapshot. Irreversible. Requires PROXMOX_RISK_LEVEL=all. |
| rollback_vm_snapshotA | Roll back a VM to a snapshot. Discards changes made since the snapshot. Requires PROXMOX_RISK_LEVEL=all. |
| list_containersA | List all LXC containers in the cluster, optionally filtered by node. |
| get_container_statusA | Get current runtime status of an LXC container (running/stopped, CPU, memory). |
| get_container_configA | Get LXC container configuration: rootfs, network, resources, hostname. |
| list_container_snapshotsA | List all snapshots of an LXC container. |
| start_containerA | Start an LXC container. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| stop_containerA | Force-stop an LXC container. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| shutdown_containerA | Gracefully shutdown an LXC container. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| reboot_containerA | Reboot an LXC container. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| create_container_snapshotA | Create a snapshot of an LXC container. Requires PROXMOX_RISK_LEVEL=lifecycle. |
| delete_container_snapshotA | Delete an LXC container snapshot. Irreversible. Requires PROXMOX_RISK_LEVEL=all. |
| rollback_container_snapshotA | Roll back an LXC container to a snapshot. Discards changes since then. Requires PROXMOX_RISK_LEVEL=all. |
| list_storageA | List storage pools with usage info, optionally filtered by node. |
| get_storage_contentA | List contents of a storage pool: ISOs, disk images, backups, container templates. |
| get_cluster_statusA | Get overall cluster status: quorum state and node membership. |
| get_cluster_resourcesA | List all resources in the cluster (VMs, containers, storage, nodes). |
| get_cluster_backupsA | List all backup jobs configured in the cluster (vzdump schedules). |
| get_next_vmidA | Get the next available VM/container ID in the cluster. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 38 tools
Each tool targets a distinct resource type (VM, container, node, storage, cluster) and action, with no overlap. For example, VM operations are separate from container operations, and snapshot operations are distinct from lifecycle operations.
All tools follow a consistent verb_noun pattern using snake_case, e.g., list_vms, get_vm_config, start_container. The naming is predictable and mirrors each other for VMs and containers.
38 tools is on the higher end but justified for a comprehensive Proxmox management server covering VMs, containers, snapshots, cluster, nodes, storage, and tasks. Minor redundancy exists (e.g., separate get and list for VMs and containers) but overall scope is appropriate.
The tool set lacks essential CRUD operations: there is no create VM or container (only clone_vm exists), no delete VM or container, and no update/configure tools. This leaves significant gaps in managing the full lifecycle of resources.