freshcrate
Skin:/
Home > MCP Servers > ProxmoxMCP-Plus

ProxmoxMCP-Plus

Enhanced Proxmox MCP server with advanced virtualization management and full OpenAPI integration.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Enhanced Proxmox MCP server with advanced virtualization management and full OpenAPI integration.

README

ProxmoxMCP-Plus

ProxmoxMCP-Plus Logo

Open-source MCP server for Proxmox VE automation.
This repository provides a secure control plane for VM and container lifecycle operations, plus an OpenAPI bridge for integrations.

Documentation strategy: this README is the stable entrypoint, while detailed runbooks and references live in Wiki. This keeps onboarding fast while preserving operational depth in one canonical location.

Quick Start | Security | API Reference | Troubleshooting

1) Project Positioning and Value

ProxmoxMCP-Plus is designed for teams that need:

  • Reliable MCP-native automation for Proxmox clusters
  • Operationally safe execution paths with policy controls
  • Integration flexibility across MCP clients and HTTP/OpenAPI consumers
  • A documentation model where README stays concise and Wiki carries deep guidance

This project builds on canvrno/ProxmoxMCP, and extends it for enterprise-oriented deployment and operations.

Target audience:

  • Platform engineering teams operating Proxmox at scale
  • AI platform teams exposing virtualization controls to assistant workflows
  • Infrastructure teams requiring auditable and policy-aware automation

2) Architecture and Capability Overview

High-level architecture:

  • MCP Server: stdio MCP interface for assistants and MCP clients
  • Tooling Layer: VM, container, storage, snapshot, backup, and cluster operations
  • Security Layer: token auth, command policy, and scoped execution controls
  • Observability Layer: logging and health visibility
  • OpenAPI Bridge: HTTP exposure for external platforms

Capability groups:

Domain Coverage
Compute Lifecycle VM and LXC create/start/stop/reset/delete/update
Data Protection Snapshot, backup, and restore workflows
Platform Operations Node, cluster, storage, and ISO/template management
Remote Execution Optional command execution for VM and container workflows
Integrations MCP clients, OpenAPI consumers, and WebUI-based automation

Full endpoint and tool details are maintained in Wiki: API & Tool Reference.

Operational boundaries:

  • ProxmoxMCP-Plus orchestrates Proxmox operations; it does not replace cluster-level backup/HA design.
  • Security controls in this service must be paired with network segmentation and Proxmox RBAC.
  • OpenAPI exposure is intended for controlled environments, not unauthenticated public access.

3) Quick Start

Prerequisites:

  • Python 3.9+
  • uv package manager
  • Proxmox API token with required permissions

Minimal setup:

git clone https://github.com/RekklesNA/ProxmoxMCP-Plus.git
cd ProxmoxMCP-Plus
uv venv
uv pip install -e ".[dev]"

Create runtime config:

cp proxmox-config/config.example.json proxmox-config/config.json

Set required fields in proxmox-config/config.json:

  • proxmox.host
  • auth.user
  • auth.token_name
  • auth.token_value

Run MCP server:

python main.py

Optional OpenAPI mode:

docker compose up -d

Health endpoint:

curl -f http://localhost:8811/health

For production deployment details, use Operator Guide.

Validation path for first run:

  1. Start server and verify no startup auth errors.
  2. Call a read-only tool such as node or VM listing.
  3. Validate /health when OpenAPI mode is enabled.
  4. Proceed to write operations only after policy and RBAC validation.

4) Integration Entry Points

Integration expectations:

  • Keep client-specific connection settings outside committed source files.
  • Use environment-specific API keys when exposing OpenAPI.
  • Test with read-only operations before enabling lifecycle mutation workflows.

5) Security & Compliance

Security posture summary:

  • API-token based Proxmox authentication
  • Environment-aware controls (dev_mode for development-only relaxation)
  • Command execution policy and allow/deny constraints
  • Operational logging and health visibility

Security baseline, hardening checklist, and threat boundaries are documented in Security Guide.

Minimum production controls:

  • Enforce security.dev_mode=false
  • Restrict ingress to trusted networks or VPN paths
  • Terminate TLS at an approved reverse proxy
  • Rotate API credentials regularly and monitor denied operations

6) Contributing / Development

Developer workflow:

pytest
ruff .
mypy .
black .

Contribution standards, local setup, and validation expectations are maintained in Developer Guide.

Pull request quality bar:

  • Behavior changes are covered by tests
  • Type and lint checks pass in CI
  • Documentation updates are included when interfaces or operations change

7) Support / FAQ

Support channels:

