Proxmox
PX
Official

Proxmox

by Orcorus ยท Ai-Ml

0.0 ยท 0 reviews
5 installs ยท 53 tools

An enhanced Python-based Model Context Protocol (MCP) server for interacting with Proxmox virtualization platforms.

Proxmox VE MCP Server

Manage Proxmox VE clusters โ€” VMs, containers, nodes, storage, and tasks โ€” via the Model Context Protocol.

  • Image: orcorus/proxmox:v1.0.0
  • Transport: STDIO
  • Tools: 53

Configuration

Variable Required Description Example
HOST yes Proxmox hostname or IP address pve.example.com
PORT yes Proxmox API port 8006
API_TOKEN yes PVE API token (secret) user@realm!tokenid=xxxxxxxx-xxxx-xxxx-xxxx-xxxx
VERIFY_SSL no Set to 1 to enable TLS certificate verification 0
TIMEOUT_S no HTTP request timeout in seconds (default: 30) 30

Creating a Proxmox API token

In the Proxmox web UI: Datacenter > Permissions > API Tokens > Add

The token format is: user@realm!tokenid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Grant the token the minimum permissions needed for your use case (e.g. PVEVMAdmin for VM management).

Running with Docker

docker run --rm -i \
  -e HOST=pve.example.com \
  -e PORT=8006 \
  -e API_TOKEN=user@pam!mytoken=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  orcorus/proxmox:v1.0.0

Tools

Cluster

Tool Description
proxmox_version Get Proxmox VE API version and server build info
proxmox_cluster_status Get cluster status, nodes, and quorum
proxmox_cluster_resources List all cluster resources (VMs, containers, storage, nodes)
proxmox_cluster_tasks List recent cluster-wide tasks

Nodes

Tool Description
proxmox_list_nodes List all nodes with status and resource summary
proxmox_node_status Get CPU, memory, uptime, and kernel info for a node
proxmox_node_services List system services on a node
proxmox_node_rrd Get RRD performance time-series data for a node
proxmox_node_tasks List recent tasks on a node

Tasks

Tool Description
proxmox_task_status Get status of a task by UPID
proxmox_task_log Get log output of a task by UPID
proxmox_task_stop Stop / cancel a running task

VMs (QEMU/KVM)

Tool Description
proxmox_list_vms List all QEMU VMs on a node
proxmox_vm_status Get runtime status of a VM (running/stopped, CPU%, mem)
proxmox_vm_config Get hardware configuration of a VM
proxmox_vm_start Start a stopped VM
proxmox_vm_stop Immediately power-off a VM
proxmox_vm_shutdown Gracefully shut down a VM via ACPI
proxmox_vm_reboot Gracefully reboot a VM
proxmox_vm_reset Hard-reset a VM
proxmox_vm_suspend Suspend a running VM
proxmox_vm_resume Resume a suspended VM
proxmox_vm_snapshot_list List snapshots for a VM
proxmox_vm_snapshot_create Create a VM snapshot (optionally include RAM state)
proxmox_vm_snapshot_rollback Rollback a VM to a snapshot
proxmox_vm_snapshot_delete Delete a VM snapshot
proxmox_vm_rrd Get RRD performance time-series data for a VM

QEMU Guest Agent

These tools require the QEMU guest agent to be installed and running inside the VM.

Tool Description
proxmox_vm_agent_ping Ping the guest agent to verify it is responsive
proxmox_vm_agent_info Get guest agent version and supported commands
proxmox_vm_agent_osinfo Get OS name, version, and kernel from inside the VM
proxmox_vm_agent_network Get network interfaces and IP addresses from inside the VM
proxmox_vm_agent_fsinfo Get filesystem mount points and usage from inside the VM
proxmox_vm_exec Start a command inside a VM (non-blocking, returns PID)
proxmox_vm_exec_status Poll the result of a guest exec by PID
proxmox_vm_exec_sync Run a command inside a VM and wait for it to finish
proxmox_vm_file_read Read a file from inside a VM via the guest agent
proxmox_vm_file_write Write a file inside a VM via the guest agent

LXC Containers

Tool Description
proxmox_list_containers List all LXC containers on a node
proxmox_container_status Get runtime status of an LXC container
proxmox_container_config Get configuration of an LXC container
proxmox_container_start Start a stopped LXC container
proxmox_container_stop Immediately stop an LXC container
proxmox_container_shutdown Gracefully shut down an LXC container
proxmox_container_reboot Reboot an LXC container
proxmox_container_snapshot_list List snapshots for an LXC container
proxmox_container_snapshot_create Create an LXC container snapshot
proxmox_container_snapshot_rollback Rollback an LXC container to a snapshot
proxmox_container_rrd Get RRD performance time-series data for an LXC container

Storage

