Proxmox MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROXMOX_HOST | Yes | Proxmox server hostname or IP address (required) | |
| PROXMOX_PORT | No | Proxmox API port | 8006 |
| PROXMOX_USER | No | Username with realm (e.g., 'root@pam') | root@pam |
| PROXMOX_SSH_HOST | No | SSH host (falls back to PROXMOX_HOST) | |
| PROXMOX_SSH_NODE | No | Proxmox node name reachable via SSH (required when SSH enabled) | |
| PROXMOX_SSH_PORT | No | SSH port | 22 |
| PROXMOX_SSH_USER | No | SSH username | root |
| PROXMOX_SSL_MODE | No | SSL verification mode: 'strict', 'verify', or 'insecure' | strict |
| PROXMOX_TOKEN_NAME | Yes | API token name (required) | |
| PROXMOX_SSH_ENABLED | No | Enable SSH-based LXC exec | false |
| PROXMOX_TOKEN_VALUE | Yes | API token value (required) | |
| PROXMOX_SSH_KEY_PATH | No | Path to SSH private key (required when SSH enabled) | |
| PROXMOX_ALLOW_ELEVATED | No | Allow elevated operations (create, modify, delete) | false |
| PROXMOX_ALLOW_UNSAFE_COMMANDS | No | Allow shell special characters in exec commands | false |
| PROXMOX_SSH_HOST_KEY_FINGERPRINT | No | Host key fingerprint for verification |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| proxmox_nodeB | Query Proxmox node info. action=list: list all nodes | action=status: node status (elevated) | action=network: network interfaces | action=dns: DNS config | action=iface: specific interface details |
| proxmox_clusterA | Query Proxmox cluster info. action=status: overall cluster status with nodes and resource usage | action=options: get cluster-wide options | action=update_options: update cluster-wide options (requires elevated permissions) |
| proxmox_node_serviceA | Manage node services. action=list: list services | action=control: start/stop/restart a service (elevated) |
| proxmox_node_logA | Read node logs. action=syslog: read syslog | action=journal: read systemd journal |
| proxmox_node_taskA | Query node tasks. action=list: list recent tasks | action=get: get task details by UPID |
| proxmox_node_infoB | Query node information. action=aplinfo: appliance templates | action=netstat: network stats | action=rrddata: performance metrics | action=storage_rrddata: storage metrics | action=report: diagnostic report |
| proxmox_node_configB | Manage node configuration. action=get_time|set_time(elevated)|set_dns(elevated)|get_hosts|set_hosts(elevated) |
| proxmox_node_subscriptionA | Manage node subscription. action=get: get info | action=set: set key (elevated) | action=delete: remove (elevated) |
| proxmox_aptA | Manage APT packages. action=update(elevated)|upgrade(elevated): package ops | action=versions: list versions |
| proxmox_node_bulkC | Bulk guest operations. action=start_all|stop_all|migrate_all (all elevated) |
| proxmox_node_powerB | Node power control. action=shutdown|reboot|wakeonlan (all elevated) |
| proxmox_node_replicationB | Manage node replication. action=status|log: query | action=schedule: trigger now (elevated) |
| proxmox_node_network_ifaceC | Manage node network interfaces. action=create|update|delete|apply (all elevated) |
| proxmox_guest_listA | List all virtual machines and containers across the cluster with their status |
| proxmox_guest_statusB | Get detailed status for a VM (type=vm) or LXC container (type=lxc) |
| proxmox_guest_configC | Get hardware configuration for a VM (type=vm) or LXC container (type=lxc) |
| proxmox_guest_pendingA | Get pending configuration changes for a VM (type=vm) or LXC container (type=lxc) |
| proxmox_guest_featureA | Check if a feature (snapshot, clone, copy) is available for a VM (type=vm) or LXC container (type=lxc) |
| proxmox_guest_rrddataA | Get performance metrics (RRD data) for a VM (type=vm) or LXC container (type=lxc) |
| proxmox_create_lxcA | Create a new LXC container (requires elevated permissions) |
| proxmox_create_vmB | Create a new QEMU virtual machine (requires elevated permissions) |
| proxmox_get_next_vmidB | Get the next available VM/Container ID number |
| proxmox_ha_resourceB | Manage HA resources. action=list: list resources | action=get: get resource details | action=status: get HA manager status | action=create: create resource (elevated) | action=update: update resource (elevated) | action=delete: delete resource (elevated) |
| proxmox_ha_groupA | Manage HA groups. action=list: list groups | action=get: get group details | action=create: create group (elevated) | action=update: update group (elevated) | action=delete: delete group (elevated) |
| proxmox_cluster_firewall_ruleC | Manage cluster firewall rules. action=list: list rules | action=get: get rule by position | action=create: create rule (elevated) | action=update: update rule (elevated) | action=delete: delete rule (elevated) |
| proxmox_cluster_firewall_groupC | Manage cluster firewall groups. action=list: list groups | action=get: get group by name | action=create: create group (elevated) | action=update: update group (elevated) | action=delete: delete group (elevated) |
| proxmox_cluster_firewallB | Query/manage cluster firewall metadata. action=get_options: get firewall options | action=update_options: update firewall options (elevated) | action=list_macros: list firewall macros | action=list_refs: list firewall refs |
| proxmox_cluster_firewall_aliasA | Manage cluster firewall aliases. action=list: list aliases | action=get: get alias by name | action=create: create alias (elevated) | action=update: update alias (elevated) | action=delete: delete alias (elevated) |
| proxmox_cluster_firewall_ipsetB | Manage cluster firewall IP sets. action=list: list IP sets | action=create: create IP set (elevated) | action=delete: delete IP set (elevated) |
| proxmox_cluster_firewall_ipset_entryA | Manage cluster firewall IP set entries. action=list: list entries | action=create: add entry (elevated) | action=update: update entry (elevated) | action=delete: delete entry (elevated) |
| proxmox_cluster_backup_jobB | Manage cluster backup jobs. action=list: list jobs | action=get: get job by ID | action=create: create job (elevated) | action=update: update job (elevated) | action=delete: delete job (elevated) |
| proxmox_cluster_replication_jobC | Manage cluster replication jobs. action=list: list jobs | action=get: get job by ID | action=create: create job (elevated) | action=update: update job (elevated) | action=delete: delete job (elevated) |
| proxmox_cluster_configC | Manage cluster config. action=get: get config | action=list_nodes: list config nodes | action=get_node: get node config | action=join: join cluster (elevated) | action=totem: get totem config |
| proxmox_sdn_vnetB | Manage SDN virtual networks (list, get, create, update, delete) |
| proxmox_sdn_zoneC | Manage SDN zones (list, get, create, update, delete) |
| proxmox_sdn_controllerC | Manage SDN controllers (list, get, create, update, delete) |
| proxmox_sdn_subnetB | Manage SDN subnets (list, get, create, update, delete) |
| proxmox_userB | Manage Proxmox users (list, get, create, update, delete) |
| proxmox_groupC | Manage Proxmox groups (list, create, update, delete) |
| proxmox_roleA | Manage Proxmox roles (list, create, update, delete) |
| proxmox_aclC | Manage ACL entries (get, update) |
| proxmox_domainA | Manage authentication domains (list, get, create, update, delete) |
| proxmox_user_tokenC | Manage user API tokens (list, get, create, update, delete) |
| proxmox_poolB | Manage resource pools (list, get, create, update, delete) |
| proxmox_storage_configC | Manage storage configurations (list, get, create, update, delete, cluster_usage) |
| proxmox_storage_contentC | Manage storage content (list, list_templates, upload, download_url, delete, prune) |
| proxmox_file_restoreC | Restore files from backup. action=list: list files in backup | action=download: download file from backup |
| proxmox_cephA | Query Ceph cluster. action=status: get Ceph cluster health, FSID, monitors, OSDs, and placement groups |
| proxmox_ceph_osdB | Manage Ceph OSDs (list, create, delete) |
| proxmox_ceph_monB | Manage Ceph monitors (list, create, delete) |
| proxmox_ceph_mdsC | Manage Ceph MDS daemons (list, create, delete) |
| proxmox_ceph_poolB | Manage Ceph pools (list, create, update, delete) |
| proxmox_ceph_fsC | Manage Ceph filesystems (list, create) |
| proxmox_guest_startB | Start a VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_guest_stopA | Forcefully stop a VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_guest_rebootB | Reboot a VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_guest_shutdownA | Gracefully shutdown a VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_guest_deleteA | Delete a VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_guest_pauseA | Pause a QEMU virtual machine — VM only (requires elevated permissions) |
| proxmox_guest_resumeA | Resume a paused QEMU virtual machine — VM only (requires elevated permissions) |
| proxmox_guest_cloneA | Clone a VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_guest_resizeA | Resize VM/LXC CPU or memory (type=vm|lxc) (requires elevated permissions) |
| proxmox_guest_config_updateA | Update VM/LXC config key-value pairs (type=vm|lxc) (requires elevated permissions) |
| proxmox_guest_migrateA | Migrate a VM or LXC container to another node (type=vm|lxc) (requires elevated permissions) |
| proxmox_guest_templateB | Convert a VM or LXC container to a template (type=vm|lxc) (requires elevated permissions) |
| proxmox_agent_infoA | Query guest info via QEMU agent. operation=ping|osinfo|fsinfo|network_interfaces|time|timezone (requires elevated permissions) |
| proxmox_agent_hwA | Query guest hardware via QEMU agent. operation=memory_blocks|vcpus|memory_block_info|hostname|users (requires elevated permissions) |
| proxmox_agent_execB | Execute commands via QEMU agent. operation=exec: run command | operation=status: check execution status (requires elevated permissions) |
| proxmox_agent_fileA | Read/write files via QEMU agent. operation=read|write (requires elevated permissions) |
| proxmox_agent_freezeA | Manage filesystem freeze via QEMU agent. operation=status|freeze|thaw|fstrim (requires elevated permissions) |
| proxmox_agent_powerB | Guest power control via QEMU agent. operation=shutdown|suspend_disk|suspend_ram|suspend_hybrid (requires elevated permissions) |
| proxmox_agent_userB | Manage guest users via QEMU agent. operation=set_password (requires elevated permissions) |
| proxmox_guest_firewall_ruleC | Manage per-guest firewall rules. action=list|get: query rules | action=create|update|delete: manage rules (elevated). type=vm|lxc. Uses rule_action for firewall action (ACCEPT/REJECT/DROP), rule_type for direction (in/out/group). |
| proxmox_console_vncA | Get a VNC proxy ticket for a VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_console_termB | Get a terminal proxy ticket for a VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_console_spiceA | Get a SPICE proxy ticket for a QEMU VM (requires elevated permissions) |
| proxmox_guest_snapshotA | Manage guest snapshots (create, list, rollback, delete) for VMs and LXC containers (requires elevated permissions) |
| proxmox_backupB | Manage guest backups (create, list, restore, delete) for VMs and LXC containers (requires elevated permissions) |
| proxmox_vm_diskC | Manage VM disks. action=add: add disk | action=remove: remove disk (all elevated) |
| proxmox_lxc_mountpointB | Manage LXC mount points. action=add: add mountpoint | action=remove: remove mountpoint (all elevated) |
| proxmox_guest_disk_resizeA | Resize guest storage for VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_guest_disk_moveA | Move guest storage for VM (type=vm) or LXC container (type=lxc) (requires elevated permissions) |
| proxmox_guest_networkB | Manage guest network interfaces. action=add|update|remove with type=vm|lxc (requires elevated permissions) |
| proxmox_node_diskC | Query node disk information. action=list|smart|lvm|zfs|lvmthin|directory |
| proxmox_node_disk_adminB | Destructive disk operations. action=init_gpt: initialize GPT | action=wipe: wipe disk (all elevated) |
| proxmox_cloudinitA | Manage cloud-init for a QEMU VM. action=get: list config | action=dump: dump rendered config (dump_type=user|network|meta) | action=regenerate: regenerate drive (requires elevated) |
| proxmox_certificateA | Manage node SSL certificates. action=list: view certs | action=upload: upload custom cert (requires elevated) | action=delete: remove custom cert (requires elevated) |
| proxmox_acme_certB | Manage ACME certificates. action=order|renew|revoke: certificate ops (requires elevated) | action=config: get ACME config |
| proxmox_acme_accountB | Manage ACME accounts. action=list|get: query accounts | action=create|update|delete: manage accounts (requires elevated) |
| proxmox_acme_infoB | Query ACME information. action=list_plugins|get_plugin|directories |
| proxmox_notificationB | Manage notification targets. action=list|get: query targets | action=create|delete|test: manage targets (requires elevated) |
| proxmox_lxc_execB | Execute a command inside an LXC container via SSH + pct exec (requires elevated + PROXMOX_SSH_ENABLED=true) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Bldg-7/proxmox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server