Model Context Protocol server for Proxmox VE cluster management, providing tools to query and manage virtual machines, containers, storage, nodes, and cluster resources
Server has 23 tools with consistent naming (verb_noun pattern) and tool annotations (readOnlyHint, destructiveHint). Most tools have descriptions (10 - 200 chars, within baseline 194 avg). Input schemas are present with types and descriptions for all visible tools. Output schemas are not documented. Error handling is basic (mcp.NewToolResultError) with no recovery guidance. Parameter descriptions lack format constraints and validation rules. No pagination support visible despite list_resources and get_storage_content returning potentially large result sets.
Create a vzdump backup of a VM or container. Waits for the backup task to finish, which can take a long time for large guests.
Clear bandwidth throttling limits from a disk
Clone an LXC container
Create a template from a VM
Delete an ACME account
Get bandwidth throttling limits for a disk
8 of 23 tools defined only in test files (main_test.go, broken_tools_test.go, cmd/tools_list/main_test.go), not in production code. Unclear if they are actually registered or just test stubs.
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess or make wasteful follow-up calls. Baseline: 100% of A+ tools document return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Get network interfaces reported by the QEMU guest agent. Requires the agent to be installed and running inside the VM.
Get firewall options for a QEMU VM
Get the next available VM ID
Get the network interface configuration of a node
Get storage contents including disks, ISOs, and templates
Hibernate a guest (suspend to disk)
List HA groups in the cluster
List cluster resources (guests, nodes, storage, pools)
List snapshots of a VM or container
Migrate a VM or container to another node. Waits for the migration task to finish.
Pause a guest (suspend to RAM)
Ping the QEMU guest agent to check whether it is responding
Reboot a node
Grow a guest disk. Proxmox cannot shrink disks, so only absolute targets larger than the current size or relative increases are accepted.
Shutdown a guest
Shutdown a node
Update a user group
List tools (list_resources, get_storage_content, list_snapshots) lack pagination parameters (limit, offset, page_size). Large result sets will blow context window. Baseline: tools returning lists should accept page/offset and limit.
Error handling is minimal (mcp.NewToolResultError with plain strings). No recovery guidance, categorization (retryable vs fatal), or actionable next steps. Baseline: error responses must tell LLM what to do next.
Parameter descriptions lack format constraints and validation rules. E.g., 'size' in resize_disk says 'absolute or relative' but does not specify regex pattern or examples. Baseline: describe expected format, range, and allowed values in parameter description.