Proxmox VE

Registre officiel Autres

Monitor and manage Proxmox VE clusters: VMs, containers, storage and backups. Read-only by default.

Que pouvez-vous faire avec Proxmox VE ?

  • 🐳 Docker-first. There's one small, distroless image (ghcr.io/mattoddie/proxmox-mcp) for linux/amd64 and linux/arm64. It serves Streamable HTTP for a long-running service, or stdio for docker run -i.
  • 🖱️ One-click Claude Desktop install. Each release has an MCP Bundle (.mcpb) for macOS, Windows and Linux: open it and fill in a settings form. No Docker needed.
  • 🛡️ Safe by default. The server is read-only unless you turn on writes. Deleting needs a second switch, and running commands inside guests needs a third. Tools that aren't allowed aren't registered at all, destructive tools are labelled so your MCP clien...
  • 🧰 Broad coverage. It covers 19 toolsets: cluster, nodes, VMs, containers, guest agent, snapshots, storage, backups, tasks, access control, firewall, HA, SDN, Ceph, pools, replication, notifications, hardware and a raw API tool.
  • ⏱️ Task-aware. Long operations such as starts, clones, migrations and backups run as Proxmox tasks. Tools wait for them and report the result with the end of the task log, or hand back the task ID to follow up later.
  • 🎯 Addressed by VMID. Ask about VM 100 and the server finds which node it's on. Single-node installs need no node names at all.
  • 🎛️ Tunable. Expose only the toolsets you need, and list tools take search, fields and limit, which keeps the model's context small and focused.
  • 🔑 Least privilege. Use a dedicated API token scoped with Proxmox's own roles and ACLs, so Proxmox enforces the limits too.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

OCI package ghcr.io/mattoddie/proxmox-mcp:0.5.1
Claude Code
claude mcp add proxmox-ve -e 'MCP_TRANSPORT=<MCP_TRANSPORT>' -e 'PROXMOX_URL=<PROXMOX_URL>' -e 'PROXMOX_API_TOKEN=<your proxmox_api_token>' -e 'PROXMOX_USERNAME=<PROXMOX_USERNAME>' -e 'PROXMOX_PASSWORD=<your proxmox_password>' -e 'PROXMOX_TLS_FINGERPRINT=<PROXMOX_TLS_FINGERPRINT>' -e 'PROXMOX_VERIFY_SSL=<PROXMOX_VERIFY_SSL>' -e 'PROXMOX_DEFAULT_NODE=<PROXMOX_DEFAULT_NODE>' -e 'PROXMOX_ALLOW_WRITES=false' -e 'PROXMOX_ALLOW_DELETES=false' -e 'PROXMOX_ALLOW_EXEC=false' -e 'PROXMOX_TOOLSETS=<PROXMOX_TOOLSETS>' -e 'PROXMOX_AUDIT_LOG=<PROXMOX_AUDIT_LOG>' -- docker run -i --rm ghcr.io/mattoddie/proxmox-mcp:0.5.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "proxmox-ve": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/mattoddie/proxmox-mcp:0.5.1"
            ],
            "env": {
                "MCP_TRANSPORT": "<MCP_TRANSPORT>",
                "PROXMOX_URL": "<PROXMOX_URL>",
                "PROXMOX_API_TOKEN": "<your proxmox_api_token>",
                "PROXMOX_USERNAME": "<PROXMOX_USERNAME>",
                "PROXMOX_PASSWORD": "<your proxmox_password>",
                "PROXMOX_TLS_FINGERPRINT": "<PROXMOX_TLS_FINGERPRINT>",
                "PROXMOX_VERIFY_SSL": "<PROXMOX_VERIFY_SSL>",
                "PROXMOX_DEFAULT_NODE": "<PROXMOX_DEFAULT_NODE>",
                "PROXMOX_ALLOW_WRITES": "false",
                "PROXMOX_ALLOW_DELETES": "false",
                "PROXMOX_ALLOW_EXEC": "false",
                "PROXMOX_TOOLSETS": "<PROXMOX_TOOLSETS>",
                "PROXMOX_AUDIT_LOG": "<PROXMOX_AUDIT_LOG>"
            }
        }
    }
}