Tool Description
proxmox_list_storage List storage pools (cluster-wide or per node)
proxmox_storage_content List disk images, ISOs, templates, and backups in a storage pool
proxmox_storage_status Get capacity and usage statistics for a storage pool

Pools

Tool Description
proxmox_list_pools List all resource pools in the cluster
proxmox_pool_status Get members and details of a resource pool

Security

  • API token only โ€” password/ticket authentication is not supported.
  • All path, node, VMID, and UPID parameters are validated with strict regex before use.
  • Guest exec commands must be passed as a JSON array (e.g. ["ls", "-la", "/tmp"]); no shell string is accepted, preventing shell injection.
  • Guest file writes are capped at 1 MiB; path traversal (..) and null bytes are rejected.
  • The container runs as a non-root user (mcp).
  • TLS verification is off by default (common for self-signed Proxmox certs); set VERIFY_SSL=1 in production environments with valid certificates.
proxmox_version Get Proxmox VE API version and server build information.
proxmox_cluster_status Get overall Proxmox cluster status โ€” nodes, quorum, and health.
proxmox_cluster_resources List all resources across the cluster. Optional filter: vm | lxc | node | storage | pool.

Parameters

resource_type Optional filter: vm | lxc | node | storage | pool. Leave empty for all.
proxmox_cluster_tasks List recent cluster-wide tasks from all nodes.
proxmox_list_nodes List all nodes in the cluster with their status and resource summary.
proxmox_node_status Get detailed status for a node: CPU, memory, swap, uptime, kernel version.

Parameters

node Node name (e.g. pve). required
proxmox_node_services List system services on a node (pveproxy, pvedaemon, ceph, etc.).

Parameters

node Node name. required
proxmox_node_rrd Get RRD performance data for a node.

Parameters

node Node name. required
timeframe One of: hour | day | week | month | year.
proxmox_node_tasks List recent tasks on a node.

Parameters

node Node name. required
limit Max results 1โ€“500 (default 50).
proxmox_task_status Get the current status of a task by its UPID.

Parameters

node Node name. required
upid Proxmox UPID string. required
proxmox_task_log Get log output for a task.

Parameters

node Node name. required
upid Task UPID string. required
limit Max log lines 1โ€“10000 (default 100).
proxmox_task_stop Stop / cancel a running task.

Parameters

node Node name. required
upid Task UPID string. required
proxmox_list_vms List all QEMU/KVM VMs on a node with status and resource usage.

Parameters

node Node name. required
proxmox_vm_status Get current runtime status of a VM (running/stopped, CPU%, memory, disk I/O).

Parameters

node Node name. required
vmid VM ID (integer >= 100). required
proxmox_vm_config Get the hardware configuration of a VM (CPU, memory, disks, NICs, boot order).

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_start Start a stopped VM. Returns a task UPID to track progress.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_stop Immediately power-off a VM (equivalent to pulling the power cord). Use proxmox_vm_shutdown for a graceful shutdown.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_shutdown Gracefully shut down a VM via an ACPI power button event.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_reboot Gracefully reboot a VM via ACPI.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_reset Hard-reset a VM (like pressing the physical reset button โ€” no graceful shutdown).

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_suspend Suspend (pause) a running VM.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_resume Resume a suspended VM.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_snapshot_list List all snapshots for a VM.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_snapshot_create Create a snapshot of a VM. Returns a task UPID.

Parameters

node Node name. required
vmid VM ID. required
snapname Snapshot name (alphanumeric, dash, underscore, max 40 chars). required
description Optional human-readable description.
vmstate Include RAM state in snapshot.
proxmox_vm_snapshot_rollback Rollback a VM to a previous snapshot. Returns a task UPID.

Parameters

node Node name. required
vmid VM ID. required
snapname Snapshot name to restore. required
proxmox_vm_snapshot_delete Delete a VM snapshot. Returns a task UPID.

Parameters

node Node name. required
vmid VM ID. required
snapname Snapshot name to delete. required
proxmox_vm_rrd Get RRD performance time-series data for a VM.

Parameters

node Node name. required
vmid VM ID. required
timeframe One of: hour | day | week | month | year.
proxmox_vm_agent_ping Ping the QEMU guest agent to verify it is running and responsive.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_agent_info Get QEMU guest agent version and the list of supported commands.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_agent_osinfo Get OS information from inside the VM via the guest agent (distribution, version, kernel, machine type).

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_agent_network Get network interfaces and their IP addresses from inside the VM via the guest agent.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_agent_fsinfo Get filesystem information (mount points, type, usage) from inside the VM.

Parameters

