Manage Proxmox VE through AI assistants
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Proxmox VE MCP Server.
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
MCP server for Proxmox VE. Manage virtual machines, containers, storage, networking, and clusters through natural language in Cursor, Claude Code, and Claude Desktop.
read-only, read-execute, full) for granular controlPVE_CATEGORIES to expose only the tools you needfetch (Node 22+)PVE_VERIFY_SSL=falselinux/amd64 and linux/arm64 on GHCRMCP_TRANSPORT=http) using the Streamable HTTP protocolTested with Proxmox VE 9.2.4.
Run the server directly with npx:
The server validates your PVE connection on startup and fails immediately with a clear error if credentials are missing or invalid.
Run with Docker (stdio transport, same as npx):
To run as a remote MCP server with HTTP transport:
The MCP endpoint is available at http://localhost:3000 and a health check at http://localhost:3000/health.
Claude Code CLI (recommended):
JSON config (works with Claude Code .mcp.json, Claude Desktop claude_desktop_config.json, Cursor .cursor/mcp.json):
Docker (stdio):
Remote MCP (connect to a running Docker container or HTTP server):
Control which tools are available using the PVE_ACCESS_TIER environment variable:
| Tier | Tools | Description |
|---|---|---|
full (default) | 121 | Read, execute, and write -- full control |
read-execute | 76 | Read and execute -- no resource creation/deletion |
read-only | 54 | Read only -- safe for exploration, no state changes |
Tier details:
Tools that are not available in your tier are not registered with the MCP server. They will not appear in your AI tool's tool list, keeping the context clean.
| Variable | Required | Default | Description |
|---|---|---|---|
PVE_BASE_URL | Yes | -- | URL of your PVE instance (e.g. https://pve:8006) |
PVE_TOKEN_ID | Yes | -- | API token ID (user@realm!tokenname) |
PVE_TOKEN_SECRET | Yes | -- | API token UUID secret |
PVE_ACCESS_TIER | No | full | read-only, read-execute, or full |
PVE_CATEGORIES | No | (all) | Comma-separated category allowlist |
PVE_TOOL_BLACKLIST | No | (none) | Comma-separated list of tool names to exclude (e.g., pve_delete_qemu_vm) |
PVE_TOOL_WHITELIST | No | (none) | Comma-separated list of tool names to force-include, bypassing access tier and category filters |
PVE_VERIFY_SSL | No | true | Set false for self-signed certs |
DEBUG | No | false | Enable debug logging to stderr |
MCP_TRANSPORT | No | stdio | Transport mode: stdio (default) or http |
MCP_PORT | No | 3000 | HTTP server port (only used when MCP_TRANSPORT=http) |
MCP_HOST | No | 0.0.0.0 | HTTP server bind address (only used when MCP_TRANSPORT=http) |
MCP_SESSION_IDLE_TIMEOUT | No | 1800 | Seconds of inactivity after which an HTTP session is closed and its memory released (sessions with a connected SSE stream are never closed). 0 disables. Only used when MCP_TRANSPORT=http |
MCP_EXCLUDE_TOOL_TITLES | No | false | Set true to omit tool titles from registration (saves tokens) |
Create API tokens in the PVE UI under Datacenter > Permissions > API Tokens. Make sure to uncheck "Privilege Separation" if you want the token to inherit the user's full permissions.
nodes, qemu, lxc, storage, cluster, access, pools, network, firewall, backup, tasks, ha
mcp-pve provides 121 tools organized by category. Each tool's Access column shows the minimum tier required: read-only (available in all tiers), read-execute (requires read-execute or full), or full (requires full tier only). The Hints column shows tool behavior: read-only (no state changes), destructive (modifies existing state), idempotent (same result if called twice).
| Tool | Description | Access | Hints |
|---|---|---|---|
pve_list_nodes | List all nodes in the cluster | read-only | read-only, idempotent |
pve_get_node_status | Get detailed node status (CPU, memory, uptime, load) | read-only | read-only, idempotent |
pve_get_node_version | Get PVE version info for a node | read-only | read-only, idempotent |
pve_get_node_dns | Get DNS settings for a node | read-only | read-only, idempotent |
pve_get_node_time | Get time and timezone info for a node | read-only | read-only, idempotent |
pve_get_node_syslog | Get system log entries from a node | read-only | read-only, idempotent |
pve_list_node_services | List all system services on a node | read-only | read-only, idempotent |
pve_manage_node_service | Start, stop, restart, or reload a node service | read-execute | destructive |
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/proxmox-ve-mcp-server)<a href="https://allmcps.com/mcp/proxmox-ve-mcp-server"><img src="https://allmcps.com/api/badge/proxmox-ve-mcp-server?style=directory" alt="Proxmox VE MCP Server on AllMCPs" /></a>