Skip to main content
Glama
nrohozen

proxmox-mcp

by nrohozen

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROXMOX_BASE_URLYesThe scheme, host, and optional port of the Proxmox VE API (e.g., https://proxmox.example.com:8006)
PROXMOX_TOKEN_IDYesThe API token ID (e.g., mcp@pve!proxmox)
PROXMOX_VERIFY_TLSNoWhether to verify TLS certificates. Set to 'false' for self-signed certificates.false
PROXMOX_TOKEN_SECRETYesThe API token secret

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_nodesA

List Proxmox nodes with status and resource usage (CPU, memory in GB, uptime).

list_guestsA

List all VMs and containers across the cluster.

Returns vmid, name, node, type (qemu=VM, lxc=container), status, and usage. Optionally filter by type ("qemu" or "lxc").

guest_statusB

Detailed current status of one VM or container.

Needs node (e.g. "pve1"), vmid, and type ("qemu" or "lxc"). Use list_guests first to find these.

storageA

List storage pools with real usage (GB). Optionally scope to one node.

Uses the per-node endpoint (which reports used/total/avail); with no node it queries every node so usage is populated rather than null.

storage_contentA

List what's stored on a storage pool — templates, ISOs, backups, disk images.

content optionally filters by type: vztmpl | iso | backup | images | rootdir. Useful for finding a template/ISO volid or seeing which disk images live on a pool. Needs the node and the storage id (from storage).

recent_tasksB

Recent task log for a node (migrations, starts, backups, etc.).

task_statusA

Status (and tail of the log) of a Proxmox task by its UPID.

Get a UPID from recent_tasks or from a power tool's return value. Tells you whether the task is running or finished, its exit status ("OK" or an error), and the last log_lines lines of output.

guest_configA

Full provisioning config of a VM/container: cores, memory (MB), disks/mounts, network, etc.

Needs node, vmid, type ("qemu"/"lxc"). Returns Proxmox's raw config keys (e.g. cores, memory, rootfs/mp0…, net0, ostype). Use this to see how a guest is provisioned before calling set_guest_resources.

guest_networkA

Live network interfaces and IP addresses of a running guest.

LXC reads directly; QEMU requires the guest agent (returns a note if it's not installed/running). Needs node, vmid, type.

start_guestA

Start a stopped VM or container. Needs node, vmid, type ("qemu"/"lxc").

shutdown_guestA

Gracefully shut down a guest (sends ACPI/clean shutdown to the OS).

Preferred over stop_guest. Needs node, vmid, type.

stop_guestA

Hard-stop a guest (pulls the virtual power cord — may lose unsaved data).

Use shutdown_guest unless the guest is unresponsive. Needs node, vmid, type.

reboot_guestC

Reboot a guest gracefully. Needs node, vmid, type.

set_guest_resourcesA

Change a guest's CPU cores and/or memory. RECONFIGURES the guest.

  • cores: CPU core count (LXC = total cores; QEMU = cores per socket).

  • memory_mb: RAM in MB.

Provide at least one. For LXC this applies live (no reboot). For QEMU, core/ memory changes generally take effect on the next reboot. Read the current values first with guest_config. Needs node, vmid, type.

list_snapshotsC

List a guest's snapshots (plus the synthetic current state). Needs node, vmid, type.

create_snapshotA

Take a snapshot named name — the safety net before a risky change.

Optional description. Returns the task UPID (track with task_status). Needs node, vmid, type.

rollback_snapshotA

Roll a guest BACK to snapshot name — discards ALL changes since it. IRREVERSIBLE.

Two-step by design: call without confirm to get a preview (nothing changes); then re-call with confirm set to the guest's exact name to actually roll back. Needs node, vmid, type.

delete_snapshotA

Delete snapshot name (frees its disk usage; does not affect the running guest).

Needs node, vmid, type. Returns the task UPID.

list_backupsA

List backup archives on a storage, newest first. Optionally filter to one vmid.

Needs the node and storage id (from storage).

create_backupA

Back up a guest now (vzdump) to storage. mode="snapshot" runs with no downtime.

  • mode: snapshot (live, default) | suspend | stop.

  • compress: zstd (default) | gzip | lzo | 0 (none).

Returns the task UPID (track with task_status). Needs node, vmid, storage.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/nrohozen/proxmox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server