FAQ shortcuts:

Escalation guidance:

  • For security-sensitive incidents, collect logs and request context before remediation.
  • For breaking behavior after upgrade, compare against Release & Upgrade Notes.

8) Wiki Navigation Panel

GitHub Wiki is the source of truth for detailed documentation.
If Wiki is not enabled yet, enable it in repository settings first, then publish the seed pages from docs/wiki/.

Documentation Map

Topic What it covers Wiki link
Home Documentation landing page and navigation Home
Operator Guide Deployment, runtime operations, OpenAPI, production checklist Operator Guide
Developer Guide Local setup, coding standards, testing and release flow Developer Guide
Security Guide Auth model, command policy, hardening and audit guidance Security Guide
Integrations Guide Claude, Cline, Open WebUI, MCP transport setup Integrations Guide
API & Tool Reference Tool groups, endpoint behavior, and request notes API & Tool Reference
Troubleshooting Incident patterns, diagnostics, and recovery actions Troubleshooting
Release & Upgrade Notes Version-level changes and upgrade actions Release & Upgrade Notes

Local seed pages for Wiki bootstrap are available in docs/wiki/.

Documentation Contract

README remains intentionally concise and stable.
Detailed operational guidance, examples, and runbooks live in Wiki.

The following entry points are treated as stable documentation interfaces:

  • Quick Start: repository bootstrap and first-run verification
  • Security: baseline controls and hardening navigation
  • API Reference: tool and endpoint behavior index
  • Troubleshooting: incident diagnosis and recovery guidance

When documentation changes:

  1. Update the relevant Wiki page first.
  2. Keep README links stable unless there is a structural migration.
  3. Record version-impacting documentation updates in Release & Upgrade Notes.

License

MIT License

Release History

