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. For example, an operator can grant VM allocation and configuration privileges on /pool/claude-lab without granting global allocation privileges across production guests.
pool means a Proxmox resource pool. It is separate from the storage argument used for VM disks and LXC root filesystems.
Backward Compatibility
poolis optional on both tools.- When
poolis omitted or empty, the Proxmox request payload is unchanged from v0.5.8. - Existing positional and keyword callers remain compatible because the new argument is appended to each public Python method signature.
- No runtime configuration migration is required.
Permissions
The configured Proxmox API token must have the VM permissions required for creation and Pool.Allocate on the target resource pool. Permission assignment remains an operator responsibility; ProxmoxMCP-Plus does not broaden token privileges or fall back to global allocation.
Test Client Dependency
Development and test installs now include httpx2>=2.0.0,<3.0.0, which is the supported client backend for current Starlette TestClient. This removes the deprecated fallback to the legacy httpx backend without changing runtime dependencies.
The development test stack also moves to pytest>=9.0.3,<10.0.0 and pytest-asyncio>=1.4.0,<2.0.0. This excludes pytest versions affected by PYSEC-2026-1845 instead of suppressing the dependency-audit result.
Validation
- Added MCP-level regression tests proving
poolreaches both native Proxmox create requests. - Added compatibility assertions proving omitted
poolvalues do not alter existing request payloads. - Treating
StarletteDeprecationWarningas an error passes for the complete OpenAPI proxy test module. - The full release quality gate covers tests with coverage enforcement, Ruff, Mypy, dependency audit, package build, metadata validation, and distribution checks.
Upgrade Notes
- Upgrade normally from PyPI, Docker/GHCR, or source.
- Existing calls require no changes.
- To opt in, pass
pool="claude-lab"(or another Proxmox resource-pool name) tocreate_vmorcreate_container.