Skip to main content

Proxmox VE MCP Server - Manages Proxmox infrastructure via MCP protocol

Project description

Proxmox MCP Server

CI PyPI Python

I tried a few other MCP servers for my homelab Proxmox setup, and couldn't get one that did exactly what I was after.

It defaults to stdio output. It uses FastMCP, so you can switch to http or sse as needed. Uses proxmoxer to connect to Proxmox and handle commands.

AI DISCLAIMER - I used OpenCode to assist with this. This means AI-generated code is present. Audit the source and verify for yourself before you use in production.

Requirements

  • Python 3.10+
  • Proxmox VE
  • a Proxmox API token with the following permissions (you can omit things you want to deny): VM.Console, VM.Config.Memory, Datastore.Audit, VM.Audit, VM.Snapshot.Rollback, Datastore.AllocateSpace, Sys.Audit, SDN.Audit, VM.Config.Disk, VM.Config.Network, VM.Config.CPU, Sys.Console, VM.Config.Cloudinit, Datastore.Allocate, Pool.Audit, VM.Config.CDROM, VM.PowerMgmt, Pool.Allocate, SDN.Use, VM.Clone, VM.Snapshot, VM.Config.Options, VM.Allocate

Install

Option 1: Install from PyPI (Recommended)

pip install proxmoxer-mcp-server
proxmoxer-mcp-server  # Runs with environment variables

Option 2: Install from Source

git clone https://git.airstrikeivanov.com/airstrikeivanov/proxmoxer-mcp-server.git && cd proxmoxer-mcp-server
python -m venv venv && source venv/bin/activate  # Virtualenv strongly recommended
pip install -e .  # Editable install

Option 3: Development Install

git clone https://git.airstrikeivanov.com/airstrikeivanov/proxmoxer-mcp-server.git && cd proxmoxer-mcp-server
python -m venv venv && source venv/bin/activate
pip install -e ".[dev]"  # Includes dev dependencies

Configuration

Copy .env.example to .env and edit, or set environment variables elsewhere.

Running

# After PyPI install
proxmoxer-mcp-server

# After source install
python -m proxmoxer_mcp_server
# or
proxmoxer-mcp-server

Configuration

The MCP server requires a handful of variables to start up. I don't provide defaults yet.

Required Environment Variables

Variable Description
PROXMOX_HOST Proxmox server URL (without protocol prefix)
PROXMOX_TOKEN_ID API token identifier in format: user@realm!tokenid
PROXMOX_TOKEN_SECRET API token secret
PROXMOX_NODE Default Proxmox node name

Optional Environment Variables

Variable Description
PROXMOX_SKIP_TLS_VERIFY Skip TLS verification (true for development, false for production)
PROXMOX_ALLOW_DESTRUCTIVE Enable/disable destructive operations (default: false)
PROXMOX_CONFIRMATION_MODE Confirmation strictness: strict or relaxed (default: strict)
PROXMOX_AUDIT_LEVEL Audit detail: minimal, standard, or full (default: standard)
LOG_LEVEL Log level (DEBUG, INFO, WARNING, ERROR)

FastMCP Transport Operations

Variable Description
MCP_HOST Host address to bind to (default: 127.0.0.1) - must be set to enable remote connections
MCP_PORT Port to listen on (default: 8080)
MCP_TRANSPORT Transport type to use (default: "stdio") - options: "stdio", "http", "sse"

Destructive Operations (Two-Step Process)

# Step 1: Request operation (requires confirmation)
delete_vm(node="pve", vmid="100", confirmed=False)
# Returns: "CONFIRMATION REQUIRED"

# Step 2: Execute with confirmation
delete_vm(node="pve", vmid="100", confirmed=True)
# Executes the deletion

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proxmoxer_mcp_server-0.1.0.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proxmoxer_mcp_server-0.1.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file proxmoxer_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: proxmoxer_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for proxmoxer_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 95c0dc45222e7eef0629c401836abc813d504eb5d36fc73e420c91b5f484317b
MD5 e4fb701dee7fe808ab3e57f0ab869a89
BLAKE2b-256 f500dbd61ec6668d679d51f736b8467df4706559845fabc3e61b5de13a8b13d6

See more details on using hashes here.

File details

Details for the file proxmoxer_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for proxmoxer_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b88e534bdb6f6e1bec993d294ba619d3485de880eb7340b1e796f8fa500009b6
MD5 65e5dc85f6f0adb56dc79522cc4a8eff
BLAKE2b-256 4dae17df74b82ac7caaec6049864583c9fe860e4e9ff9e134861e499e5ac42c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page