Mcp Proxmox

io.github.felhen-aiPublished by GitHub account felhen-aiv1.2.4Updated Nov 4, 2026

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

Overview

AI-generated overview

Manages a Proxmox VE cluster from an AI assistant: list nodes, VMs and containers, control power, snapshots, backups, storage, firewall and migration.

What you can do
  • Inspect nodes, VMs, containers, storages, networks, tasks and metrics
  • Start, stop, shut down, reboot, resize, clone, migrate and delete guests
  • Create VMs and LXC containers, convert VMs to templates, configure cloud-init
  • Create, roll back and delete snapshots; create, list and restore backups
  • Run commands in QEMU VMs via the guest agent, and capture screenshots or send keys and text to a VM console
  • List, add and delete firewall rules at guest, node or cluster level
When to use it
Useful for homelab or small-cluster operators who want to query and operate Proxmox VE in natural language instead of the web UI, for example checking VM status, taking a snapshot before an upgrade, or provisioning a new VM.
Requirements
Runs locally as a Python package (uvx or pip). Needs network access to the Proxmox VE host and the environment variables PROXMOX_HOST, PROXMOX_TOKEN_ID and PROXMOX_TOKEN_SECRET; optional PROXMOX_PORT and PROXMOX_VERIFY_SSL. The API token needs suitable Proxmox privileges. exec_command requires qemu-guest-agent in the VM.
Before you install
The token grants real control over the cluster; unchecking privilege separation gives full access. Many tools change or destroy data: stop, reboot, delete, rollback, restore, disk resize (irreversible), template conversion and firewall edits. Destructive tools require confirm=true after a warning, but an assistant can still confirm. PROXMOX_VERIFY_SSL defaults to false, so TLS certificates are not checked. Console text entry and cloud-init can carry credentials.

Installation

In SourceWeft

  1. Open Mcp Proxmox in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mcp-proxmox

[mcp-proxmox MCP server]

MCP server for managing Proxmox VE clusters through AI assistants like Claude, Cursor, and Cline.

Provision, manage, and monitor your entire Proxmox infrastructure through natural language. Create VMs and containers, manage snapshots, browse storage, and more.

Quick Start

bash
# Run directly with uvx (no install needed)uvx mcp-proxmox
# Or install with pippip install mcp-proxmox

Configuration

Set these environment variables (or create a .env file):

bash
PROXMOX_HOST=192.168.1.100          # Your Proxmox VE hostPROXMOX_TOKEN_ID=user@pam!mcp       # API token IDPROXMOX_TOKEN_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  # API token secret

Optional:

bash
PROXMOX_PORT=8006                   # Default: 8006PROXMOX_VERIFY_SSL=false            # Default: false

Creating a Proxmox API Token

  1. Log into your Proxmox web UI
  2. Go to Datacenter > Permissions > API Tokens
  3. Click Add and create a token for your user
  4. Uncheck "Privilege Separation" for full access, or assign specific permissions:
    • VM.Audit — read VM/CT status and config
    • VM.PowerMgmt — start/stop/shutdown/reboot
    • VM.Snapshot — create/rollback/delete snapshots
    • VM.Allocate — create/delete/clone VMs and containers
    • VM.Clone — clone operations
    • Datastore.Audit — list storages and browse content
    • Datastore.AllocateSpace — allocate disk space for new VMs/CTs
    • Sys.Audit — read node status and tasks
    • VM.Config.Disk — resize disks
    • VM.Config.CPU — change CPU allocation
    • VM.Config.Memory — change memory allocation
    • VM.Monitor — access QEMU monitor (for metrics)
    • VM.Console — console interaction tools (screenshots, keyboard input)
    • VM.Migrate — migrate VMs/CTs between nodes
    • Sys.Modify — manage firewall rules
    • VM.Config.Cloudinit — configure cloud-init parameters

Integration

Claude Desktop

Add to ~/.claude/claude_desktop_config.json:

