Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.felhen-ai/mcp-proxmox

PYPI · MCP-PROXMOX

Manage Proxmox VE clusters through AI assistants — VMs, containers, and more

Available components

62 Trust /100

Last scanned (7 hours ago)

Scores higher than 59% of PyPI servers

Category Cloud Infrastructure

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 0 of 32 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to felhen-ai/mcp-proxmox). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 1 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4321 tokens (~116/item across 37 items; 37 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (97% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "shutdown_guest" implies "shutdown" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 37 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 4 Nov 26 77

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed pypi/mcp-proxmox@1.2.4

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo felhen-ai/mcp-proxmox
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/felhen-ai/mcp-proxmox/.github/workflows/publish.yml@refs/tags/v1.2.4
Rekor log index 3683637102
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:e74a86e9bdad2e9f5e65f4462cb1781988cd4eae16247daee769a7446e94a011

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 32 packages
Packages resolved 32
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 37 exposed · ~4,321 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_firewall_rule ~329

Add a firewall rule to a VM/CT, node, or cluster. Args: action: Rule action: 'ACCEPT', 'DROP', or 'REJECT'. type_: Rule direction: 'in' (incoming) or 'out' (outgoing). vmid: Optional. Add rule to this VM/container. node: Optional. Add rule to this node. Ignored if vmid is provided. proto: Optional. Protocol: 'tcp', 'udp', 'icmp', etc. dport: Optional. Destination port or range (e.g. '80', '8000-9000', '80,443'). sport: Optional. Source port or range. source: Optional. Source IP/CIDR (e.g. '192.168.1.0/24'). dest: Optional. Destination IP/CIDR. iface: Optional. Network interface (e.g. 'net0'). enable: Enable rule immediately (default true). comment: Optional description for the rule. pos: Optional position in the rule chain (0 = first). If neither vmid nor node is provided, adds a cluster-level rule.

NameTypeReqDescription
actionstringyes–
commentstring––
dest–––
dport–––
enableboolean––
iface–––
node–––
pos–––
proto–––
source–––
sport–––
type_stringyes–
vmid–––
NameTypeReqDescription
resultstringyes–

No examples provided.

clone_guest ~173

Clone an existing VM or container. Auto-detects type and node. Creates a full (independent) clone by default. Set full_clone=false for a linked clone. Args: vmid: Source VM/container VMID to clone. new_name: Optional name for the clone. target_node: Optional target node for the clone (for cross-node cloning). full_clone: Full clone (true, default) or linked clone (false). target_storage: Optional target storage for the clone's disks. new_vmid: Optional VMID for the clone. Auto-assigned if not provided.

NameTypeReqDescription
full_cloneboolean––
new_name–––
new_vmid–––
target_node–––
target_storage–––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

configure_cloud_init ~192

Configure cloud-init settings on a VM for automated provisioning. At least one parameter must be provided. Changes take effect on next boot. Args: vmid: The numeric ID of the VM. user: Default user name for cloud-init. password: Password for the default user. ssh_keys: SSH public keys (URL-encoded, newline-separated for multiple keys). ip_config: IP configuration string (e.g. 'ip=dhcp' or 'ip=10.0.0.5/24,gw=10.0.0.1'). nameserver: DNS server IP(s), space-separated. searchdomain: DNS search domain(s), space-separated.

NameTypeReqDescription
ip_config–––
nameserver–––
password–––
searchdomain–––
ssh_keys–––
user–––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

create_backup ~151

Create a backup (vzdump) of a VM or container. Args: vmid: The numeric ID of the VM or container to back up. storage_name: Target storage for the backup (default 'local'). mode: Backup mode: 'snapshot' (no downtime, default), 'suspend', or 'stop'. compress: Compression: 'zstd' (default), 'lzo', 'gzip', or '0' (none). notes: Optional notes/description for the backup.

NameTypeReqDescription
compressstring––
modestring––
notesstring––
storage_namestring––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

create_container ~291

Create a new LXC container from a template. Args: node: Target node name (e.g. 'pve'). name: Container hostname. template: Template volume ID (e.g. 'local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst'). Use list_storage_content with content_type='vztmpl' to find available templates. cores: Number of CPU cores (default 1). memory: Memory in MB (default 512). disk_size: Root disk size in GB (default 8). storage_pool: Storage for rootfs (default 'local-lvm'). net_bridge: Network bridge (default 'vmbr0'). password: Optional root password. ssh_public_keys: Optional SSH public keys for root access. start_after_create: Start container after creation (default false). vmid: Optional specific VMID. Auto-assigned if not provided.

NameTypeReqDescription
coresinteger––
disk_sizeinteger––
memoryinteger––
namestringyes–
net_bridgestring––
nodestringyes–
password–––
ssh_public_keys–––
start_after_createboolean––
storage_poolstring––
templatestringyes–
vmid–––
NameTypeReqDescription
resultstringyes–

No examples provided.

create_snapshot ~79

Create a new snapshot for a VM or container. Args: vmid: The numeric ID of the VM or container. name: Snapshot name (alphanumeric, hyphens, underscores). description: Optional description for the snapshot.

NameTypeReqDescription
descriptionstring––
namestringyes–
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

create_template ~85

Convert a stopped VM into a template. IRREVERSIBLE. Once converted, the VM can no longer be started — it can only be cloned. Args: vmid: The numeric ID of the VM to convert. confirm: Must be true to execute. First call without confirm shows a warning.

NameTypeReqDescription
confirmboolean––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

create_vm ~299

Create a new QEMU virtual machine. The VM is created stopped by default. Use start_after_create=true to auto-start. Args: node: Target node name (e.g. 'pve'). name: VM name. cores: Number of CPU cores (default 1). memory: Memory in MB (default 2048). disk_size: Disk size with unit (default '32G'). Examples: '10G', '100G', '1T'. storage_pool: Storage for disk (default 'local-lvm'). iso: Optional ISO volume ID for installation (e.g. 'local:iso/ubuntu-24.04.iso'). os_type: OS type (default 'l26' for Linux). Options: l26, l24, win11, win10, other. net_bridge: Network bridge (default 'vmbr0'). start_after_create: Start VM after creation (default false). vmid: Optional specific VMID. Auto-assigned if not provided.

NameTypeReqDescription
coresinteger––
disk_sizestring––
iso–––
memoryinteger––
namestringyes–
net_bridgestring––
nodestringyes–
os_typestring––
start_after_createboolean––
storage_poolstring––
vmid–––
NameTypeReqDescription
resultstringyes–

No examples provided.

delete_firewall_rule ~140

Delete a firewall rule by its position number. Use list_firewall_rules first to see rule positions. Args: pos: Position of the rule to delete (from list_firewall_rules output). vmid: Optional. Delete from this VM/container's rules. node: Optional. Delete from this node's rules. Ignored if vmid is provided. confirm: Must be true to execute. First call without confirm shows a warning. If neither vmid nor node is provided, deletes from cluster-level rules.

NameTypeReqDescription
confirmboolean––
node–––
posintegeryes–
vmid–––
NameTypeReqDescription
resultstringyes–

No examples provided.

delete_guest ~85

Permanently delete a VM or container. IRREVERSIBLE. The guest must be stopped before deletion. All disk images will be destroyed. Args: vmid: The numeric ID of the VM or container to delete. confirm: Must be true to execute. First call without confirm shows a warning.

NameTypeReqDescription
confirmboolean––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

delete_snapshot ~81

Delete a snapshot from a VM or container. Args: vmid: The numeric ID of the VM or container. name: Name of the snapshot to delete. confirm: Must be true to execute. First call without confirm shows a warning.

NameTypeReqDescription
confirmboolean––
namestringyes–
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

exec_command ~122

Execute a command inside a QEMU VM via the guest agent. Requires qemu-guest-agent to be installed and running inside the VM. Not supported for LXC containers. Args: vmid: The numeric ID of the VM. command: The command to execute (e.g. 'hostname', 'df -h', 'systemctl status nginx'). timeout: Max seconds to wait for command completion (default 30, max 300).

NameTypeReqDescription
commandstringyes–
timeoutinteger––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

get_guest_metrics ~85

Get resource usage metrics (CPU, memory, network, disk I/O) for a VM or container. Args: vmid: The numeric ID of the VM or container. timeframe: Time range for metrics. Options: 'hour', 'day', 'week', 'month', 'year'.

NameTypeReqDescription
timeframestring––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

get_guest_status ~61

Get detailed status of a VM or container by VMID. Auto-detects type and node. Args: vmid: The numeric ID of the VM or container (e.g. 100, 200).

NameTypeReqDescription
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

get_node_status ~59

Get detailed status for a specific node including CPU model, memory, disk, and versions. Args: node: Name of the Proxmox node (e.g. 'pve', 'node1').

NameTypeReqDescription
nodestringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

list_backups ~74

List backup files across storages. Args: node: Optional. Filter by node name. storage_name: Optional. Filter by storage name. vmid: Optional. Filter by VMID to see backups of a specific guest.

NameTypeReqDescription
node–––
storage_name–––
vmid–––
NameTypeReqDescription
resultstringyes–

No examples provided.

list_containers ~56

List all LXC containers across the cluster. Args: node: Optional. Filter by node name. status: Optional. Filter by status ('running', 'stopped').

NameTypeReqDescription
node–––
status–––
NameTypeReqDescription
resultstringyes–

No examples provided.

list_firewall_rules ~88

List firewall rules. Can target a specific VM/CT, a node, or the cluster. Args: vmid: Optional. List rules for this VM/container. node: Optional. List rules for this node. Ignored if vmid is provided. If neither vmid nor node is provided, lists cluster-level rules.

NameTypeReqDescription
node–––
vmid–––
NameTypeReqDescription
resultstringyes–

No examples provided.

list_networks ~52

List network interfaces, bridges, and bonds on a Proxmox node. Args: node: Name of the Proxmox node (e.g. 'pve').

NameTypeReqDescription
nodestringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

list_nodes ~27

List all nodes in the Proxmox cluster with status, CPU, memory, and uptime.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes–

No examples provided.

list_snapshots ~41

List all snapshots for a VM or container. Args: vmid: The numeric ID of the VM or container.

NameTypeReqDescription
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

list_storage_content ~109

List content of a storage pool (ISOs, templates, backups, disk images). Args: node: Name of the Proxmox node. storage_name: Name of the storage pool (e.g. 'local', 'local-lvm'). content_type: Optional. Filter by type: 'iso', 'vztmpl', 'backup', 'images', 'rootdir'.

NameTypeReqDescription
content_type–––
nodestringyes–
storage_namestringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

list_storages ~39

List storage pools across the cluster with capacity and usage info. Args: node: Optional. Filter by node name.

NameTypeReqDescription
node–––
NameTypeReqDescription
resultstringyes–

No examples provided.

list_tasks ~96

List recent tasks on a Proxmox node (backups, migrations, snapshots, etc.). Args: node: Name of the Proxmox node. limit: Maximum number of tasks to return (default 20, max 100). status: Optional. Filter by task status ('ok', 'error', 'running').

NameTypeReqDescription
limitinteger––
nodestringyes–
status–––
NameTypeReqDescription
resultstringyes–

No examples provided.

list_templates ~19

List all VM templates available in the cluster for cloning.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes–

No examples provided.

list_vms ~57

List all QEMU virtual machines across the cluster. Args: node: Optional. Filter by node name. status: Optional. Filter by status ('running', 'stopped').

NameTypeReqDescription
node–––
status–––
NameTypeReqDescription
resultstringyes–

No examples provided.

migrate_guest ~124

Live migrate a VM or container to another node in the cluster. Args: vmid: The numeric ID of the VM or container to migrate. target_node: Name of the destination node (e.g. 'pve2'). online: Live migration (true, default) or offline (false). Online keeps the guest running. confirm: Must be true to execute. First call without confirm shows a warning.

NameTypeReqDescription
confirmboolean––
onlineboolean––
target_nodestringyes–
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

reboot_guest ~65

Reboot a running VM or container. Args: vmid: The numeric ID of the VM or container to reboot. confirm: Must be true to execute. First call without confirm shows a warning.

NameTypeReqDescription
confirmboolean––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

resize_guest ~224

Resize CPU, memory, and/or disk of a VM or container. At least one of cores, memory, or disk_size must be provided. CPU and memory changes take effect on next reboot for running guests. Disk resize is immediate but IRREVERSIBLE (disks can only grow). Args: vmid: The numeric ID of the VM or container. cores: New number of CPU cores. memory: New memory size in MB. disk_size: Disk size change. Use '+10G' to add 10GB, or '50G' for absolute size. Supported units: K, M, G, T. disk: Disk name to resize (default 'scsi0' for VMs, auto-mapped to 'rootfs' for CTs). confirm: Must be true to execute. First call without confirm shows a warning.

NameTypeReqDescription
confirmboolean––
cores–––
diskstring––
disk_size–––
memory–––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

restore_backup ~186

Restore a VM or container from a backup file. Args: volid: Volume ID of the backup (e.g. 'local:backup/vzdump-qemu-100-2024_03_04.vma.zst'). Use list_backups to find available backups. node: Target node for the restored guest. vmid: Optional VMID for the restored guest. Auto-assigned if not provided. storage_pool: Storage for restored disks (default 'local-lvm'). guest_type: Type of guest: 'vm' or 'container'. confirm: Must be true to execute. First call without confirm shows a warning.

NameTypeReqDescription
confirmboolean––
guest_typestring––
nodestringyes–
storage_poolstring––
vmid–––
volidstringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

rollback_snapshot ~95

Rollback a VM or container to a previous snapshot. WARNING: All changes since the snapshot will be LOST. Args: vmid: The numeric ID of the VM or container. name: Name of the snapshot to rollback to. confirm: Must be true to execute. First call without confirm shows a warning.

NameTypeReqDescription
confirmboolean––
namestringyes–
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

shutdown_guest ~55

Gracefully shut down a VM or container via ACPI signal (VMs) or init (containers). Args: vmid: The numeric ID of the VM or container to shut down.

NameTypeReqDescription
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

start_guest ~40

Start a stopped VM or container. Args: vmid: The numeric ID of the VM or container to start.

NameTypeReqDescription
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

stop_guest ~72

Force-stop a running VM or container. WARNING: May cause data loss. Args: vmid: The numeric ID of the VM or container to stop. confirm: Must be true to execute. First call without confirm shows a warning.

NameTypeReqDescription
confirmboolean––
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

vm_screenshot ~85

Capture a PNG screenshot of a QEMU VM's display. The VM must be running. Returns the screenshot as a PNG image. Use this to see the current state of the VM console (login prompt, GUI, boot messages, installer screens, etc.). Args: vmid: The numeric ID of the QEMU VM.

NameTypeReqDescription
vmidintegeryes–

No output schema declared.

No examples provided.

vm_send_key ~281

Send a key or key combination to a QEMU VM's console. The VM must be running. Key names are human-readable and auto-converted to QEMU Monitor key codes. Use vm_screenshot first to see the console state. Common keys and combos: - 'enter' — Enter key - 'esc' — Escape key - 'tab' — Tab key - 'space' — Space bar - 'backspace' — Backspace - 'up', 'down', 'left', 'right' — Arrow keys - 'f1'-'f12' — Function keys - 'ctrl-alt-delete' — Ctrl+Alt+Del (reboot) - 'ctrl-c' — Ctrl+C - 'win-r' — Win+R (opens Run dialog on Windows) - 'a'-'z', '0'-'9' — Single character keys Args: vmid: The numeric ID of the QEMU VM. key: Key name or hyphen-separated combo (e.g. 'enter', 'ctrl-alt-delete', 'win-r'). confirm: Must be true to send the key to the VM console.

NameTypeReqDescription
confirmboolean––
keystringyes–
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

vm_send_text ~204

Type a text string into a QEMU VM's console, character by character. Each character is sent as an individual keypress. Use this to type login credentials, commands, or other text into the VM console. Combine with vm_screenshot to verify the result. Supports printable ASCII characters. Newlines (' ') are sent as Enter. Note: characters requiring Shift (uppercase, symbols like '!', '@') are sent with shift automatically. Args: vmid: The numeric ID of the QEMU VM. text: Text string to type into the VM console (e.g. 'administrator admin '). delay: Delay between keypresses in seconds (default 0.05). confirm: Must be true to type the text into the VM console.

NameTypeReqDescription
confirmboolean––
delaynumber––
textstringyes–
vmidintegeryes–
NameTypeReqDescription
resultstringyes–

No examples provided.

Install

How do I install the io.github.felhen-ai/mcp-proxmox server?

io.github.felhen-ai/mcp-proxmox runs locally as a PyPI package, launched with uvx mcp-proxmox. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcp-proxmox

# add to Claude Code
claude mcp add felhen-ai-mcp-proxmox -- uvx mcp-proxmox
Common questions

What is the io.github.felhen-ai/mcp-proxmox server?

io.github.felhen-ai/mcp-proxmox is listed in the public MCP registry as io.github.felhen-ai/mcp-proxmox. Manage Proxmox VE clusters through AI assistants, VMs, containers, and more. This page covers its PyPI package (mcp-proxmox).

Is the io.github.felhen-ai/mcp-proxmox server safe to use?

io.github.felhen-ai/mcp-proxmox scores 62 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.felhen-ai/mcp-proxmox server expose?

io.github.felhen-ai/mcp-proxmox exposes 37 tools: list_nodes, get_node_status, list_vms, list_containers, get_guest_status, and 32 more. Their descriptions and schemas cost roughly 4,321 tokens of context every time the server is loaded.

Is the io.github.felhen-ai/mcp-proxmox server still maintained?

io.github.felhen-ai/mcp-proxmox is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.felhen-ai/mcp-proxmox server under?

io.github.felhen-ai/mcp-proxmox declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.