node Node name. required
vmid VM ID. required
proxmox_vm_exec Execute a command inside a VM via the QEMU guest agent (non-blocking). Returns a PID. Use proxmox_vm_exec_status to poll for the result, or use proxmox_vm_exec_sync to block until the command finishes. The command MUST be a JSON array โ€” e.g. ["ls", "-la", "/var/log"]. No shell is invoked; each element is a distinct argument.

Parameters

node Node name. required
vmid VM ID. required
command Command and arguments as a JSON array of strings. required
stdin Optional string to send as stdin (max 1 MiB).
proxmox_vm_exec_status Poll the status of a guest exec process started with proxmox_vm_exec. stdout and stderr are automatically base64-decoded. Check the 'exited' field; if false the process is still running.

Parameters

node Node name. required
vmid VM ID. required
pid PID returned by proxmox_vm_exec. required
proxmox_vm_exec_sync Execute a command inside a VM via the QEMU guest agent and wait for it to finish. Returns decoded stdout, stderr, and exit code in one response. The command MUST be a JSON array โ€” e.g. ["systemctl", "status", "nginx"]. No shell is invoked; each element is a distinct argument.

Parameters

node Node name. required
vmid VM ID. required
command Command and arguments as a JSON array of strings. required
stdin Optional stdin string (max 1 MiB).
timeout_s Seconds to wait before giving up (1โ€“300, default 30).
proxmox_vm_file_read Read a file from inside a VM via the QEMU guest agent.

Parameters

node Node name. required
vmid VM ID. required
path Absolute path inside the VM (e.g. /etc/os-release). required
proxmox_vm_file_write Write text content to a file inside a VM via the QEMU guest agent. Max 1 MiB.

Parameters

node Node name. required
vmid VM ID. required
path Absolute path inside the VM (e.g. /tmp/deploy.sh). required
content UTF-8 text to write. Maximum 1 MiB. required
proxmox_list_containers List all LXC containers on a node.

Parameters

node Node name. required
proxmox_container_status Get current runtime status of an LXC container.

Parameters

node Node name. required
vmid Container ID. required
proxmox_container_config Get configuration of an LXC container (cores, memory, rootfs, network).

Parameters

node Node name. required
vmid Container ID. required
proxmox_container_start Start a stopped LXC container.

Parameters

node Node name. required
vmid Container ID. required
proxmox_container_stop Immediately stop an LXC container (forceful, no graceful shutdown).

Parameters

node Node name. required
vmid Container ID. required
proxmox_container_shutdown Gracefully shut down an LXC container.

Parameters

node Node name. required
vmid Container ID. required
proxmox_container_reboot Reboot an LXC container.

Parameters

node Node name. required
vmid Container ID. required
proxmox_container_snapshot_list List snapshots for an LXC container.

Parameters

node Node name. required
vmid Container ID. required
proxmox_container_snapshot_create Create a snapshot of an LXC container.

Parameters

node Node name. required
vmid Container ID. required
snapname Snapshot name. required
description Optional description.
proxmox_container_snapshot_rollback Rollback an LXC container to a previous snapshot.

Parameters

node Node name. required
vmid Container ID. required
snapname Snapshot name to restore. required
proxmox_container_rrd Get RRD performance time-series data for an LXC container.

Parameters

node Node name. required
vmid Container ID. required
timeframe One of: hour | day | week | month | year.
proxmox_list_storage List storage pools. If node is provided, lists storage visible from that node. Empty = cluster-wide.

Parameters

node Optional node name.
proxmox_storage_content List content in a storage pool (disk images, templates, ISOs, backups).

Parameters

node Node name. required
storage Storage pool name. required
proxmox_storage_status Get capacity and usage statistics for a storage pool.

Parameters

node Node name. required
storage Storage pool name. required
proxmox_list_pools List all resource pools in the cluster.
proxmox_pool_status Get members and details of a resource pool.

Parameters

poolid Pool name. required
๐Ÿšซ
Security Tier
Reject
0
Score
out of 100
Scanned by
orcorus-marketplace-automation
Mar 13, 2026

No GitHub URL available for server.

0.0
0 reviews
5
0%
4
0%
3
0%
2
0%
1
0%

Sign in to leave a review

No reviews yet โ€” be the first!

Connect โ†’
0.0
โ˜… Rating
53
Tools
5
Installs

Configuration

HOST required string
Hostname

Proxmox Hostname or IP

PORT required string
Port

Proxmox API Port (default 8006)

Default: 8006
API_TOKEN required string
API Token

Format of: user@realm!tokenid=xxxxxxxx-xxxx-xxxx-xxxx-xxxx

VERIFY_SSL required โ˜ฐ enum
Verify SSL?
0 ยท No โœ“ 1 ยท Yes
TIMEOUT_S required string
Timeout (seconds)

HTTP request timeout in seconds (default: `30`)

Default: 30

Docker Image

Docker Hub
orcorus/proxmox:latest

Published by Orcorus