json
{  "mcpServers": {    "proxmox": {      "command": "uvx",      "args": ["mcp-proxmox"],      "env": {        "PROXMOX_HOST": "192.168.1.100",        "PROXMOX_TOKEN_ID": "user@pam!mcp",        "PROXMOX_TOKEN_SECRET": "your-token-secret"      }    }  }}

Claude Code

Add to .claude/settings.json or ~/.claude/settings.json:

json
{  "mcpServers": {    "proxmox": {      "command": "uvx",      "args": ["mcp-proxmox"],      "env": {        "PROXMOX_HOST": "192.168.1.100",        "PROXMOX_TOKEN_ID": "user@pam!mcp",        "PROXMOX_TOKEN_SECRET": "your-token-secret"      }    }  }}

Cursor

Add to Cursor Settings > MCP with the same configuration as above.

Available Tools

Discovery

ToolDescription
list_nodesList all cluster nodes with CPU, memory, and uptime
get_node_statusDetailed node info: CPU model, memory, disk, versions
list_vmsList QEMU VMs (filter by node or status)
list_containersList LXC containers (filter by node or status)
get_guest_statusDetailed VM/CT status by VMID (auto-detects type and node)

Lifecycle

ToolDescription
start_guestStart a stopped VM or container
stop_guestForce-stop (requires confirmation)
shutdown_guestGraceful ACPI/init shutdown
reboot_guestReboot (requires confirmation)

Storage

ToolDescription
list_storagesList storage pools with capacity and usage (filter by node)
list_storage_contentBrowse ISOs, templates, backups, and disk images

Provisioning

ToolDescription
create_vmCreate a QEMU VM with configurable CPU, memory, disk, ISO, and network
create_containerCreate an LXC container from a template
clone_guestClone a VM or CT (full or linked clone, cross-node support)
delete_guestPermanently delete a stopped VM or CT (requires confirmation)

Backup & Restore

ToolDescription
list_backupsList backup files (filter by node, storage, or VMID)
create_backupCreate a vzdump backup (snapshot/suspend/stop modes, zstd/lzo/gzip)
restore_backupRestore a VM or CT from a backup file (requires confirmation)

Command Execution

ToolDescription
exec_commandRun a command inside a QEMU VM via guest agent

Note: exec_command requires qemu-guest-agent installed and running inside the VM. Not supported for LXC containers (Proxmox API limitation).

Console Interaction

ToolDescription
vm_screenshotCapture a PNG screenshot of a QEMU VM's display (login prompt, boot messages, installer, GUI)
vm_send_keySend a key or combination to a VM console (requires confirmation)
vm_send_textType ASCII text into a VM console (US layout; requires confirmation)

Note: Console tools do not require qemu-guest-agent and need only the VM.Console privilege. vm_screenshot opens the same VNC websocket tunnel the Proxmox web UI uses (RFB 3.8 with DES-based VNC auth) and is implemented in pure stdlib (custom WebSocket client + DES). Only QEMU VMs are supported. Text entry is layout-dependent: vm_send_text maps ASCII to a US keyboard layout (Shift-mapping for uppercase and symbols); non-ASCII input (e.g. Cyrillic) is not supported by the sendkey protocol.

Snapshots

ToolDescription
list_snapshotsList all snapshots for a VM/CT
create_snapshotCreate a new snapshot
rollback_snapshotRollback to a snapshot (requires confirmation)
delete_snapshotDelete a snapshot (requires confirmation)

Network

ToolDescription
list_networksList bridges, bonds, and physical interfaces on a node

Resize

ToolDescription
resize_guestResize CPU, memory, and/or disk of a VM or container (requires confirmation)

Monitoring

ToolDescription
get_guest_metricsCPU, memory, network, disk I/O over time
list_tasksRecent tasks on a node (backups, migrations, etc.)

Firewall

ToolDescription
list_firewall_rulesList firewall rules for a VM/CT, node, or the cluster
add_firewall_ruleAdd a firewall rule (action, direction, protocol, port, source/dest)
delete_firewall_ruleDelete a firewall rule by position (requires confirmation)

Migration

ToolDescription
migrate_guestLive or offline migrate a VM/CT to another node (requires confirmation)

Templates & Cloud-init