VersionChangesUrgencyDate
v0.6.6# ProxmoxMCP-Plus v0.6.6 ## Changes - Fix #183: default Compose host publications to IPv4 loopback for native MCP HTTP (`8000`) and OpenAPI (`8811`). `MCP_HTTP_BIND_ADDRESS` and `OPENAPI_BIND_ADDRESS` provide explicit per-mode overrides. - Put OpenAPI behind the `openapi` profile; both Compose modes are opt-in. Remove the cross-mode required-variable interpolation so MCP-only deployments no longer need `PROXMOX_API_KEY`. Application startup continues to enforce the selected mode's authenticatiHigh10/20/2026
v0.6.5# ProxmoxMCP-Plus v0.6.5 ## Changes - Integrate #181: add `download_template` for HTTPS LXC archives through the native Proxmox `download-url` API with `content=vztmpl` and TLS verification enabled. Validate identifiers, archive names and optional digests; require observed enabled/active template storage and reject an existing destination volume. - Apply target-specific high-risk approval, read-only and client-grant policy to the new tool. Accept approval metadata without forwarding it to ProxHigh10/19/2026
v0.6.3# ProxmoxMCP-Plus v0.6.3 ## Changes - Add `get_node_time` for node clock and timezone inspection, `get_node_storage` for capacity on the selected node, and `get_node_diagnostics` for CPU, memory, storage and observed RRD I/O metrics. Missing optional metrics produce partial results instead of a false completeness claim. - Add `get_cluster_join_info`, exposing documented public cluster metadata and certificate fingerprints while omitting credentials and unrecognized extensions. - Add read-only High10/18/2026
v0.6.2# ProxmoxMCP-Plus v0.6.2 ## Changes - Update `pydantic-monty` from 0.0.22 to 1.1.0, including its client and runtime in the hashed universal dependency lock. - Adapt Code Mode to Monty 1.1.0's feed and turn duration limits. Retain the 30-second wall-clock deadline, memory, recursion, suspension, tool-call and output limits, and a fresh sandbox session per request. - Update immutable SHA pins for GitHub artifact upload/download and Docker QEMU, Buildx and build/push Actions. - Keep release workHigh10/12/2026
v0.6.1# ProxmoxMCP-Plus v0.6.1 This release reduces repeated task polling, bounds tool waiting, adds latency histograms and offers opt-in independent Proxmox API sessions. ## Changes - Serialize same-job polls within each JobStore. Reuse persisted running state for `jobs.poll_cache_ttl` seconds (server default 1; 0 disables the TTL). Terminal tasks reuse their result. MCP and OpenAPI `poll_job(force=true)` bypass both fast paths. Cache hits preserve history without adding duplicate events. High10/9/2026
v0.5.27# ProxmoxMCP-Plus v0.5.27 The independent review after v0.5.26 publication found four additional defects. This patch repairs them and corrects the command-policy documentation. ## Fixes - Validate VM, source VM and destination VM identifiers as positive ASCII integers before MCP dispatch. A VM configuration tool can no longer use a relative guest path to reach LXC configuration while only VM tools are exposed. - Recheck snapshot dependencies before every rollback submission, including iHigh10/7/2026
v0.5.26# ProxmoxMCP-Plus v0.5.26 This release repairs the project audit findings across destructive resource selection, authorization, guest task handling, OAuth, asynchronous dispatch, inventory reporting and deployment lifecycle. ## Changes - Validate resource path segments and fresh storage content before deletion; enforce exact volume identity, content type and backup protection on retries too. - Enforce high-risk policy and current tool exposure consistently, including job retry and reconciHigh10/7/2026
v0.5.24# ProxmoxMCP-Plus v0.5.24 Release date: 2026-10-01 ## OAuth configuration - Use `MCP_API_KEY` from the process environment as the browser-consent credential. Remove `MCP_OAUTH_KEY_VERSION` and database fingerprint/version synchronization; a legacy environment variable is ignored. - Keep registered OAuth clients, authorization codes, access/refresh tokens and login-failure state in PostgreSQL. Changing the browser-consent key no longer invalidates those credentials. Use explicit revocaHigh10/1/2026
v0.5.23# ProxmoxMCP-Plus v0.5.23 Release date: 2026-09-26 ## Fixes - Repair over-escaped default command deny patterns. Deny rules now reject the documented dangerous commands even when an allowlist permits them. - Restore LXC backups with `ostemplate` and `restore=1`; keep QEMU restore payloads unchanged. Repair persisted legacy LXC restore recipes when retried. - Cancel Proxmox tasks with `DELETE /nodes/{node}/tasks/{upid}` across all tools and restarted job stores. - Protect poll/retry statHigh9/26/2026
v0.5.22# ProxmoxMCP-Plus v0.5.22 Release date: 2026-09-26 ## Optional OAuth for native MCP HTTP clients (#138) Native Streamable HTTP can use an authorization-code flow with PKCE when `MCP_OAUTH_ENABLED=true`. The MCP Python SDK handles OAuth discovery, registration, request validation, token exchange and Bearer protection. ProxmoxMCP-Plus provides a consent page where the operator enters the existing `MCP_API_KEY`. The OAuth client receives an authorization code, never the key. OAuth clients, codeHigh9/26/2026
v0.5.20# ProxmoxMCP-Plus v0.5.20 Release date: 2026-09-24 ## Node status detail (#134) `get_node_status` now displays the CPU model, core/socket layout, clock, CPU usage and iowait, load averages, available memory, swap and root filesystem usage when those fields are present. Root filesystem usage reads `rootfs`, with the existing `disk` mapping retained as a fallback. Valid zero CPU readings are preserved. Only missing or null CPU readings trigger best-effort enrichment from the matching node in `High9/24/2026
v0.5.19# ProxmoxMCP-Plus v0.5.19 Release date: 2026-09-21 ## Code Mode (#130) Optional `mcp.code_mode: true` / `MCP_CODE_MODE=true` exposes search, schema and sandbox execution tools. The default full catalog is unchanged. Discovery uses registered, filtered tools and works in installed distributions. Actual MCP protocol dispatch blocks direct hidden-tool calls. Sandbox tool results are serialized as JSON; existing validation, target routing, read-only restrictions and approval policies remain authoHigh9/21/2026
v0.5.18Security fixes: GHSA-88xv-43vf-jm73, GHSA-8g49-gg89-mc45High9/16/2026
v0.5.16# ProxmoxMCP-Plus v0.5.16 Release date: 2026-09-12 ## Fix standalone cluster status — #125 `get_cluster_status` now reports `n/a (not clustered)` for the cluster name and quorum on standalone Proxmox VE nodes, instead of using the node name and incorrectly reporting `Quorum: NOT OK`. Cluster metadata is selected by record type, independently of response order. Real clustered quorum verdicts remain `OK` or `NOT OK`, including one-node clusters. Missing/null quorum information and empty responHigh9/12/2026
v0.5.15# ProxmoxMCP-Plus v0.5.15 Release date: 2026-09-04 ## Named Proxmox targets Configure multiple Proxmox environments in a `targets` map and select the destination with the `target` tool argument. `list_targets` provides credential-free discovery. Each target has its own API/SSH configuration, job database, read-only setting, and command policy. Requests must select a target when the configuration is ambiguous. Named targets work in stdio, native MCP HTTP, and OpenAPI, including the default DoHigh9/4/2026
v0.5.14# ProxmoxMCP-Plus v0.5.14 Release date: 2026-08-11 ## Optional Bearer authentication for native MCP HTTP Native Streamable HTTP deployments can now set `MCP_API_KEY` to protect the `/mcp` endpoint with application-level Bearer authentication. Requests that omit the header, use another authentication scheme, or provide the wrong token receive `401 Unauthorized` with `WWW-Authenticate: Bearer`. The new token is deliberately independent of `PROXMOX_API_KEY`, which continues to protect only the High8/11/2026
v0.5.12# ProxmoxMCP-Plus v0.5.12 Release date: 2026-07-29 ## Immutable Docker Release Actions This release completes the supply-chain hardening of the GHCR publication workflow by pinning every third-party Docker Action to a reviewed full commit SHA: - `docker/login-action` v4.6.0 - `docker/metadata-action` v6.2.0 - `docker/build-push-action` v7.3.0 - `docker/setup-qemu-action` v4.2.0 - `docker/setup-buildx-action` v4.2.0 The login-action pin was refreshed from v4.4.0 during review to include the Medium7/29/2026
v0.5.10# ProxmoxMCP-Plus v0.5.10 Release date: 2026-07-23 ## VM and Container Notes This release adds two MCP tools for managing the Proxmox Notes field: - `set_vm_description` updates the description of one QEMU virtual machine. - `set_container_description` updates the description of one LXC container. Both tools accept `node`, `vmid`, and `description`, then use the native Proxmox configuration endpoint. The supplied text replaces the existing Notes value; pass an empty string to clear it. TheHigh7/23/2026
v0.5.9# ProxmoxMCP-Plus v0.5.9 Release date: 2026-07-16 ## Resource-Pool-Scoped VM and LXC Creation (Issue #104) This release adds an optional `pool` argument to the existing `create_vm` and `create_container` MCP tools. The value is passed directly to the native Proxmox QEMU or LXC creation endpoint so operators can create new guests inside a dedicated Proxmox resource pool. This enables a privilege-separated API token to use a resource pool as the security boundary for AI-driven provisioning. FoHigh7/16/2026
v0.5.8# ProxmoxMCP-Plus v0.5.8 Release date: 2026-06-07 ## Windows SSH Compatibility Fixes (Issue #100) This release fixes four critical bugs that prevented `execute_container_command` and `get_node_status` from working correctly on Windows 11 with Claude Code (VS Code extension). All bugs are also observable on any platform that runs the MCP server headless without a TTY. ### Bug 1 - SSH command never includes the username - **File:** `src/proxmox_mcp/tools/console/container_manager.pyHigh6/7/2026
v0.5.7# ProxmoxMCP-Plus v0.5.7 Release date: 2026-05-30 ## Visual Documentation Improvements - Replaced the README hero architecture diagram with a new publication-style SVG. - The new diagram is grounded in the actual project architecture: - MCP stdio clients - MCP Streamable HTTP at `/mcp` - OpenAPI automation through `/docs`, `/openapi.json`, `/health`, `/readyz`, and `/metrics` - FastMCP server boundary - OpenAPI proxy - built-in tool registry and domain tool plugins - command polHigh5/30/2026
v0.5.3# ProxmoxMCP-Plus v0.5.3 Release date: 2026-05-27 ## Fixes - `manifest.json` now declares all 42 tools registered at runtime, including job, VM config, container config, container IP, container command, and SSH key tools. - VM and LXC command execution logs no longer record command text, command output, or command error content by default. - OpenSSH-based LXC command execution and API SSH tunnel debug logs no longer expose full command lines or local key/known-hosts paths. - Error logging nowHigh5/27/2026
v0.5.2# ProxmoxMCP-Plus v0.5.2 Release date: 2026-05-12 ## Fixes - `retry_job` now claims a retry with an atomic SQLite status transition before replaying the operation, preventing concurrent retry requests from duplicating high-risk work. - `cancel_job` now discards stale cancel results when the backing UPID changes while the cancellation request is in flight. - `setup.py` now matches the project metadata and requires `paramiko>=5.0.0,<6.0.0`. - `update_container_ssh_keys` is now classified as a hHigh5/12/2026
v0.4.9# ProxmoxMCP-Plus v0.4.9 This release supersedes v0.4.8 with the same production reliability work plus a CodeQL-blocking log-injection fix. ## What Changed - Sanitized high-risk retry audit log values before writing them to logs, preventing forged log lines from job IDs or persisted tool names. - Kept the v0.4.8 reliability hardening: - SQLite `JobStore` WAL, busy timeout, migration tracking, indexes, SQL filtering/limits, and explicit close lifecycle. - Policy checks for high-risk job reHigh5/9/2026
v0.4.6# ProxmoxMCP-Plus v0.4.6 Released: 2026-05-02 ## Fixes - Makes `api_tunnel` effective by connecting Proxmox API calls to the configured local tunnel endpoint when the tunnel is enabled. - Refreshes persisted job records from SQLite before job reads and controls so OpenAPI `/jobs` can see jobs created by the MCP subprocess after proxy startup. - Prevents LXC creation secrets from being persisted in SQLite retry recipes when `password` or `ssh_public_keys` are provided. - Stops `rollbaHigh5/2/2026
v0.4.4īģŋ# ProxmoxMCP-Plus v0.4.4 Release date: 2026-04-28 ## Summary This maintenance release updates GitHub Actions workflow dependencies to current Node 24-compatible major versions. ## Changes - Updated checkout and Python setup actions used by CI and release workflows. - Updated artifact upload/download actions used by the PyPI publishing workflow. - Updated Docker login, metadata, and build/push actions used by the GHCR publishing workflow. ## Upgrade Notes - No runtime or config migratioHigh4/28/2026
v0.4.1# ProxmoxMCP-Plus v0.4.1 ## Highlights - Fixed MCP client examples so their default TLS settings pass startup validation. - Added `PROXMOX_DEV_MODE` to Claude Desktop, manifest, and OpenCode examples. - Cleaned up duplicated long-running job documentation in the README. - Fixed the stale `test_scripts/run_real_e2e.py` path in the README. - Added an explicit Quick Start step to copy `config.example.json` to `config.json`. ## Upgrade Notes - No runtime configuration migration is required. - IfHigh4/25/2026
v0.2.1## Why this release matters `v0.2.1` turns the project's MCP Registry path into a repeatable release workflow instead of a one-off manual step. This release is aimed at making discovery and installation more reliable across GitHub Copilot and other MCP Registry consumers. ## User-visible highlights - added `server.json` metadata for MCP Registry publication - added PyPI README ownership marker required for registry verification - aligned the published CLI entrypoint with the PyPI package namHigh4/18/2026
v0.2.0## Why this release matters `v0.2.0` makes the project easier to trust, easier to run, and easier to explain. This release is aimed at LLM, AI agent, homelab, and self-hosted users who want one Proxmox control plane for both `MCP` and `OpenAPI`. ## User-visible highlights - real Proxmox live E2E coverage for VM, LXC, snapshot, backup, restore, ISO, SSH, OpenAPI, and Docker flows - source-vs-installed-package test isolation fix so `pytest` runs against the repository `src` tree - container SSHigh4/18/2026
v0.1.0## Highlights - unify Python package metadata for proxmox-mcp-plus - add local build and release documentation - add GitHub Actions workflows for PyPI and GHCR publishingHigh4/18/2026
0.0.0No release found — using repo HEADHigh4/11/2026
main@2026-04-11Latest activity on main branchHigh4/11/2026
main@2026-04-11Latest activity on main branchHigh4/11/2026
main@2026-04-11Latest activity on main branchHigh4/11/2026
main@2026-04-11Latest activity on main branchHigh4/11/2026
main@2026-04-11Latest activity on main branchHigh4/11/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

pipulateLocal First AI SEO Software on Nix, FastHTML & HTMXmain@2026-10-25
litellmPython SDK, Proxy Server (AI Gateway) to call 100+ LLM APIs in OpenAI (or native) format, with cost tracking, guardrails, loadbalancing and logging. [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropiv1.106.4
langfuse-mcpA Model Context Protocol (MCP) server for Langfuse, enabling AI agents to query Langfuse trace data for enhanced debugging and observabilityv0.14.0
rootly-mcp-serverRootly MCP servermain@2026-10-25
LIA-AssistantOpen-source multi-agent AI assistant powered by LangGraph, FastAPI & Next.js — 16+ agents, Human-in-the-Loop, MCP integration, voice TTS, RAG, 500+ metrics, 6 languages.v3.7.0

More in MCP Servers

litellmPython SDK, Proxy Server (AI Gateway) to call 100+ LLM APIs in OpenAI (or native) format, with cost tracking, guardrails, loadbalancing and logging. [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropi
ruflo🌊 The leading agent orchestration platform for Claude. Deploy intelligent multi-agent swarms, coordinate autonomous workflows, and build conversational AI systems. Features enterprise-grade archit
@claude-flow/cliRuflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.