Variables d'environnement

  • MCP_TRANSPORT Runs the server over stdio. The image defaults to HTTP.
  • PROXMOX_URL obligatoire Address of any node in the cluster, with the port.
  • PROXMOX_API_TOKEN secret Recommended. The whole API token as user@realm!tokenid=secret. Leave empty to use a username and password.
  • PROXMOX_USERNAME Used instead of an API token, as user@realm (e.g. mcp@pve).
  • PROXMOX_PASSWORD secret The user's password, used with the username.
  • PROXMOX_TLS_FINGERPRINT Recommended for Proxmox's self-signed certificate: its SHA-256 fingerprint. An https URL needs this or PROXMOX_VERIFY_SSL.
  • PROXMOX_VERIFY_SSL Leave empty when you set a fingerprint. true: the certificate is publicly trusted. false: skip the check (insecure).
  • PROXMOX_DEFAULT_NODE Node used when a request doesn't name one. Not needed on a single-node install.
  • PROXMOX_ALLOW_WRITES Allow changes: start and stop guests, edit configuration, create VMs, snapshots and backups.
  • PROXMOX_ALLOW_DELETES Also allow deleting guests, volumes, snapshots, backups and configuration. Needs writes.
  • PROXMOX_ALLOW_EXEC Also allow commands and file access inside VMs through the guest agent. Needs writes.
  • PROXMOX_TOOLSETS Optional comma-separated toolsets, to expose fewer tools. Empty means all (except raw).
  • PROXMOX_AUDIT_LOG Optional. stderr, or a file path inside the container, to log every change as a JSON line.
MCPB package https://github.com/mattoddie/proxmox-mcp/releases/download/v0.5.1/proxmox-mcp-0.5.1-darwin-arm64.mcpb
MCPB package https://github.com/mattoddie/proxmox-mcp/releases/download/v0.5.1/proxmox-mcp-0.5.1-darwin-amd64.mcpb
MCPB package https://github.com/mattoddie/proxmox-mcp/releases/download/v0.5.1/proxmox-mcp-0.5.1-windows-amd64.mcpb
MCPB package https://github.com/mattoddie/proxmox-mcp/releases/download/v0.5.1/proxmox-mcp-0.5.1-windows-arm64.mcpb
MCPB package https://github.com/mattoddie/proxmox-mcp/releases/download/v0.5.1/proxmox-mcp-0.5.1-linux-amd64.mcpb
MCPB package https://github.com/mattoddie/proxmox-mcp/releases/download/v0.5.1/proxmox-mcp-0.5.1-linux-arm64.mcpb

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. proxmox-mcp
  2. Highlights
  3. Quick start
  4. Turning on changes
  5. What it can do
  6. Documentation
  7. Contributing
  8. License

proxmox-mcp

Talk to your Proxmox cluster.

An open-source Model Context Protocol server for Proxmox VE. It lets Claude and other AI assistants monitor and manage your nodes, VMs, containers, storage, backups, firewall and more, all from one Docker container.

proxmox-mcp.mattoddie.dev

Quick start · Documentation · Tool reference · Contributing


"Why is the database VM so slow today?" VM 101 (db) on pve2 has averaged 94% CPU since 09:00, and pve2's IO wait has been above 30% for the same period. Its disk lives on local-lvm, which is 91% full, and last night's backup task to the same disk is still running. Want me to show the backup task's log, or plan a migration of the VM to pve1, which has 40 GiB of free memory?

Ask about your cluster in plain English. The assistant picks from 300+ tools to look things up and, if you allow it, make changes. Some examples:

  • 🩺 "Give me a health check of the cluster."
  • 📈 "Which VMs use the most memory, and which node has the most headroom?"
  • 💾 "Which guests aren't backed up, and did last night's backups succeed?"
  • 🧹 "Find snapshots older than a month."
  • 🔐 "Review users, API tokens and permissions for anything risky."
  • 🚀 "Clone the Debian template into a new VM called web-02 with 4 GB of RAM on VLAN 20."

Highlights

  • 🐳 Docker-first. There's one small, distroless image (ghcr.io/mattoddie/proxmox-mcp) for linux/amd64 and linux/arm64. It serves Streamable HTTP for a long-running service, or stdio for docker run -i.
  • 🖱️ One-click Claude Desktop install. Each release has an MCP Bundle (.mcpb) for macOS, Windows and Linux: open it and fill in a settings form. No Docker needed.
  • 🛡️ Safe by default. The server is read-only unless you turn on writes. Deleting needs a second switch, and running commands inside guests needs a third. Tools that aren't allowed aren't registered at all, destructive tools are labelled so your MCP client asks before running them, every change can be previewed with dry_run and recorded in an audit log, and passwords and keys are redacted from output.
  • 🧰 Broad coverage. It covers 19 toolsets: cluster, nodes, VMs, containers, guest agent, snapshots, storage, backups, tasks, access control, firewall, HA, SDN, Ceph, pools, replication, notifications, hardware and a raw API tool.
  • ⏱️ Task-aware. Long operations such as starts, clones, migrations and backups run as Proxmox tasks. Tools wait for them and report the result with the end of the task log, or hand back the task ID to follow up later.
  • 🎯 Addressed by VMID. Ask about VM 100 and the server finds which node it's on. Single-node installs need no node names at all.
  • 🎛️ Tunable. Expose only the toolsets you need, and list tools take search, fields and limit, which keeps the model's context small and focused.
  • 🔑 Least privilege. Use a dedicated API token scoped with Proxmox's own roles and ACLs, so Proxmox enforces the limits too.
  • 🧪 Tested. The test suite runs against a mock Proxmox API on every build.

Quick start

You need Docker, a Proxmox VE 8 or 9 server or cluster, and an MCP client such as Claude Code.

1. Create an API token. On any node, as root, create a read-only user and token:

pveum user add mcp@pve --comment "proxmox-mcp"
pveum acl modify / --users mcp@pve --roles PVEAuditor
pveum user token add mcp@pve mcp --privsep 0

Copy the token secret from the output. You can't see it again later. Getting started explains the options, including a token that can make changes.

2. Start the server.

mkdir proxmox-mcp && cd proxmox-mcp
curl -fsSLO https://raw.githubusercontent.com/mattoddie/proxmox-mcp/main/compose.yaml
curl -fsSL https://raw.githubusercontent.com/mattoddie/proxmox-mcp/main/example.env -o .env
# Edit .env: set PROXMOX_URL, PROXMOX_TOKEN_ID (mcp@pve!mcp), PROXMOX_TOKEN_SECRET,
# a random MCP_AUTH_TOKEN (required; e.g. `openssl rand -hex 32`) and how to check the
# Proxmox certificate (required for https): PROXMOX_TLS_FINGERPRINT (recommended; the
# SHA-256 fingerprint from Node > System > Certificates), or PROXMOX_VERIFY_SSL=false
docker compose up -d

3. Connect your assistant.

claude mcp add --transport http proxmox http://<docker-host>:8080/mcp \
  --header "Authorization: Bearer <MCP_AUTH_TOKEN>"

Now ask "How's my Proxmox cluster doing?" in Claude Code.

On Claude Desktop? Skip Docker: download the .mcpb bundle for your computer from the latest release, open it, and fill in the settings form. See Claude Desktop.

Using VS Code, Cursor or Codex? See Connecting MCP clients. Prefer not to run a service? Use stdio mode with docker run -i.

proxmox-mcp is listed in the MCP Registry as io.github.mattoddie/proxmox-mcp, so clients that browse the registry can install it (as the Docker image over stdio, or as a Claude Desktop bundle) and ask for the settings.

Turning on changes

Out of the box the assistant can look but not touch. To let it make changes, add these to .env and run docker compose up -d:

PROXMOX_ALLOW_WRITES=true    # start/stop guests, create, clone, migrate, reconfigure, snapshot, back up…
PROXMOX_ALLOW_DELETES=true   # also allow deleting guests, snapshots, backups and configuration (needs writes)
PROXMOX_ALLOW_EXEC=true      # also allow commands and file access inside VMs via the guest agent (needs writes)
PROXMOX_TOOLSETS=cluster,nodes,vms,containers,snapshots,backup,tasks   # optional: expose fewer tools
PROXMOX_AUDIT_LOG=/audit/audit.jsonl    # optional: log every change as JSON (mount ./audit; see compose.yaml)

Every tool that changes something takes dry_run, so you can ask the assistant to show you a change before it makes it. The token needs matching Proxmox permissions too. Read Security before turning on writes for a production cluster.

What it can do

ToolsetWhat's covered
clusterCluster overview, nodes and guests at a glance, datacenter options, corosync config, metric servers, bulk guest actions
nodesNode status and statistics, services, network interfaces, DNS, time, updates and repositories, subscriptions, certificates and ACME, logs, node power
vmsQEMU VMs: status, configuration, power, create, clone, disks, migration, templates, cloud-init, statistics
containersLXC containers: status, configuration, power, create, clone, volumes, migration, templates, interfaces, statistics
agentQEMU guest agent: OS, network and filesystem information, freeze/trim, and (with exec) commands and file access
snapshotsVM and container snapshots: list, create, roll back, delete, and a cluster-wide view of old snapshots
storageStorage definitions and usage, volumes, ISO and template downloads, physical disks, SMART, ZFS and LVM
backupvzdump backup jobs, ad-hoc backups, backup listing, restores, pruning, guests without backups
tasksProxmox tasks: list, inspect, read logs, wait for and stop them
accessUsers, groups, roles, ACLs, API tokens, realms, effective permissions, two-factor authentication
firewallRules, options, aliases, IP sets and security groups at datacenter, node and guest level, firewall log
haHigh availability status, resources, groups and rules
sdnSDN zones, VNets, subnets, controllers, IPAM and DNS, applying pending changes
cephCeph health, OSDs, pools, monitors, managers, metadata servers, CephFS, flags
poolsResource pools and their members
replicationStorage replication jobs, status and logs
notificationsNotification targets and matchers
hardwarePCI and USB devices, mediated devices, resource mappings, CPU models
rawAn escape hatch that calls any Proxmox API path. Off unless PROXMOX_TOOLSETS lists raw (e.g. all,raw)

See the tool reference for every tool and argument. Ready-made prompts like cluster_health_check, backup_audit and troubleshoot_guest chain the tools together for common jobs.

Documentation

The docs are also published at proxmox-mcp.mattoddie.dev/docs, with search.

🚀 Getting startedStep-by-step setup, from API token to first question
🔌 Connecting MCP clientsClaude Code, Claude Desktop, VS Code, Cursor, Codex, stdio mode
⚙️ ConfigurationEvery environment variable, Docker secrets, toolsets
🐳 DeploymentCompose, image tags, upgrades, TLS reverse proxy, hardening
💬 Using proxmox-mcpExample conversations, prompts, tasks, how changes and secrets work
🧰 Tool referenceEvery tool and prompt, generated from the code
🛡️ SecurityThreat model, least-privilege tokens, safe write setups
📡 CompatibilitySupported Proxmox VE versions, Ceph, PBS, known gaps
🩹 TroubleshootingCommon errors and how to fix them
🛠️ DevelopmentArchitecture, adding a tool, testing

On your phone? Proxly is a free Proxmox VE app for iPhone by the same author: monitor nodes, VMs and containers, start and stop guests, and take snapshots and backups without reaching for a laptop.

Contributing

Contributions are very welcome, whether that's bug reports, compatibility reports from your cluster, docs or new tools. Read the contributing guide to get started, and please follow the code of conduct. To report a vulnerability, see the security policy. Please don't open a public issue for one.

License

MIT © Matt Oddie

proxmox-mcp is an independent community project. It is not affiliated with, endorsed by or sponsored by Proxmox Server Solutions GmbH. Proxmox is a registered trademark of Proxmox Server Solutions GmbH.

Questions fréquentes

Qu'est-ce que Proxmox VE ?

Monitor and manage Proxmox VE clusters: VMs, containers, storage and backups. Read-only by default.

Comment installer Proxmox VE ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add proxmox-ve -e 'MCP_TRANSPORT=<MCP_TRANSPORT>' -e 'PROXMOX_URL=<PROXMOX_URL>' -e 'PROXMOX_API_TOKEN=<your proxmox_api_token>' -e 'PROXMOX_USERNAME=<PROXMOX_USERNAME>' -e 'PROXMOX_PASSWORD=<your proxmox_password>' -e 'PROXMOX_TLS_FINGERPRINT=<PROXMOX_TLS_FINGERPRINT>' -e 'PROXMOX_VERIFY_SSL=<PROXMOX_VERIFY_SSL>' -e 'PROXMOX_DEFAULT_NODE=<PROXMOX_DEFAULT_NODE>' -e 'PROXMOX_ALLOW_WRITES=false' -e 'PROXMOX_ALLOW_DELETES=false' -e 'PROXMOX_ALLOW_EXEC=false' -e 'PROXMOX_TOOLSETS=<PROXMOX_TOOLSETS>' -e 'PROXMOX_AUDIT_LOG=<PROXMOX_AUDIT_LOG>' -- docker run -i --rm ghcr.io/mattoddie/proxmox-mcp:0.5.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Proxmox VE ?

Oui. Il attend PROXMOX_URL, PROXMOX_API_TOKEN, PROXMOX_PASSWORD, à renseigner dans sa configuration.

Proxmox VE est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Proxmox VE ?

Il est publié par mattoddie. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.