ToolDescription
list_templatesList all VM templates available for cloning
create_templateConvert a stopped VM into a template (requires confirmation, irreversible)
configure_cloud_initSet user, password, SSH keys, IP config, and DNS on a VM

Safety

Destructive operations (stop_guest, reboot_guest, rollback_snapshot, delete_snapshot, delete_guest, resize_guest, restore_backup, delete_firewall_rule, migrate_guest, create_template) require explicit confirm=true. The first call returns a warning describing the impact; only a second call with confirmation executes the action.

Examples

Once connected, you can ask your AI assistant:

  • "List all my VMs and their status"
  • "How much memory is VM 100 using?"
  • "Shut down container 105"
  • "Create a snapshot of VM 200 called before-upgrade"
  • "Show me the CPU usage of VM 100 over the last day"
  • "What tasks ran on node pve recently?"
  • "Which VMs are stopped?"
  • "What storage pools do I have and how full are they?"
  • "Show me available ISO images"
  • "Create a new Ubuntu VM with 4 cores and 8GB RAM"
  • "Clone VM 100 as a test environment"
  • "Create a Debian container from template"
  • "Delete the old test VM 999"
  • "Back up VM 100 to the zfs-backup-storage"
  • "Show me all backups for VM 200"
  • "Restore the latest backup of container 101"
  • "Run 'df -h' on VM 100"
  • "Check if nginx is running on VM 200"
  • "Take a screenshot of VM 100 so I can see the console"
  • "The VM is stuck at a login prompt — type 'root' and press Enter"
  • "Show me the network bridges on node pve"
  • "Give VM 100 more CPU — bump it to 8 cores"
  • "Add 50GB of disk to container 101"
  • "Show me the firewall rules on VM 100"
  • "Allow TCP port 443 on container 101"
  • "Migrate VM 200 to node pve2"
  • "List all templates in the cluster"
  • "Convert VM 102 into a template"
  • "Set cloud-init on VM 100: user admin, IP dhcp, DNS 8.8.8.8"

Troubleshooting

Missing required environment variables

This error means one or more required connection settings are not available to the server process. Copy .env.example to .env, then set PROXMOX_HOST, PROXMOX_TOKEN_ID, and PROXMOX_TOKEN_SECRET. If you configure an MCP client directly, make sure the same variables are present in that client's env block.

403 Permission check failed

A 403 usually means the API token is valid but does not have enough Proxmox privileges for the requested operation. Revisit Creating a Proxmox API Token and either uncheck "Privilege Separation" for full access or assign the specific privileges listed there, such as VM.Audit, VM.PowerMgmt, VM.Snapshot, or storage permissions for datastore operations.

exec_command fails for guest-agent or LXC reasons

exec_command only works for QEMU VMs with qemu-guest-agent installed and running inside the guest. If the tool reports that the QEMU guest agent is not responding, start or install the agent in the VM and retry. LXC containers are not supported by this Proxmox API path, so use another container access method instead.

ModuleNotFoundError: No module named 'mcp.server.fastmcp'

The MCP Python SDK 2.0 removed the mcp.server.fastmcp module that mcp-proxmox 1.2.1 and earlier import. Fresh installs (uvx mcp-proxmox, uv tool install, pip install) resolved mcp 2.x and failed on startup — in Claude Desktop this only shows up as "Server disconnected". Upgrade to mcp-proxmox 1.2.2 or later, which pins mcp<2. If you must stay on an older mcp-proxmox, constrain the SDK yourself: uvx --with "mcp<2" mcp-proxmox.

Self-signed certificate or connection errors

Proxmox commonly runs on port 8006, so check that PROXMOX_HOST and PROXMOX_PORT point to the same endpoint you use for the Proxmox web UI. For homelab clusters with self-signed certificates, leave PROXMOX_VERIFY_SSL=false or set it explicitly. Use PROXMOX_VERIFY_SSL=true only when the Proxmox certificate chains to a CA trusted by your runtime.

Development

