proxmox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| resource_summaryA | Get a one-shot overview of the whole Proxmox host: node health, every VM and container, and every storage. Start here — it orients you in a single call instead of a dozen. |
| node_statusA | Get detailed live status for the Proxmox node: CPU, memory, swap, root filesystem, load average, uptime, kernel, and PVE version. |
| list_guestsA | List every VM and LXC container with vmid, name, type, status, and the confirm token used by destructive tools. |
| guest_configA | Get the full configuration of a VM or container: disks, network interfaces, memory, CPU, boot order, and every other config key. |
| guest_statusA | Get live runtime status for a VM or container: power state, uptime, CPU and memory usage, disk and network I/O counters. |
| list_storageA | List configured storages with type, enabled state, content types allowed, and space used vs available. |
| storage_contentA | List volumes in a storage: disk images, ISOs, container templates, and backup archives. Args: storage: Storage ID, e.g. "local" or "local-lvm". content: Optional filter — "images", "iso", "vztmpl", "backup", "rootdir", "snippets". vmid: Optional filter to volumes belonging to one guest. |
| list_networksA | List network interfaces on the node: bridges, bonds, VLANs and physical NICs, with their configured and active state. |
| list_tasksA | List recent Proxmox tasks (the job log behind every operation), newest first. Use this to find out what happened and why something failed. Args: limit: Maximum tasks to return. errors_only: Only tasks that ended in an error. vmid: Only tasks for one guest. typefilter: Only one task type, e.g. "vzdump", "qmstart", "qmdestroy". |
| task_logA | Get the status and full output log of one task, identified by its UPID. Args: upid: Task ID, e.g. "UPID:pve:0000ABCD:...". limit: Maximum log lines. |
| list_snapshotsA | List snapshots of a VM or container, including the synthetic "current" entry, with the confirm token needed to delete or roll back each one. |
| list_backupsA | List backup archives across every backup-capable storage, plus the configured scheduled backup jobs. Args: vmid: Optional filter to one guest's backups. |
| node_servicesA | List Proxmox system services (pveproxy, pvedaemon, pve-cluster, ...) and whether each is running. |
| read_syslogA | Read the node's system log, newest entries last. Args: limit: Maximum lines to return. since: Optional start time, e.g. "2026-08-05" or "-1h". service: Optional systemd unit to filter to, e.g. "pveproxy". |
| list_accessA | List users, groups, roles, and resource pools configured on the host. |
| node_updatesA | List available package updates for the node, including which are security updates. Read-only — this does not install anything. |
| pve_discoverA | List the child endpoints of a Proxmox API path, so you can walk the API tree to anything the curated tools do not cover. Args: path: API path to list, e.g. "/", "/nodes", "/nodes/pve", "/cluster". |
| pve_getA | Read any Proxmox API endpoint directly. Always safe — GET never mutates. Use pve_discover to find paths. Example: pve_get("/nodes/pve/qemu/100/firewall/rules"). Args: path: Full API path, starting with "/". params: Optional query parameters. |
| start_guestA | Start a stopped VM or container. |
| shutdown_guestA | Gracefully shut down a VM or container, asking the guest OS to power off. Args: vmid: Guest to shut down. timeout: Seconds to wait for the guest before giving up. force_stop: Hard-stop the guest if the graceful shutdown times out. |
| stop_guestA | Immediately stop a VM or container, like pulling the power cord. The guest OS gets no chance to flush its disks — prefer shutdown_guest. |
| reboot_guestA | Gracefully reboot a VM or container. Args: vmid: Guest to reboot. timeout: Seconds to wait for the shutdown half of the reboot. |
| suspend_guestA | Suspend a running VM. Args: vmid: Guest to suspend. to_disk: Write memory state to disk (hibernate) instead of holding it in RAM. |
| resume_guestB | Resume a suspended VM or container. |
| wait_for_taskA | Block until a Proxmox task finishes, then report how it ended. Use this when another tool returned a UPID because the job outlived its polling budget. Args: upid: Task ID returned by an earlier tool. timeout: Maximum seconds to wait. |
| create_vmA | Create a new QEMU virtual machine. Args: vmid: New VM ID. Must not already exist — check list_guests first. name: VM name. memory_mb: RAM in megabytes. cores: CPU cores per socket. sockets: CPU sockets. disk: Boot disk spec, e.g. "local-lvm:32" for a 32 GB disk on local-lvm. iso: Installer ISO volume, e.g. "local:iso/debian-12.iso". Attached as ide2. bridge: Network bridge for net0. ostype: Proxmox OS type, e.g. "l26" (Linux 6.x), "win11". start: Start the VM once created. extra: Any other Proxmox VM config key, e.g. {"agent": "1", "bios": "ovmf"}. |
| create_containerA | Create a new LXC container. Args: vmid: New container ID. Must not already exist. hostname: Container hostname. ostemplate: Template volume, e.g. "local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst". Find available templates with storage_content(storage="local", content="vztmpl"). storage: Storage for the root filesystem. rootfs_gb: Root filesystem size in gigabytes. memory_mb: RAM in megabytes. cores: CPU cores. bridge: Network bridge for net0. ip: Address for net0 — "dhcp" or CIDR like "192.168.1.50/24". unprivileged: Run unprivileged. Leave true unless you need host device access. ssh_public_keys: Public keys to install for root. Prefer this over a password. start: Start the container once created. extra: Any other Proxmox container config key, e.g. {"nameserver": "1.1.1.1"}. |
| set_guest_configA | Change configuration keys on an existing VM or container. Args: vmid: Guest to reconfigure. settings: Config keys to set, e.g. {"memory": "4096", "cores": "4", "net0": "virtio,bridge=vmbr0", "onboot": "1", "tags": "web;prod"}. Read guest_config first to see current values. |
| grow_diskA | Grow a guest disk. Growth only — shrinking is destructive and lives in shrink_disk. Args: vmid: Guest whose disk to grow. disk: Disk key from guest_config, e.g. "scsi0", "virtio0", "rootfs". increment: Amount to add, e.g. "+10G" or "+512M". Must start with "+". |
| clone_guestA | Clone a VM or container into a new guest. Args: vmid: Source guest to clone. new_vmid: ID for the clone. Must not already exist. name: Name or hostname for the clone. full: Full independent copy. False makes a linked clone, which only works from a template and stays dependent on it. storage: Target storage for a full clone. Defaults to the source's. |
| create_snapshotA | Take a snapshot of a VM or container. Args: vmid: Guest to snapshot. snapname: Snapshot name. Letters, digits, hyphens and underscores. description: Optional note stored with the snapshot. include_ram: For VMs, also save RAM so the guest resumes mid-run. |
| create_backupA | Back up a VM or container with vzdump. Args: vmid: Guest to back up. storage: Backup-capable storage to write to. mode: "snapshot" (no downtime), "suspend", or "stop". compress: "zstd", "gzip", "lzo", or "0" for none. notes: Optional note attached to the archive. wait: Seconds to wait before returning a UPID instead of a result. |
| convert_to_templateA | Convert a stopped VM or container into a template. This is one-way — the guest can no longer be started, only cloned from. |
| download_to_storageA | Download an ISO or container template straight to a storage. Args: storage: Target storage, usually "local". url: HTTP(S) URL to fetch. filename: Filename to save as, e.g. "debian-12.iso". content: "iso" or "vztmpl". checksum: Optional expected checksum. Supply it when the source publishes one. checksum_algorithm: "md5", "sha1", "sha224", "sha256", "sha384", or "sha512". wait: Seconds to wait before returning a UPID instead of a result. |
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/ssan9876/proxmox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server