Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROXMOX_HOSTYesProxmox host address
PROXMOX_PORTNoAPI port8006
PROXMOX_USERNoUserroot@pam
TOOL_ROUTINGNoEnable tool routing modefalse
PROXMOX_TIMEOUTNoRequest timeout in seconds30
PROXMOX_PASSWORDNoPassword (alternative to token authentication)
PROXMOX_TOKEN_NAMENoAPI token name (required with PROXMOX_TOKEN_VALUE if not using password)
PROXMOX_VERIFY_SSLNoSSL verification (0 or 1)0
PROXMOX_TOKEN_VALUENoAPI token value (required with PROXMOX_TOKEN_NAME if not using password)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
proxmox_api_rawA

Make an arbitrary Proxmox API call for any endpoint not covered by specific tools.

Args: method: HTTP method: 'get', 'post', 'put', 'delete'. path: API path (e.g. '/nodes/pve1/qemu/100/status/current'). params: JSON string of parameters (e.g. '{"memory": 4096}').

list_usersA

List all users in Proxmox.

Args: enabled: Only show enabled users. full: Include detailed info (groups, tokens, etc.).

get_userA

Get details for a specific user.

Args: userid: User ID (format: 'user@realm', e.g. 'admin@pam').

create_userA

Create a new user.

Args: userid: User ID (format: 'user@realm', e.g. 'myuser@pve'). password: Password (only for pve/pam realms). email: Email address. firstname: First name. lastname: Last name. groups: Comma-separated group list. comment: Description. enable: Enable user. expire: Account expiration (Unix epoch, 0 = never).

update_userB

Update an existing user.