bash
git clone https://github.com/felhen-ai/mcp-proxmox.gitcd mcp-proxmoxpython -m venv .venvsource .venv/bin/activatepip install -e ".[dev]"
# Run testspytest
# Lintruff check src/ tests/ruff format src/ tests/
# Type checkmypy src/

License

MIT

Repository and registry compatibility

The canonical repository is https://github.com/felhen-ai/mcp-proxmox. Existing GitHub clone and issue URLs redirect to this repository. Do not recreate a repository at the old address, which would remove those redirects.

The canonical MCP Registry identifier is io.github.felhen-ai/mcp-proxmox. The legacy identifier io.github.antonio-mello-ai/mcp-proxmox remains supported with a separate server.legacy.json manifest. Both identifiers install the same mcp-proxmox package from PyPI, and the package name and CLI command remain unchanged. Keep both ownership markers in this README so future releases can be registered under either identifier.

New Docker publications use ghcr.io/felhen-ai/mcp-proxmox. Existing images and tags at ghcr.io/antonio-mello-ai/mcp-proxmox are retained for compatibility; they are not deleted or silently replaced. The legacy Glama badge above remains a discovery link until that directory migrates its entry.

Source: README.md at commit e440334

Tools

37

list_nodes

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

Takes no parameters.

get_node_status

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').

Parametersnoderequired

list_vms

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

Parametersnodestatus

list_containers

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

Parametersnodestatus

get_guest_status

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).

Parametersvmidrequired

start_guest

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

Parametersvmidrequired

stop_guest

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.

Parametersvmidrequiredconfirm

shutdown_guest

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.

Parametersvmidrequired

reboot_guest

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.

Parametersvmidrequiredconfirm

list_snapshots

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

Parametersvmidrequired

create_snapshot

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.

Parametersnamerequiredvmidrequireddescription

rollback_snapshot

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.

Parametersnamerequiredvmidrequiredconfirm

delete_snapshot

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.

Parametersnamerequiredvmidrequiredconfirm

list_storages

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

Parametersnode

list_storage_content

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'.

Parametersnoderequiredcontent_typestorage_namerequired

create_vm

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.

Parametersisonamerequirednoderequiredvmidcoresmemoryos_typedisk_sizenet_bridgestorage_poolstart_after_create

create_container

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.

Parametersnamerequirednoderequiredvmidcoresmemorypasswordtemplaterequireddisk_sizenet_bridgestorage_poolssh_public_keysstart_after_create

clone_guest

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.

Parametersvmidrequirednew_namenew_vmidfull_clonetarget_nodetarget_storage

delete_guest

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.

Parametersvmidrequiredconfirm

list_backups

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.

Parametersnodevmidstorage_name

create_backup

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.

Parametersmodevmidrequirednotescompressstorage_name

restore_backup

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.

Parametersnoderequiredvmidvolidrequiredconfirmguest_typestorage_pool

exec_command

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).

Parametersvmidrequiredcommandrequiredtimeout

vm_screenshot

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.

Parametersvmidrequired

vm_send_key

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.

Parameterskeyrequiredvmidrequiredconfirm

vm_send_text

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.

Parameterstextrequiredvmidrequireddelayconfirm

get_guest_metrics

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'.

Parametersvmidrequiredtimeframe

list_tasks

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').

Parametersnoderequiredlimitstatus

list_networks

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

Parametersnoderequired

resize_guest

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.

Parametersdiskvmidrequiredcoresmemoryconfirmdisk_size

list_firewall_rules

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.

Parametersnodevmid

add_firewall_rule

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.

Parametersposdestnodevmiddportifaceprotosporttype_requiredactionrequiredenablesource+1 more

delete_firewall_rule

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.

Parametersposrequirednodevmidconfirm

migrate_guest

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.

Parametersvmidrequiredonlineconfirmtarget_noderequired

list_templates

List all VM templates available in the cluster for cloning.

Takes no parameters.

create_template

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.

Parametersvmidrequiredconfirm

configure_cloud_init

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.

Parametersuservmidrequiredpasswordssh_keysip_confignameserversearchdomain

Version history

1
  1. v1.2.4LatestNov 4, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts