Proxmox VE MCP Server

Manage Proxmox VE through AI assistants

Local serverstdioTypeScript

What is the Proxmox VE MCP server?

Manage Proxmox VE through AI assistants. The proxmox ve mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 14 defined tools rather than through you.

What it actually does

MCP server for Proxmox VE. Manage virtual machines, containers, storage, networking, and clusters through natural language in Cursor, Claude Code, and Claude Desktop.

  • 117 tools — across 12 categories covering the Proxmox VE REST API
  • Three access tiers — (read-only, read-execute, full) for granular control
  • Category filtering — via PVE_CATEGORIES to expose only the tools you need
  • Zero HTTP dependencies — -- uses native fetch (Node 18+)
  • Self-signed cert support — via PVE_VERIFY_SSL=false
  • Docker images — for linux/amd64 and linux/arm64 on GHCR

Adding it to your client

The server ships on npm as @samik081/mcp-pve, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

Its toolset

Everything the assistant can do here goes through one of these:

  • pve_list_nodes — List all nodes in the cluster
  • pve_get_node_status — Get detailed node status (CPU, memory, uptime, load)
  • pve_get_node_version — Get PVE version info for a node
  • pve_get_node_dns — Get DNS settings for a node
  • pve_get_node_time — Get time and timezone info for a node
  • pve_get_node_syslog — Get system log entries from a node
  • pve_list_node_services — List all system services on a node
  • pve_manage_node_service — Start, stop, restart, or reload a node service
  • pve_list_qemu_vms — List all QEMU VMs on a node
  • pve_get_qemu_status — Get current VM status (CPU, memory, disk, network)
  • pve_get_qemu_config — Get VM configuration
  • pve_get_qemu_rrddata — Get RRD statistics over a time period

Configuration

You will need 4 environment variables: PVE_BASE_URL, PVE_TOKEN_ID, PVE_TOKEN_SECRET, PVE_VERIFY_SSL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Proxmox VE.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the proxmox ve mcp server does with a few real requests.

When to reach for it

Among the knowledge and memory options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Proxmox VE's toolset — pve_list_nodes, pve_get_node_status, pve_get_node_version and 11 more — is a fair guide to whether it matches your workflow. It is maintained by Samik081; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Proxmox VE's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Available tools

ToolWhat it does
pve_list_nodesList all nodes in the cluster
pve_get_node_statusGet detailed node status (CPU, memory, uptime, load)
pve_get_node_versionGet PVE version info for a node
pve_get_node_dnsGet DNS settings for a node
pve_get_node_timeGet time and timezone info for a node
pve_get_node_syslogGet system log entries from a node
pve_list_node_servicesList all system services on a node
pve_manage_node_serviceStart, stop, restart, or reload a node service
pve_list_qemu_vmsList all QEMU VMs on a node
pve_get_qemu_statusGet current VM status (CPU, memory, disk, network)
pve_get_qemu_configGet VM configuration
pve_get_qemu_rrddataGet RRD statistics over a time period
pve_list_qemu_snapshotsList all VM snapshots
pve_start_qemu_vmStart a VM

How to install the Proxmox VE MCP server

**Docker (stdio):**

```json
{
  "mcpServers": {
    "pve": {
      "command": "docker",
      "args": ["run", "--rm", "-i",
        "-e", "PVE_BASE_URL=https://pve.example.com:8006",
        "-e", "PVE_TOKEN_ID=root@pam!mcp",
        "-e", "PVE_TOKEN_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "-e", "PVE_VERIFY_SSL=false",
        "ghcr.io/samik081/mcp-pve"
      ]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
PVE_BASE_URLEndpoint or connection string the server talks to.Yes
PVE_TOKEN_IDCredential the server authenticates with.Yes
PVE_TOKEN_SECRETCredential the server authenticates with.Yes
PVE_VERIFY_SSLConfiguration value read at startup.Optional

Example prompts to try

  • Use Proxmox VE to pve list nodes.
  • Use Proxmox VE to pve get node status.
  • Use Proxmox VE to pve get node version.

Frequently asked questions

It connects Proxmox VE to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (pve_list_nodes, pve_get_node_status, pve_get_node_version, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Proxmox VE directly.