Args: userid: User ID (format: 'user@realm'). email: Email address. firstname: First name. lastname: Last name. groups: Comma-separated group list. comment: Description. enable: Enable/disable user. expire: Account expiration (Unix epoch, 0 = never, -1 = don't change). append: Append groups instead of replacing.

delete_userB

Delete a user.

Args: userid: User ID to delete (format: 'user@realm').

list_user_tokensA

List API tokens for a user.

Args: userid: User ID (format: 'user@realm').

get_user_tokenA

Get details for a specific API token.

Args: userid: User ID (format: 'user@realm'). tokenid: Token ID.

create_user_tokenA

Create a new API token for a user. Returns the token value (shown only once).

Args: userid: User ID (format: 'user@realm'). tokenid: Token ID (alphanumeric). comment: Token description. privsep: Enable privilege separation (token has own permissions, not user's full permissions). expire: Expiration (Unix epoch, 0 = never).

delete_user_tokenB

Delete an API token.

Args: userid: User ID (format: 'user@realm'). tokenid: Token ID.

list_groupsA

List all user groups.

get_groupB

Get group details.

Args: groupid: Group ID.

create_groupC

Create a new group.

Args: groupid: Group ID. comment: Description.

update_groupC

Update a group.

Args: groupid: Group ID. comment: Description.

delete_groupC

Delete a group.

Args: groupid: Group ID.

list_rolesA

List all available roles.

get_roleB

Get role details and its privileges.

Args: roleid: Role ID.

create_roleC

Create a new role with specific privileges.

Args: roleid: Role ID. privs: Comma-separated list of privileges (e.g. 'VM.Allocate,VM.Config.Disk,VM.PowerMgmt').

update_roleA

Update role privileges.

Args: roleid: Role ID. privs: Comma-separated list of privileges. append: Append privileges instead of replacing.

delete_roleC

Delete a role.

Args: roleid: Role ID.

get_aclA

Get the full ACL (access control list) — shows all permission assignments.

update_aclA

Add or remove ACL entries (permission assignments).

Args: path: Object path (e.g. '/', '/vms/100', '/storage/local', '/pool/mypool'). roles: Comma-separated role list. users: Comma-separated user list (format: 'user@realm'). groups: Comma-separated group list. tokens: Comma-separated token list (format: 'user@realm!tokenid'). propagate: Propagate permissions to child objects. delete: Remove the ACL entry instead of adding.

list_auth_domainsA

List configured authentication realms/domains (PAM, PVE, LDAP, AD, OpenID).

get_auth_domainB

Get authentication domain configuration.

Args: realm: Realm ID (e.g. 'pam', 'pve', 'my-ldap').

sync_auth_domainA

Sync users/groups from an external auth domain (LDAP/AD).

Args: realm: Realm ID to sync. dry_run: Only show what would change. full: Full sync (not just incremental). enable_new: Enable newly synced users. remove_vanished: Comma-separated: 'entry' (remove users), 'properties' (clear), 'acl' (remove ACLs).

list_tfaB

List TFA (two-factor auth) entries.

Args: userid: Filter by user ID (empty = all users).

get_permissionsB

Check effective permissions for a user on a given path.

Args: userid: User to check (empty = current user). path: Object path to check (empty = root).

change_passwordC

Change a user's password.

Args: userid: User ID (format: 'user@realm'). password: New password.

list_backup_jobsA

List all scheduled backup jobs (vzdump) in the cluster.

get_backup_jobC

Get details of a specific backup job.

Args: id: Backup job ID.

get_backup_job_included_volumesB

Get volumes included in a backup job.

Args: id: Backup job ID.

create_backup_jobB

Create a scheduled backup job.

Args: storage: Target storage ID for backups. schedule: Schedule in systemd calendar format (e.g. 'daily', 'weekly', '02:00'). all_guests: Backup all guests. vmid: Comma-separated VMIDs to back up (if not all_guests). node: Only back up guests on this node. mode: Backup mode: 'snapshot', 'suspend', 'stop'. compress: Compression: 'none', 'lzo', 'gzip', 'zstd'. mailnotification: 'always' or 'failure'. mailto: Comma-separated email addresses. maxfiles: Max backup files to keep (0 = unlimited, deprecated - use prune_backups). prune_backups: Retention schedule (e.g. 'keep-daily=7,keep-weekly=4'). notes_template: Template for backup notes. enabled: Enable the job. comment: Description.

update_backup_jobB

Update a scheduled backup job.

Args: id: Backup job ID. storage: Target storage ID. schedule: Schedule in systemd calendar format. all_guests: Backup all guests. vmid: Comma-separated VMIDs. node: Node filter. mode: Backup mode. compress: Compression. enabled: Enable/disable. delete: Comma-separated properties to delete.

delete_backup_jobB

Delete a scheduled backup job.

Args: id: Backup job ID.

create_vzdumpA

Start an immediate backup (vzdump) on a node.

Args: node: The node to run the backup on. vmid: Comma-separated VMIDs (required if not all_guests). all_guests: Back up all guests on the node. storage: Target storage (empty = default). mode: Backup mode: 'snapshot', 'suspend', 'stop'. compress: Compression: 'none', 'lzo', 'gzip', 'zstd'. stdout: Write to stdout instead of storage.

get_vzdump_defaultsC

Get the default vzdump configuration for a node.

Args: node: The node name.

get_vzdump_extractconfigB

Extract the guest configuration from a vzdump backup archive.

Args: node: The node name. volume: Backup volume ID (e.g. 'local:backup/vzdump-qemu-100-2024_01_01-00_00_00.vma.zst').

list_backup_file_restoreB

List files in a vzdump backup for single-file restore.

Args: node: The node name. storage: Storage ID. volume: Backup volume ID. filepath: Path within the backup (default '/').

download_file_restoreC

Download a file from a vzdump backup.

Args: node: The node name. storage: Storage ID. volume: Backup volume ID. filepath: Path of the file to download from the backup.

get_versionA

Get the Proxmox VE API version information.

get_cluster_statusB

Get cluster status (nodes online, quorum, HA state).

get_cluster_resourcesA

List all resources across the cluster (VMs, containers, storage, nodes).

Args: type: Filter by type: 'vm', 'storage', 'node', 'sdn', 'pool' (empty = all).

get_cluster_tasksC

List recent tasks across all nodes in the cluster.

Args: limit: Maximum number of tasks to return.

get_cluster_logC

Get the cluster log (recent events).

Args: max_entries: Max log entries.

get_next_vmidA

Get the next available VMID in the cluster.

Args: vmid: Specific VMID to check availability for (0 = auto-assign).

get_cluster_optionsA

Get datacenter/cluster-wide options (keyboard layout, console, language, etc.).

update_cluster_optionsB

Update datacenter/cluster-wide options.

Args: keyboard: Keyboard layout (e.g. 'en-us', 'de'). language: Default language. console: Default console viewer: 'applet', 'vv', 'html5', 'xtermjs'. http_proxy: HTTP proxy URL. email_from: Default email sender address. max_workers: Max parallel workers. description: Datacenter description. delete: Comma-separated settings to delete.

get_cluster_configA

Get the current cluster configuration (corosync, nodes, join info).

get_cluster_config_nodesB

List nodes configured in the cluster.

get_cluster_join_infoA

Get info needed to join a node to this cluster.

join_clusterA

Join a node to an existing cluster.

Args: hostname: Hostname/IP of existing cluster node. fingerprint: SSL fingerprint of the cluster node. password: Root password of the cluster node. nodeid: Force specific node ID. force: Force join even with warnings.

get_cluster_totemB

Get the corosync totem configuration.

list_replication_jobsA

List all replication jobs in the cluster.

get_replication_jobA

Get a specific replication job configuration.

Args: id: Replication job ID (format: GUEST-JOBNUM, e.g. '100-0').

create_replication_jobA

Create a storage replication job.

Args: id: Job ID (format: GUEST-JOBNUM, e.g. '100-0'). target: Target node. type: Replication type (currently only 'local'). schedule: Schedule in systemd calendar format (default '*/15' = every 15 min). comment: Description. rate: Rate limit in mbps. disable: Create disabled.

delete_replication_jobB

Delete a replication job.

Args: id: Replication job ID. force: Force removal (skip cleanup). keep: Keep replicated data on target.

list_metric_serversA

List configured metric servers (InfluxDB, Graphite).

get_metric_serverB

Get metric server configuration.

Args: id: Metric server ID.

list_notification_endpointsB

List all configured notification endpoints (sendmail, gotify, smtp, webhook).

list_notification_targetsC

List all notification targets.

list_notification_matchersA

List all notification matchers (rules that route notifications).

test_notification_targetC

Send a test notification to a target.

Args: name: Target name.

bulk_start_guestsA

Bulk start guests across the cluster.

Args: vms: Comma-separated list of VMIDs (empty = all).

bulk_shutdown_guestsB

Bulk shutdown guests across the cluster.

Args: vms: Comma-separated list of VMIDs (empty = all).

bulk_migrate_guestsC

Bulk migrate guests to a target node.

Args: target: Target node name. vms: Comma-separated VMIDs.

get_ceph_status_clusterA

Get Ceph cluster status (health, monitors, OSDs, PGs).

get_ceph_metadataA

Get Ceph metadata (versions, services across nodes).

get_ceph_flagsA

Get Ceph global flags (noout, noscrub, etc.).

set_ceph_flagsB

Set a Ceph global flag.

Args: flag: Flag name (noout, noscrub, nobackfill, norebalance, nodown, noup, etc.). value: True to set, False to unset.

get_ceph_status_nodeB

Get Ceph status from a specific node's perspective.

Args: node: The node name.

list_ceph_osdsB

List Ceph OSDs on a node.

Args: node: The node name.

create_ceph_osdA

Create a new Ceph OSD on a device.

Args: node: The node name. dev: Block device for the OSD (e.g. '/dev/sdb'). db_dev: Separate block device for DB. wal_dev: Separate block device for WAL. encrypted: Encrypt the OSD.

list_ceph_poolsC

List Ceph pools.

Args: node: The node name.

create_ceph_poolB

Create a new Ceph pool.

Args: node: The node name. name: Pool name. size: Number of replicas (default 3). min_size: Minimum replicas for I/O (default 2). pg_num: Number of placement groups (default 128). application: Pool application (rbd, cephfs, rgw).

list_ceph_monitorsB

List Ceph monitors.

Args: node: The node name.

list_ceph_managersC

List Ceph managers.

Args: node: The node name.

list_ceph_mdsC

List Ceph metadata servers (MDS, for CephFS).

Args: node: The node name.

list_ceph_fsB

List CephFS filesystems.

Args: node: The node name.

get_ceph_configC

Get the raw Ceph configuration.

Args: node: The node name.

get_ceph_crush_rulesC

Get Ceph CRUSH rules.

Args: node: The node name.

list_scheduled_jobsA

List all scheduled cluster jobs (realm-sync, etc.).

list_realm_sync_jobsB

List realm synchronization jobs.

list_pci_mappingsA

List PCI device mappings for passthrough.

list_usb_mappingsA

List USB device mappings for passthrough.

list_dir_mappingsB

List directory mappings.

get_cluster_firewall_optionsA

Get cluster-wide firewall options (enable, policy_in, policy_out, etc.).

set_cluster_firewall_optionsA

Set cluster-wide firewall options.

Args: enable: 1 to enable, 0 to disable, -1 to not change. policy_in: Default input policy: 'ACCEPT', 'REJECT', 'DROP'. policy_out: Default output policy: 'ACCEPT', 'REJECT', 'DROP'. log_ratelimit: Log rate limit (e.g. 'enable=1,rate=1/second,burst=5'). ebtables: 1 to enable ebtables rules, 0 to disable, -1 to not change. delete: Comma-separated options to delete.

list_cluster_firewall_rulesA

List cluster-level firewall rules.

get_cluster_firewall_ruleB

Get a specific cluster firewall rule.

Args: pos: Rule position number.

create_cluster_firewall_ruleA

Create a cluster-level firewall rule.

Args: action: 'ACCEPT', 'DROP', 'REJECT'. type: 'in', 'out', 'group'. enable: 1 = enabled, 0 = disabled. source: Source address/range (CIDR or alias). dest: Destination address/range. proto: Protocol (tcp, udp, icmp, etc.). sport: Source port(s). dport: Destination port(s). iface: Network interface. macro: Use predefined macro (e.g. 'SSH', 'HTTP', 'HTTPS', 'Ping'). comment: Description. log: Log level: 'emerg', 'alert', 'crit', 'err', 'warning', 'notice', 'info', 'debug', 'nolog'. pos: Rule position (-1 = append).

update_cluster_firewall_ruleC

Update a cluster-level firewall rule.

Args: pos: Rule position to update. action: 'ACCEPT', 'DROP', 'REJECT'. enable: 1 = enabled, 0 = disabled, -1 = don't change. source: Source address/range. dest: Destination address/range. proto: Protocol. sport: Source port(s). dport: Destination port(s). macro: Predefined macro. comment: Description. moveto: Move rule to this position. delete: Comma-separated properties to delete.

delete_cluster_firewall_ruleB

Delete a cluster-level firewall rule.

Args: pos: Rule position to delete.

list_firewall_groupsA

List firewall security groups (reusable sets of rules).

get_firewall_group_rulesB

List rules in a firewall security group.

Args: group: Security group name.

create_firewall_groupC

Create a new firewall security group.

Args: group: Group name. comment: Description.

create_firewall_group_ruleB

Add a rule to a firewall security group.

Args: group: Security group name. action: 'ACCEPT', 'DROP', 'REJECT'. type: 'in', 'out'. enable: 1 = enabled, 0 = disabled. source: Source address/range. dest: Destination address/range. proto: Protocol. sport: Source port(s). dport: Destination port(s). macro: Predefined macro. comment: Description.

list_firewall_aliasesA

List cluster firewall aliases (named IP addresses/ranges).

create_firewall_aliasB

Create a firewall alias (named IP address or CIDR).

Args: name: Alias name. cidr: IP address or CIDR (e.g. '10.0.0.0/24' or '192.168.1.1'). comment: Description.

delete_firewall_aliasC

Delete a firewall alias.

Args: name: Alias name.

list_firewall_ipsetsA

List cluster firewall IP sets (named groups of IPs).

create_firewall_ipsetC

Create a new firewall IP set.

Args: name: IP set name. comment: Description.

list_firewall_ipset_entriesB

List entries in a firewall IP set.

Args: name: IP set name.

add_firewall_ipset_entryB

Add an IP/CIDR to an IP set.

Args: name: IP set name. cidr: IP address or CIDR. comment: Description. nomatch: Exclude this entry (nomatch).

delete_firewall_ipset_entryA

Remove an IP/CIDR from an IP set.

Args: name: IP set name. cidr: IP address or CIDR to remove.

list_firewall_macrosA

List available firewall macros (predefined rule sets like SSH, HTTP, etc.).

get_firewall_refsA

Get available firewall references (aliases, ipsets, names usable in rules).

get_node_firewall_optionsC

Get firewall options for a specific node.

Args: node: The node name.

set_node_firewall_optionsA

Set firewall options for a node.

Args: node: The node name. enable: 1 = enable, 0 = disable, -1 = don't change. log_level_in: Input log level. log_level_out: Output log level. ndp: 1 = enable NDP, 0 = disable, -1 = don't change. nf_conntrack_max: Max conntrack entries (0 = don't change). delete: Comma-separated options to delete.

list_node_firewall_rulesC

List firewall rules for a node.

Args: node: The node name.

get_node_firewall_logB

Get firewall log for a node.

Args: node: The node name. limit: Max entries.

get_vm_firewall_optionsC

Get firewall options for a QEMU VM.

Args: node: The node name. vmid: The VM ID.

set_vm_firewall_optionsB

Set firewall options for a QEMU VM.

Args: node: The node name. vmid: The VM ID. enable: 1 = enable, 0 = disable. dhcp: 1 = enable DHCP. ipfilter: 1 = enable IP filter. macfilter: 1 = enable MAC filter. policy_in: Input policy. policy_out: Output policy. delete: Comma-separated options to delete.

list_vm_firewall_rulesC

List firewall rules for a QEMU VM.

Args: node: The node name. vmid: The VM ID.

create_vm_firewall_ruleA

Create a firewall rule for a QEMU VM.

Args: node: The node name. vmid: The VM ID. action: 'ACCEPT', 'DROP', 'REJECT'. type: 'in', 'out', 'group'. enable: 1 = enabled, 0 = disabled. source: Source CIDR or alias. dest: Destination CIDR or alias. proto: Protocol. dport: Destination port(s). macro: Predefined macro. comment: Description.

get_container_firewall_optionsB

Get firewall options for an LXC container.

Args: node: The node name. vmid: The container ID.

list_container_firewall_rulesB

List firewall rules for an LXC container.

Args: node: The node name. vmid: The container ID.

create_container_firewall_ruleA

Create a firewall rule for an LXC container.

Args: node: The node name. vmid: The container ID. action: 'ACCEPT', 'DROP', 'REJECT'. type: 'in', 'out', 'group'. enable: 1 = enabled, 0 = disabled. source: Source CIDR or alias. dest: Destination CIDR or alias. proto: Protocol. dport: Destination port(s). macro: Predefined macro. comment: Description.

get_ha_statusA

Get HA manager status (active, quorum, manager status).

get_ha_manager_statusC

Get detailed HA manager status.

list_ha_resourcesA

List all HA-managed resources.

get_ha_resourceA

Get HA resource configuration.

Args: sid: HA resource ID (format: 'type:vmid', e.g. 'vm:100' or 'ct:101').

create_ha_resourceA

Add a resource to HA management.

Args: sid: Resource ID (format: 'type:vmid', e.g. 'vm:100' or 'ct:101'). group: HA group name. max_relocate: Max relocations on failure. max_restart: Max restarts on failure. state: Desired state: 'started', 'stopped', 'enabled', 'disabled', 'ignored'. comment: Description.

update_ha_resourceB

Update an HA resource configuration.

Args: sid: Resource ID. group: HA group name. max_relocate: Max relocations (-1 = don't change). max_restart: Max restarts (-1 = don't change). state: Desired state. comment: Description. delete: Comma-separated properties to delete.

delete_ha_resourceB

Remove a resource from HA management.

Args: sid: Resource ID (format: 'type:vmid').

migrate_ha_resourceC

Request migration of an HA resource to a different node.

Args: sid: Resource ID. node: Target node.

relocate_ha_resourceC

Request relocation of an HA resource to a different node.

Args: sid: Resource ID. node: Target node.

list_ha_groupsA

List HA groups (define which nodes can run HA resources).

get_ha_groupC

Get HA group configuration.

Args: group: Group ID.

create_ha_groupA

Create an HA group.

Args: group: Group ID. nodes: Node list with optional priority (e.g. 'node1:2,node2:1' — higher = preferred). nofailback: If true, don't fail back to higher-priority nodes once recovered. restricted: Only run on nodes in this group (otherwise runs anywhere but prefers group nodes). comment: Description.

update_ha_groupA

Update an HA group.

Args: group: Group ID. nodes: Node list with optional priority. nofailback: Don't fail back. restricted: Only run on group nodes. comment: Description. delete: Comma-separated properties to delete.

delete_ha_groupC

Delete an HA group.

Args: group: Group ID.

list_containersB

List all LXC containers on a node with status, memory, CPU, and disk info.

Args: node: The node name.

get_container_statusB

Get the current runtime status of a container.

Args: node: The node name. vmid: The container ID (CTID).

get_container_configB

Get the configuration of a container.

Args: node: The node name. vmid: The container ID.

get_container_pendingA

Get pending configuration changes for a container.

Args: node: The node name. vmid: The container ID.

get_container_interfacesC

Get network interfaces and IPs of a running container.

Args: node: The node name. vmid: The container ID.

get_container_rrddataA

Get RRD statistics data for a container (CPU, memory, disk, network over time).

Args: node: The node name. vmid: The container ID. timeframe: Time range: 'hour', 'day', 'week', 'month', 'year'.

get_container_featureA

Check if a feature is available for a container (snapshot, clone, copy).

Args: node: The node name. vmid: The container ID. feature: Feature to check ('snapshot', 'clone', 'copy').

create_containerB

Create a new LXC container.

Args: node: The node name. vmid: The container ID. ostemplate: Template volume (e.g. 'local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst'). hostname: Container hostname. password: Root password. ssh_public_keys: SSH public keys (newline delimited). storage: Storage for rootfs (default 'local'). rootfs: Root filesystem spec (e.g. 'local-lvm:8' for 8GB). memory: Memory in MB (default 512). swap: Swap in MB (default 512). cores: CPU cores (default 1). cpulimit: CPU limit (0 = unlimited). net0: Network config (e.g. 'name=eth0,bridge=vmbr0,ip=dhcp'). nameserver: DNS nameserver. searchdomain: DNS search domain. onboot: Start on host boot. start: Start after creation. unprivileged: Create an unprivileged container (default True, recommended). features: Comma-separated features (e.g. 'nesting=1,keyctl=1'). description: Container description. pool: Resource pool. tags: Tags for the container. mp0: Mount point (e.g. 'local-lvm:4,mp=/mnt/data').

update_container_configC

Update the configuration of an existing container.

Args: node: The node name. vmid: The container ID. hostname: Container hostname. memory: Memory in MB. swap: Swap in MB. cores: CPU cores. cpulimit: CPU limit (0 = unlimited). net0: Network config. nameserver: DNS nameserver. searchdomain: DNS search domain. onboot: Start on boot. description: Description. features: Comma-separated features. tags: Tags for the container. delete: Comma-separated list of settings to delete.

delete_containerA

Delete a container. Must be stopped first unless force=True.

Args: node: The node name. vmid: The container ID. purge: Remove from replication, HA, backup and ACLs too. destroy_unreferenced_disks: Destroy unreferenced disks. force: Force destroy even if running.

start_containerC

Start a container.

Args: node: The node name. vmid: The container ID.

stop_containerA

Hard-stop a container (immediate, like power off).

Args: node: The node name. vmid: The container ID.

shutdown_containerB

Gracefully shut down a container.

Args: node: The node name. vmid: The container ID. timeout: Timeout in seconds before force stop. force_stop: Force stop after timeout.

reboot_containerC

Reboot a container.

Args: node: The node name. vmid: The container ID. timeout: Timeout in seconds.

suspend_containerC

Suspend (freeze) a container.

Args: node: The node name. vmid: The container ID.

resume_containerC

Resume a suspended container.

Args: node: The node name. vmid: The container ID.

clone_containerC

Clone a container.

Args: node: The source node name. vmid: The source container ID. newid: ID for the new container. hostname: Hostname for the clone. target: Target node (default: same node). full: Full clone (True) or linked clone (False). storage: Target storage for full clone. description: Description. pool: Resource pool. snapname: Snapshot to clone from.

migrate_containerB

Migrate a container to another node.

Args: node: The source node. vmid: The container ID. target: Target node name. online: Live migration. restart: Restart container after migration (for non-live). target_storage: Target storage mapping.

convert_container_to_templateA

Convert a container into a template (irreversible).

Args: node: The node name. vmid: The container ID.

resize_container_diskA

Resize a container disk/volume.

Args: node: The node name. vmid: The container ID. disk: Disk name (e.g. 'rootfs', 'mp0'). size: New size or increment (e.g. '10G', '+2G').

move_container_volumeA

Move a container volume to different storage or to another container.

Args: node: The node name. vmid: The container ID. volume: Volume name (e.g. 'rootfs', 'mp0'). storage: Target storage. target_vmid: Target container ID. target_volume: Target volume slot. delete_original: Delete original after move.

list_container_snapshotsB

List all snapshots of a container.

Args: node: The node name. vmid: The container ID.

create_container_snapshotB

Create a snapshot of a container.

Args: node: The node name. vmid: The container ID. snapname: Snapshot name. description: Snapshot description.

delete_container_snapshotC

Delete a container snapshot.

Args: node: The node name. vmid: The container ID. snapname: Snapshot name. force: Force delete.

rollback_container_snapshotB

Rollback a container to a previous snapshot.

Args: node: The node name. vmid: The container ID. snapname: Snapshot name.

list_nodesA

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

get_node_statusA

Get detailed status of a specific node including CPU, memory, disk, uptime, and kernel info.

Args: node: The node name (e.g. 'pve1').

get_node_configC

Get the configuration of a node (description, wakeonlan, etc.).

Args: node: The node name.

get_node_dnsC

Get DNS settings for a node.

Args: node: The node name.

get_node_networkC

Get network interface configuration for a node.

Args: node: The node name.

get_node_network_interfaceB

Get details for a specific network interface.

Args: node: The node name. iface: Interface name (e.g. 'vmbr0', 'eth0').

create_node_network_interfaceB

Create a network interface on a node.

Args: node: The node name. iface: Interface name (e.g. 'vmbr1'). type: Interface type (bridge, bond, eth, alias, vlan, OVSBridge, OVSPort, OVSIntPort, OVSBond). address: IP address (CIDR notation or IP). netmask: Subnet mask. gateway: Default gateway. bridge_ports: Bridge ports (for bridge type). autostart: Whether to start on boot. comments: Comments for the interface.

list_node_servicesC

List all system services on a node (pve, ssh, cron, etc.).

Args: node: The node name.

manage_node_serviceB

Start, stop, restart, or reload a system service on a node.

Args: node: The node name. service: Service name (e.g. 'pvedaemon', 'pveproxy', 'ssh', 'cron', 'postfix'). action: One of 'start', 'stop', 'restart', 'reload'.

get_node_syslogA

Read system log (syslog) entries from a node.

Args: node: The node name. limit: Max number of log lines to return (default 50). start: Start line number. since: Only show entries since this date (YYYY-MM-DD). until: Only show entries until this date (YYYY-MM-DD).

get_node_journalB

Read systemd journal entries from a node.

Args: node: The node name. lastentries: Max number of entries (default 50). since: Show entries since date/time. until: Show entries until date/time. startcursor: Start cursor for paging.

list_node_tasksB

List recent tasks on a node.

Args: node: The node name. limit: Max tasks to return (default 50). start: Offset for paging. vmid: Filter by VM ID (0 = all). typefilter: Filter by task type (e.g. 'qmstart', 'vzstart', 'vzcreate'). statusfilter: Filter by status ('running', 'ok', 'error', etc.).

get_task_statusB

Get the status of a specific task by its UPID.

Args: node: The node name. upid: The task UPID string.

get_task_logB

Get log output of a specific task.

Args: node: The node name. upid: The task UPID string. limit: Max lines to return. start: Start line number.

stop_taskB

Stop (abort) a running task.

Args: node: The node name. upid: The task UPID string.

get_node_timeB

Get the current time and timezone of a node.

Args: node: The node name.

get_node_subscriptionC

Get subscription status for a node.

Args: node: The node name.

get_node_apt_updateC

List available package updates on a node.

Args: node: The node name.

run_apt_updateC

Refresh the package index on a node (apt update).

Args: node: The node name.

get_node_reportC

Generate a system report for a node (useful for diagnostics).

Args: node: The node name.

get_node_disksC

List physical disks on a node.

Args: node: The node name.

get_disk_smartC

Get S.M.A.R.T. health data for a disk.

Args: node: The node name. disk: Disk device path (e.g. '/dev/sda').

get_node_hardware_pciB

List PCI hardware devices on a node (for passthrough).

Args: node: The node name.

get_node_hardware_usbC

List USB hardware devices on a node.

Args: node: The node name.

get_node_capabilities_qemuC

Get QEMU capabilities for a node: supported CPU models, machine types, etc.

Args: node: The node name.

get_node_storage_scanA

Scan for available storage targets (NFS, CIFS, iSCSI, LVM, ZFS, PBS).

Args: node: The node name. scan_type: Type to scan: 'nfs', 'cifs', 'iscsi', 'lvm', 'lvmthin', 'zfs', 'pbs'. server: Server address (required for nfs, cifs, iscsi, pbs).

wakeonlan_nodeB

Send a Wake-on-LAN magic packet to a node.

Args: node: The node name.

startall_nodeA

Start all VMs and containers on a node (respecting boot order).

Args: node: The node name. force: Force start even if already running. vms: Comma-separated list of VMIDs to start (empty = all).

stopall_nodeB

Stop all VMs and containers on a node.

Args: node: The node name. vms: Comma-separated list of VMIDs to stop (empty = all).

get_node_hostsB

Get the /etc/hosts file content for a node.

Args: node: The node name.

get_node_versionB

Get Proxmox VE version information for a specific node.

Args: node: The node name.

get_node_netstatC

Get network statistics for a node (per-interface traffic).

Args: node: The node name.

get_node_aplinfoA

List available appliance templates (LXC templates) that can be downloaded.

Args: node: The node name.

download_appliance_templateB

Download an appliance template to local storage.

Args: node: The node name. storage: Target storage ID. template: Template name to download.

list_poolsA

List all resource pools.

get_poolC

Get pool configuration and members.

Args: poolid: Pool ID.

create_poolC

Create a resource pool.

Args: poolid: Pool ID. comment: Description.

update_poolA

Update a resource pool (add/remove members).

Args: poolid: Pool ID. comment: Description. vms: Comma-separated VMIDs to add/remove. storage: Comma-separated storage IDs to add/remove. delete: If true, remove the specified vms/storage from the pool instead of adding.

delete_poolC

Delete a resource pool.

Args: poolid: Pool ID.

list_acme_accountsB

List ACME (Let's Encrypt) accounts.

get_acme_accountA

Get ACME account details.

Args: name: Account name (default: 'default').

register_acme_accountA

Register a new ACME account.

Args: contact: Contact email address. directory: ACME directory URL (empty = Let's Encrypt production). name: Account name. tos_url: Terms of service URL to accept.

list_acme_pluginsA

List ACME DNS challenge plugins.

get_acme_pluginB

Get ACME plugin configuration.

Args: id: Plugin ID.

get_acme_directoriesA

List known ACME directory URLs.

get_acme_tosA

Get the ACME Terms of Service URL.

order_node_certificateB

Order/renew ACME certificate for a node.

Args: node: The node name. force: Force renewal even if not due.

get_node_certificatesC

Get certificate info for a node.

Args: node: The node name.

list_vmsA

List all QEMU virtual machines on a node with status, memory, CPU, and disk info.

Args: node: The node name.

get_vm_statusA

Get the current runtime status of a VM (state, CPU, memory, disk, network, uptime).

Args: node: The node name. vmid: The VM ID.

get_vm_configA

Get the configuration of a VM.

Args: node: The node name. vmid: The VM ID. current: If True, return current (runtime) config. If False, return pending config.

get_vm_pendingA

Get pending configuration changes for a VM (not yet applied).

Args: node: The node name. vmid: The VM ID.

get_vm_featureA

Check if a specific feature is available/supported for a VM (e.g. snapshot, clone, copy).

Args: node: The node name. vmid: The VM ID. feature: Feature to check ('snapshot', 'clone', 'copy').

get_vm_rrddataA

Get RRD statistics data for a VM (CPU, memory, disk, network over time).

Args: node: The node name. vmid: The VM ID. timeframe: Time range: 'hour', 'day', 'week', 'month', 'year'.

create_vmA

Create a new QEMU virtual machine.

Args: node: The node name. vmid: The VM ID number. name: VM name. memory: Memory in MB (default 2048). cores: Number of CPU cores per socket (default 1). sockets: Number of CPU sockets (default 1). cpu: CPU type (default 'host'). ostype: OS type: l26 (Linux 2.6+), win10, win11, wxp, other, etc. scsihw: SCSI controller: virtio-scsi-single, virtio-scsi-pci, lsi, megasas, pvscsi. scsi0: First SCSI disk (e.g. 'local-lvm:32' for 32GB on local-lvm). ide2: IDE device, often used for CD-ROM (e.g. 'local:iso/ubuntu.iso,media=cdrom'). net0: Network device (e.g. 'virtio,bridge=vmbr0'). boot: Boot order, for example scsi0 then ide2 then net0. bios: BIOS type: seabios, ovmf (UEFI). machine: Machine type (e.g. 'q35', 'i440fx'). cdrom: CD-ROM ISO image path. agent: QEMU guest agent: '1' to enable, 'enabled=1,fstrim_cloned_disks=1'. start: Start the VM after creation. onboot: Start on host boot. description: VM description. pool: Resource pool to add the VM to. tags: Tags for the VM.

update_vm_configA

Update the configuration of an existing VM. Only provided parameters are changed.

Args: node: The node name. vmid: The VM ID. name: VM name. memory: Memory in MB. cores: CPU cores per socket. sockets: CPU sockets. cpu: CPU type. net0: Network config. description: Description. onboot: Start on boot. agent: Guest agent config. boot: Boot order. tags: Tags for the VM. hotplug: Hotplug features (disk, network, usb, memory, cpu). delete: Comma-separated list of settings to delete.

delete_vmA

Delete a VM. The VM must be stopped first.

Args: node: The node name. vmid: The VM ID. purge: Remove from replication, HA, backup jobs and ACLs too. destroy_unreferenced_disks: Also destroy unreferenced disks owned by the VM.

start_vmB

Start a VM.

Args: node: The node name. vmid: The VM ID. timeout: Timeout in seconds (0 = default).

stop_vmA

Hard-stop a VM (like pulling the power plug). Prefer shutdown_vm for graceful stop.

Args: node: The node name. vmid: The VM ID. timeout: Wait timeout in seconds. skiplock: Ignore locks (requires root).

shutdown_vmA

Gracefully shut down a VM via ACPI. Falls back to hard stop after timeout if force_stop is true.

Args: node: The node name. vmid: The VM ID. timeout: Timeout in seconds before force stop. force_stop: Force stop after timeout (default True).

reboot_vmC

Reboot a VM via ACPI.

Args: node: The node name. vmid: The VM ID. timeout: Wait timeout in seconds.

suspend_vmA

Suspend a VM (pause execution or hibernate to disk).

Args: node: The node name. vmid: The VM ID. todisk: If True, hibernate to disk. If False, pause in RAM.

resume_vmA

Resume a suspended/paused VM.

Args: node: The node name. vmid: The VM ID.

reset_vmB

Hard reset a VM (like pressing the reset button).

Args: node: The node name. vmid: The VM ID.

clone_vmA

Clone a VM to create a new one. Can be a full copy or linked clone.

Args: node: The source node name. vmid: The source VM ID. newid: The VMID for the new clone. name: Name for the clone. target: Target node for the clone (default: same node). full: Full clone (True) or linked clone (False). storage: Target storage for full clone. description: Description for the clone. pool: Resource pool. snapname: Snapshot name to clone from.

migrate_vmB

Migrate a VM to another node in the cluster.

Args: node: The source node. vmid: The VM ID. target: Target node name. online: Live migration (True) or offline (False). with_local_disks: Migrate local disks as well. targetstorage: Target storage mapping for migration (e.g. 'local-lvm').

convert_vm_to_templateA

Convert a VM into a template (irreversible).

Args: node: The node name. vmid: The VM ID.

resize_vm_diskA

Resize a VM disk. Can only grow, not shrink.

Args: node: The node name. vmid: The VM ID. disk: Disk name (e.g. 'scsi0', 'virtio0', 'ide0'). size: New size or size increment (e.g. '50G', '+10G').

move_vm_diskA

Move a VM disk to different storage or attach to another VM.

Args: node: The node name. vmid: The VM ID. disk: Source disk name (e.g. 'scsi0'). storage: Target storage ID (for moving to different storage). target_vmid: Target VM ID (for moving disk to another VM). target_disk: Target disk slot on the target VM. delete_original: Delete the original disk after moving.

list_vm_snapshotsB

List all snapshots of a VM.

Args: node: The node name. vmid: The VM ID.

create_vm_snapshotC

Create a snapshot of a VM.

Args: node: The node name. vmid: The VM ID. snapname: Snapshot name. description: Snapshot description. vmstate: Include RAM state (for running VMs).

delete_vm_snapshotC

Delete a VM snapshot.

Args: node: The node name. vmid: The VM ID. snapname: Snapshot name to delete. force: Force delete even if snapshot is in use.

rollback_vm_snapshotA

Rollback a VM to a previous snapshot (current state will be lost).

Args: node: The node name. vmid: The VM ID. snapname: The snapshot name to rollback to.

get_vm_snapshot_configC

Get the configuration stored in a VM snapshot.

Args: node: The node name. vmid: The VM ID. snapname: The snapshot name.

get_vm_cloudinitC

Get Cloud-Init configuration for a VM.

Args: node: The node name. vmid: The VM ID.

update_vm_cloudinitA

Set Cloud-Init parameters for a VM (user, password, SSH keys, network).

Args: node: The node name. vmid: The VM ID. ciuser: Cloud-Init user name. cipassword: Cloud-Init password. sshkeys: SSH public keys (URL-encoded, newline delimited). ipconfig0: IP config for first interface (e.g. 'ip=dhcp' or 'ip=10.0.0.5/24,gw=10.0.0.1'). nameserver: DNS nameserver IP. searchdomain: DNS search domain.

dump_vm_cloudinitB

Dump the Cloud-Init generated config file (user-data, network-data, or meta-data).

Args: node: The node name. vmid: The VM ID. type: Config type: 'user', 'network', or 'meta'.

vm_agent_execB

Execute a command inside a VM via the QEMU Guest Agent.

Args: node: The node name. vmid: The VM ID. command: The command to execute. input_data: Data to pass to stdin.

vm_agent_exec_statusB

Get the status/result of a command previously executed via the guest agent.

Args: node: The node name. vmid: The VM ID. pid: The PID returned by the exec call.

vm_agent_file_readB

Read a file from inside a VM via the guest agent.

Args: node: The node name. vmid: The VM ID. file: Absolute file path inside the guest.

vm_agent_file_writeB

Write content to a file inside a VM via the guest agent.

Args: node: The node name. vmid: The VM ID. file: Absolute file path inside the guest. content: File content to write.

vm_agent_get_infoB

Get various system information from a VM via the guest agent.

Args: node: The node name. vmid: The VM ID. info_type: Info to retrieve: 'get-osinfo', 'get-host-name', 'get-time', 'get-timezone', 'get-users', 'get-vcpus', 'get-fsinfo', 'get-memory-blocks', 'get-memory-block-info', 'info', 'network-get-interfaces'.

vm_agent_set_passwordB

Set a user password inside a VM via the guest agent.

Args: node: The node name. vmid: The VM ID. username: The username. password: The new password. crypted: If True, password is already encrypted.

get_vm_vncproxyC

Create a VNC proxy connection ticket for a VM (for console access).

Args: node: The node name. vmid: The VM ID. websocket: Use WebSocket connection.

get_vm_spiceproxyC

Create a SPICE proxy connection for a VM console.

Args: node: The node name. vmid: The VM ID.

send_vm_keyB

Send a key event to a VM (e.g. ctrl-alt-del).

Args: node: The node name. vmid: The VM ID. key: Key combination (e.g. 'ctrl-alt-delete').

send_vm_monitor_commandB

Send a QEMU monitor command to a VM (advanced/low-level).

Args: node: The node name. vmid: The VM ID. command: The QEMU monitor command.

list_sdn_vnetsA

List SDN virtual networks (VNets).

get_sdn_vnetB

Get SDN VNet configuration.

Args: vnet: VNet ID.

create_sdn_vnetC

Create an SDN VNet.

Args: vnet: VNet ID. zone: Zone ID. tag: VLAN tag. alias: Display alias. vlanaware: Enable VLAN-aware bridge.

update_sdn_vnetC

Update an SDN VNet.

Args: vnet: VNet ID. zone: Zone ID. tag: VLAN tag (-1 = don't change). alias: Display alias. delete: Comma-separated properties to delete.

delete_sdn_vnetC

Delete an SDN VNet.

Args: vnet: VNet ID.

list_sdn_subnetsC

List subnets for an SDN VNet.

Args: vnet: VNet ID.

create_sdn_subnetC

Create a subnet for an SDN VNet.

Args: vnet: VNet ID. subnet: Subnet CIDR (e.g. '10.0.0.0/24'). gateway: Gateway IP. snat: Enable SNAT. dnszoneprefix: DNS zone prefix.

list_sdn_zonesA

List SDN zones.

get_sdn_zoneB

Get SDN zone configuration.

Args: zone: Zone ID.

create_sdn_zoneB

Create an SDN zone.

Args: zone: Zone ID. type: Zone type: 'simple', 'vlan', 'qinq', 'vxlan', 'evpn'. nodes: Comma-separated node list. ipam: IPAM plugin name. dns: DNS plugin name. bridge: Bridge name. mtu: MTU.

delete_sdn_zoneC

Delete an SDN zone.

Args: zone: Zone ID.

list_sdn_controllersA

List SDN controllers (e.g. EVPN controller).

get_sdn_controllerC

Get SDN controller configuration.

Args: controller: Controller ID.

list_sdn_ipamsA

List IPAM (IP Address Management) plugins.

get_sdn_ipamC

Get IPAM plugin configuration.

Args: ipam: IPAM ID.

list_sdn_dnsC

List SDN DNS plugins.

apply_sdn_changesA

Apply pending SDN configuration changes to all nodes.

list_storageA

List all configured storage pools at the datacenter level.

Args: type: Filter by type (dir, lvm, lvmthin, zfspool, nfs, cifs, iscsi, rbd, cephfs, pbs, glusterfs, btrfs). enabled: Only show enabled storage (default True).

get_storage_configA

Get configuration of a specific storage pool.

Args: storage: The storage ID.

create_storageC

Create a new storage pool configuration.

Args: storage: Storage ID. type: Storage type: dir, lvm, lvmthin, zfspool, nfs, cifs, iscsi, rbd, cephfs, pbs, glusterfs, btrfs. path: File system path (for dir, nfs mounts). server: Server IP/hostname (for nfs, cifs, iscsi, pbs, glusterfs, rbd, cephfs). export: NFS export path. vgname: LVM volume group name. thinpool: LVM thin pool name (for lvmthin). pool: Pool name (for Ceph RBD/CephFS, ZFS). portal: iSCSI portal. target: iSCSI target. datastore: PBS datastore name. content: Comma-separated content types (images, rootdir, vztmpl, iso, backup, snippets, import). nodes: Restrict storage to these nodes (comma-separated). shared: Mark as shared storage. disable: Create disabled. maxfiles: Max backup files (0 = unlimited). prune_backups: Backup retention policy.

update_storageB

Update an existing storage pool configuration.

Args: storage: The storage ID to update. content: Content types (images, rootdir, vztmpl, iso, backup, snippets, import). nodes: Allowed nodes (comma-separated). shared: Mark as shared. disable: Disable this storage. prune_backups: Backup retention policy. delete: Comma-separated list of settings to delete.

delete_storageA

Delete a storage pool configuration (does not delete data on the backend).

Args: storage: The storage ID.

list_node_storageA

List storage pools available on a specific node with usage info.

Args: node: The node name. content: Filter by content type (images, rootdir, vztmpl, iso, backup). enabled: Only show enabled storage.

get_node_storage_statusB

Get usage status of a storage pool on a node (total, used, available).

Args: node: The node name. storage: The storage ID.

list_storage_contentB

List content of a storage pool (disk images, ISOs, templates, backups).

Args: node: The node name. storage: The storage ID. content: Filter by type: 'images', 'rootdir', 'vztmpl', 'iso', 'backup', 'snippets'. vmid: Filter by VM ID.

get_storage_volume_infoC

Get details about a specific volume in storage.

Args: node: The node name. storage: The storage ID. volume: The volume ID.

allocate_storage_volumeA

Allocate a new disk volume in storage.

Args: node: The node name. storage: The storage ID. vmid: VM ID to associate with. filename: Volume name. size: Volume size (e.g. '10G'). format: Disk format (raw, qcow2, vmdk). Auto-detected if empty.

delete_storage_volumeC

Delete a volume from storage.

Args: node: The node name. storage: The storage ID. volume: The volume ID.

upload_to_storageC

Upload a file (ISO, template, etc.) to storage. Note: actual file upload must go through the HTTP API directly.

Args: node: The node name. storage: The storage ID. content: Content type: 'iso', 'vztmpl', 'snippets', 'import'. filename: Target filename. tmpfilename: Temporary filename for the upload.

download_url_to_storageB

Download a file from a URL directly to storage (ISO, template, etc.).

Args: node: The node name. storage: The storage ID. url: URL to download from. content: Content type: 'iso', 'vztmpl'. filename: Target filename. checksum: Expected checksum. checksum_algorithm: Checksum algorithm (sha256, sha512, md5).

get_storage_rrddataA

Get RRD statistics for a storage pool (usage over time).

Args: node: The node name. storage: The storage ID. timeframe: Time range: 'hour', 'day', 'week', 'month', 'year'.

prune_storage_backupsA

Prune (delete) old backups from storage according to retention policy.

Args: node: The node name. storage: The storage ID. type: Guest type filter ('qemu' or 'lxc'). vmid: Filter by VM ID. prune_backups: Retention spec (e.g. 'keep-last=3,keep-daily=7,keep-weekly=4'). dry_run: If True, only simulate (default True for safety).

list_file_restoreA

List files in a backup volume for file-level restore (PBS backups).

Args: node: The node name. storage: The storage ID. volume: The backup volume ID. filepath: Path inside the backup to list (default '/').

list_lvm_volumesC

List LVM volume groups on a node.

Args: node: The node name.

create_lvmC

Create a new LVM volume group on a device.

Args: node: The node name. name: VG name. device: Block device path (e.g. '/dev/sdb'). add_to_storage: Auto-add as Proxmox storage.

list_lvmthin_poolsB

List LVM thin pools on a node.

Args: node: The node name.

create_lvmthinA

Create a new LVM thin pool.

Args: node: The node name. name: Thin pool name. device: Block device path. add_to_storage: Auto-add as Proxmox storage.

list_zfs_poolsC

List ZFS pools on a node.

Args: node: The node name.

get_zfs_poolB

Get details of a ZFS pool.

Args: node: The node name. name: ZFS pool name.

create_zfs_poolB

Create a new ZFS pool.

Args: node: The node name. name: Pool name. raidlevel: RAID level: single, mirror, raid10, raidz, raidz2, raidz3, draid, draid2, draid3. devices: Space-separated device paths (e.g. '/dev/sdb /dev/sdc'). add_to_storage: Auto-add as Proxmox storage. ashift: ashift value (default 12). compression: Compression (on, off, lz4, zstd, etc.).

list_directory_storageB

List directory-based storage mounts on a node.

Args: node: The node name.

create_directory_storageA

Create a directory-based storage mount from a device.

Args: node: The node name. name: Storage name. device: Block device path. filesystem: Filesystem type (ext4, xfs). add_to_storage: Auto-add as Proxmox storage.

initialize_gptA

Initialize a disk with GPT partition table (WARNING: destroys all data).

Args: node: The node name. disk: Disk device path (e.g. '/dev/sdb').

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.7/5.0

Scored across 286 tools

Disambiguation2/5

The resource/action prefixes help, but the scale creates overlapping lookalikes such as get_ha_status vs get_ha_manager_status, migrate_ha_resource vs relocate_ha_resource, and list_backup_file_restore vs list_file_restore. An agent selecting among 286 tools will frequently face ambiguous boundaries, even though many tools are individually distinct.

Naming Consistency3/5

Most tools follow a clear list_/get_/create_/update_/delete_ + resource pattern, and related CRUD groups are easy to spot. However, there are notable deviations like vm_agent_exec, proxmox_api_raw, wakeonlan_node, and startall_node/stopall_node that break the otherwise predictable convention.

Tool Count1/5

286 tools is far beyond a coherent MCP surface and exceeds any reasonable scope for fast and accurate tool selection. Even a comprehensive hypervisor API would be better served by consolidated endpoints or a smaller set of higher-level operations.

Completeness4/5

The server covers nearly every Proxmox VE domain with CRUD/lifecycle operations for VMs, containers, storage, users, HA, backups, SDN, firewall, and Ceph. Minor gaps exist, such as missing updates for some SDN/firewall alias resources and missing deletion for some Ceph objects, but the breadth and raw API fallback prevent major dead ends.

Maintenance

ActivityActive
ResponsivenessSlow