Enhanced Proxmox MCP Server
Project description
ProxmoxMCP-Plus
Control Proxmox VE from LLMs, AI agents, MCP clients, and OpenAPI tooling with one safer interface for VMs, LXCs, backups, snapshots, ISOs, and container commands.
Quick Start | Demo | Capabilities | Scenarios | Docs | Wiki
Platform Overview
ProxmoxMCP-Plus provides a unified Proxmox VE control surface in two forms:
MCPfor Claude Desktop, Open WebUI, and other LLM or AI agent clientsOpenAPIfor HTTP automation, dashboards, internal tools, and no-code workflows
Instead of stitching together raw Proxmox API calls, shell scripts, and custom glue code, the project consolidates core operational workflows in one interface:
- VM and LXC lifecycle actions
- snapshot create, rollback, and delete
- backup and restore workflows
- ISO download and cleanup
- node, storage, and cluster inspection
- SSH-backed container command execution with guardrails
Design Priorities
ProxmoxMCP-Plus is designed for the gap between low-level Proxmox primitives and production-facing workflows that need to be usable from both LLM-native clients and standard automation systems.
Dual-surface architecture: MCP for conversational workflows, OpenAPI for standard automationOperator-oriented scope: focused on day-2 tasks, not just raw low-level endpointsSafer-by-default execution: auth, command policy, and explicit execution pathsOperationally grounded: documented workflows are backed by live-environment verification
Quick Start
1. Prepare Proxmox access
Read the official Proxmox docs first if you are setting up a fresh lab:
- Proxmox VE installation guide
- Proxmox VE API guide
- Proxmox VE administration guide
- Linux Container guide
At minimum, proxmox-config/config.json needs:
proxmox.hostproxmox.portauth.userauth.token_nameauth.token_value
Add an ssh section as well if you want container command execution.
2. Choose one runtime path
PyPI
uvx proxmox-mcp-plus
Or install it first:
pip install proxmox-mcp-plus
proxmox-mcp-plus
Docker / GHCR
docker run --rm -p 8811:8811 \
-v "$(pwd)/proxmox-config/config.json:/app/proxmox-config/config.json:ro" \
ghcr.io/rekklesna/proxmoxmcp-plus:latest
Source
git clone https://github.com/RekklesNA/ProxmoxMCP-Plus.git
cd ProxmoxMCP-Plus
uv venv
uv pip install -e ".[dev]"
python main.py
3. Run the HTTP/OpenAPI surface
docker compose up -d
curl -f http://localhost:8811/health
curl http://localhost:8811/openapi.json
4. Point an MCP client at the server
Minimal MCP client shape:
{
"mcpServers": {
"proxmox-mcp-plus": {
"command": "python",
"args": ["/path/to/ProxmoxMCP-Plus/main.py"],
"env": {
"PROXMOX_MCP_CONFIG": "/path/to/ProxmoxMCP-Plus/proxmox-config/config.json"
}
}
}
}
Client-specific examples for Claude Desktop and Open WebUI are in the Integrations Guide.
Demo
This demo is a direct terminal recording of qwen/qwen3.6-plus driving a live MCP session in English against a local Proxmox lab. It shows natural-language control flowing through MCP tools to create and start an LXC, execute a container command, and confirm the HTTP /health surface.
Core Platform Capabilities
ProxmoxMCP-Plus provides a unified control surface for the operational tasks most teams actually need in Proxmox VE. The same server can expose these workflows to MCP clients for LLM and AI-agent use cases, and to HTTP consumers through the OpenAPI bridge.
Supported workflow areas:
| Capability Area | Availability |
|---|---|
| VM create / start / stop / delete | Available |
| VM snapshot create / rollback / delete | Available |
| Backup create / restore | Available |
| ISO download / delete | Available |
| LXC create / start / stop / delete | Available |
| Container SSH-backed command execution | Available |
| Container authorized_keys update | Available |
Local OpenAPI /health and schema |
Available |
Docker image build and /health |
Available |
Validation and contract entry points in this repository:
pytest -qtests/integration/test_real_contract.pytest_scripts/run_real_e2e.py
Positioning Against Common Approaches
| Capability | Official Proxmox API | One-off scripts | ProxmoxMCP-Plus |
|---|---|---|---|
| MCP for LLM and AI agent workflows | No | No | Yes |
| OpenAPI surface for standard HTTP tooling | No | Usually no | Yes |
| VM and LXC operations in one interface | Low-level only | Depends | Yes |
| Snapshot, backup, and restore workflows | Low-level only | Depends | Yes |
| Container command execution with policy controls | No | Custom only | Yes |
| Docker distribution path | No | Rare | Yes |
| Repository-level live-environment verification | N/A | Rare | Yes |
Scenario Templates
Ready-to-copy examples live in examples/:
These are written for both human operators and LLM-driven usage.
Documentation
The README is intentionally optimized for fast GitHub comprehension. Longer operational docs live in docs/wiki/ and can also be published to the GitHub Wiki.
| If you need to... | Start here |
|---|---|
| Understand the project and deployment flow | Wiki Home |
| Configure and run against a Proxmox environment | Operator Guide |
| Connect Claude Desktop or Open WebUI | Integrations Guide |
| Review security and command policy | Security Guide |
| Inspect tool parameters, prerequisites, and behavior | API & Tool Reference |
| Debug startup, auth, or health issues | Troubleshooting |
| Work on the codebase or release it | Developer Guide |
| Review release and upgrade notes | Release & Upgrade Notes |
Published wiki:
Repo Layout
src/proxmox_mcp/: MCP server, config loading, security, OpenAPI bridgemain.py: MCP entrypoint for local and client-driven usagedocker-compose.yml: HTTP/OpenAPI runtimerequirements/: auxiliary dependency sources and runtime install listsscripts/: helper startup scripts for local workflowstest_scripts/run_real_e2e.py: live Proxmox and Docker/OpenAPI pathtests/: unit and integration coverageexamples/: scenario-driven prompts and HTTP examplesdocs/wiki/: longer-form operator, integration, and reference docs
Development Checks
pytest -q
ruff check .
mypy src tests main.py test_scripts/run_real_e2e.py
python -m build
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file proxmox_mcp_plus-0.2.1.tar.gz.
File metadata
- Download URL: proxmox_mcp_plus-0.2.1.tar.gz
- Upload date:
- Size: 52.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d0194d474d7c0c61ac647c55c613a7f190632b9cf748f3ff495fa1f80353a9f
|
|
| MD5 |
202fc82301c45084bd593bbf81f7c23b
|
|
| BLAKE2b-256 |
37acbf1fb78c80860657e70733673d8248ce74c5063bca781f577a2d3f047894
|
File details
Details for the file proxmox_mcp_plus-0.2.1-py3-none-any.whl.
File metadata
- Download URL: proxmox_mcp_plus-0.2.1-py3-none-any.whl
- Upload date:
- Size: 70.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
205869903e8563c2930db795b4a23a9c4d84a1a211c296c9d9dd4e9704347f59
|
|
| MD5 |
45982c6a8d91312665328bbb33753cd2
|
|
| BLAKE2b-256 |
bebf62bc3cb4b5311f0b6c4dde3429f7e8928932fe6b47f900466d8ff65958a3
|