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

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

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

TDQS

B3.4/5.0

Scored across 20 tools

Disambiguation5/5

Each tool targets a distinct operation: backup, snapshot lifecycle, guest configuration reading and modification, status queries, resource listing, power management, and task tracking. No two tools overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_backup, list_guests, rollback_snapshot). No mixing of styles or vague verbs.

Tool Count4/5

With 20 tools, the server covers a broad range of Proxmox administration tasks. While it's slightly on the larger side, each tool serves a clear purpose and the count is still manageable for the domain.

Completeness2/5

The tool set lacks essential lifecycle operations: there is no tool to create or delete a guest, clone, or migrate. While backup, snapshot, and power control are covered, these missing functions create dead ends for common workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues