# ProxmoxMCP-Plus

Lets an agent drive Proxmox VE: VMs, LXCs, snapshots, backups, ISOs and cluster checks. Useful when hypervisor chores run through chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 615
- Author: RekklesNA
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/RekklesNA/ProxmoxMCP-Plus
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/proxmoxmcp-plus

## What it does

The server sits between an MCP client and Proxmox VE. Your agent gets tools for VM and LXC lifecycle, snapshot handling, backup and restore, ISO download and cleanup, plus node, storage and cluster inspection. Long-running Proxmox tasks are tracked with `job_id` and `UPID`: polling, retry, cancel, audit history. The same operations are exposed over OpenAPI for scripts and dashboards.

You need a Proxmox API token scoped to your workflows and a `proxmox-config/config.json` file with `proxmox.host`, `proxmox.port`, `auth.user`, `auth.token_name`, `auth.token_value`. Add an `ssh` section if you want commands inside containers. A bad token stops the server from starting, and an unknown tool name in the filter fails startup — a typo cannot quietly widen access.

Run it locally with `uvx proxmox-mcp-plus`. Docker profiles cover MCP HTTP and OpenAPI, with host ports published on `127.0.0.1` by default. Tool filtering stays off until you set `tool_allowlist` or `tool_denylist`; restart the server after changing it.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `PROXMOX_MCP_CONFIG`, `PROXMOX_HOST`, `PROXMOX_USER`, `PROXMOX_TOKEN_NAME`, `PROXMOX_TOKEN_VALUE`, `PROXMOX_PORT`, `PROXMOX_VERIFY_SSL`, `PROXMOX_DEV_MODE`, `PROXMOX_SERVICE`, `MCP_TOOL_ALLOWLIST` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env PROXMOX_MCP_CONFIG=<PROXMOX_MCP_CONFIG> --env PROXMOX_HOST=<PROXMOX_HOST> --env PROXMOX_USER=<PROXMOX_USER> --env PROXMOX_TOKEN_NAME=<PROXMOX_TOKEN_NAME> --env PROXMOX_TOKEN_VALUE=<PROXMOX_TOKEN_VALUE> --transport stdio proxmoxmcp-plus -- uvx proxmox-mcp-plus
```
Replace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from proxmox-mcp-plus <command>

### Codex

**Platform CLI**
```bash
codex mcp add proxmoxmcp-plus --env PROXMOX_MCP_CONFIG=<PROXMOX_MCP_CONFIG> --env PROXMOX_HOST=<PROXMOX_HOST> --env PROXMOX_USER=<PROXMOX_USER> --env PROXMOX_TOKEN_NAME=<PROXMOX_TOKEN_NAME> --env PROXMOX_TOKEN_VALUE=<PROXMOX_TOKEN_VALUE> -- uvx proxmox-mcp-plus
```
Replace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from proxmox-mcp-plus <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "proxmoxmcp-plus": {
            "command": "uvx",
            "args": [
                "proxmox-mcp-plus"
            ],
            "env": {
                "PROXMOX_MCP_CONFIG": "<PROXMOX_MCP_CONFIG>",
                "PROXMOX_HOST": "<PROXMOX_HOST>",
                "PROXMOX_USER": "<PROXMOX_USER>",
                "PROXMOX_TOKEN_NAME": "<PROXMOX_TOKEN_NAME>",
                "PROXMOX_TOKEN_VALUE": "<PROXMOX_TOKEN_VALUE>"
            }
        }
    }
}
```
Replace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from proxmox-mcp-plus <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "proxmoxmcp-plus": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "proxmox-mcp-plus"
            ],
            "env": {
                "PROXMOX_MCP_CONFIG": "<PROXMOX_MCP_CONFIG>",
                "PROXMOX_HOST": "<PROXMOX_HOST>",
                "PROXMOX_USER": "<PROXMOX_USER>",
                "PROXMOX_TOKEN_NAME": "<PROXMOX_TOKEN_NAME>",
                "PROXMOX_TOKEN_VALUE": "<PROXMOX_TOKEN_VALUE>"
            }
        }
    }
}
```
Replace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from proxmox-mcp-plus <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e PROXMOX_MCP_CONFIG=<PROXMOX_MCP_CONFIG> -e PROXMOX_HOST=<PROXMOX_HOST> -e PROXMOX_USER=<PROXMOX_USER> -e PROXMOX_TOKEN_NAME=<PROXMOX_TOKEN_NAME> -e PROXMOX_TOKEN_VALUE=<PROXMOX_TOKEN_VALUE> proxmoxmcp-plus uvx proxmox-mcp-plus
```
Replace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from proxmox-mcp-plus <command>

## When to use it
- spin up a VM or LXC and bring it to a working state
- roll back a snapshot before a risky upgrade
- run a backup and restore from it
- download an ISO and clear out old images
- execute a command inside a container over SSH

## Example prompts
- List the nodes and VMs in the cluster
- Take a snapshot of VM 101 before the upgrade
- Back up container 204 and show me the job status

## Similar
- [proxmox-admin](https://affpapa.org/en/nevibecode/skills/proxmox-admin.md) — skill · 828 installs
- [backup-disaster-recovery](https://affpapa.org/en/nevibecode/skills/backup-disaster-recovery.md) — skill · 620 installs
- [postgresql](https://affpapa.org/en/nevibecode/skills/devops-skills-postgresql.md) — skill · 419 installs
- [mysql](https://affpapa.org/en/nevibecode/skills/devops-skills-mysql.md) — skill · 350 installs
- [thinking-five-whys-plus](https://affpapa.org/en/nevibecode/skills/thinking-five-whys-plus.md) — skill · 571 installs
- [sandbox](https://affpapa.org/en/nevibecode/skills/vercel-inc-sandbox.md) — skill · 604 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
