Manage Proxmox VE via Cursor: QEMU, LXC, storage, HA, firewall, access.
Manage Proxmox VE via Cursor: QEMU, LXC, storage, HA, firewall, access. That is what the cursor proxmox mcp mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.
Registered via tools/register.py (called from ProxmoxMCPServer._setup_tools()) — inventory locked by tools/inventory.py / tests/expected_tools.py (CI fails on drift).
The server publishes 14 tools. What each one is for:
Domain — ToolsNodes — get_nodes, get_node_status, list_node_networks + create/update/delete + reload_node_network, get_node_subscription, list_node_certificatesQEMU — lifecycle + config (ISO/cloud-init/net/onboot/tags/description; optional wait=true) + get_vm_network / get_vm_guest_info / fsfreeze_vm / fsthaw_vm /LXC — lifecycle + config + suspend/resume (CRIU warn) + get_lxc_status / get_lxc_network / get_lxc_rrd_data + VNC/SPICE/termproxy; ssh_public_keys /Storage — list, content, list_os_templates, list_isos, download-url, definition CRUD; PBS via create_storage(type=pbs) + get_pbs_storage_statusFirewall — cluster + guest rules/options; aliases; IP sets + CIDR members; macrosAccess — users, groups, roles, ACL, tokens, get_permissions, get_token_permissionsReplication — list/status/run/create/update/delete jobsSDN — zones/vnets/subnets CRUD + list controllers/ipams/dns + apply_sdnACME — list + create account/plugin, delete plugin, order_acme_certificate / renew_acme_certificateCeph — status, list pools/OSDs/MONs/MGRs, pool CRUD; gated OSD: list_node_disks → propose_ceph_osd → create_ceph_osd/destroy_ceph_osd (typed confirm; createPools — list/get/create/update/deleteThe server ships on PyPI as cursor-proxmox-mcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.
Configuration is passed through the environment: PROXMOX_MCP_CONFIG, PYTHONPATH, PROXMOX_HOST. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Among the file and storage access options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Cursor Proxmox MCP's toolset — Domain, Nodes, QEMU and 11 more — is a fair guide to whether it matches your workflow. It is maintained by hackmods; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Cursor Proxmox MCP's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| Domain | Tools |
| Nodes | get_nodes, get_node_status, list_node_networks + create/update/delete + reload_node_network, get_node_subscription, list_node_certificates, get_node_report, list_node_services, get_node_time, wake_node, reboot_node / shu |
| QEMU | lifecycle + config (ISO/cloud-init/net/onboot/tags/description; optional wait=true) + get_vm_network / get_vm_guest_info / fsfreeze_vm / fsthaw_vm / push_to_vm / pull_from_vm (guest agent) + bootstrap_cloudinit_vm / prov |
| LXC | lifecycle + config + suspend/resume (CRIU warn) + get_lxc_status / get_lxc_network / get_lxc_rrd_data + VNC/SPICE/termproxy; ssh_public_keys / docker_ready / nameserver / wait / onboot / description / tags on create; pro |
| Storage | list, content, list_os_templates, list_isos, download-url, definition CRUD; PBS via create_storage(type=pbs) + get_pbs_storage_status |
| Firewall | cluster + guest rules/options; aliases; IP sets + CIDR members; macros |
| Access | users, groups, roles, ACL, tokens, get_permissions, get_token_permissions |
| Replication | list/status/run/create/update/delete jobs |
| SDN | zones/vnets/subnets CRUD + list controllers/ipams/dns + apply_sdn |
| ACME | list + create account/plugin, delete plugin, order_acme_certificate / renew_acme_certificate |
| Ceph | status, list pools/OSDs/MONs/MGRs, pool CRUD; gated OSD: list_node_disks → propose_ceph_osd → create_ceph_osd/destroy_ceph_osd (typed confirm; create defaults dry_run=true) |
| Pools | list/get/create/update/delete |
| Prerequisites | The Prerequisites tool exposed by this server. |
| Troubleshooting | The Troubleshooting tool exposed by this server. |
{
"mcpServers": {
"proxmox": {
"command": "python",
"args": ["-m", "proxmox_mcp.server"],
"cwd": "C:/Users/YOU/Projects/cursor-proxmox-mcp",
"env": {
"PROXMOX_MCP_CONFIG": "C:/Users/YOU/Projects/cursor-proxmox-mcp/proxmox-config/config.json",
"PYTHONPATH": "C:/Users/YOU/Projects/cursor-proxmox-mcp/src"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| PROXMOX_MCP_CONFIG | Configuration value read at startup. | Optional |
| PYTHONPATH | Filesystem location the server is allowed to use. | Optional |
| PROXMOX_HOST | Endpoint or connection string the server talks to. | Optional |
Scoped local file access — read, write, search and reorganise files in directories you explicitly allow.
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Build a programmable telecommunications stack for connecting telephony services with the Internet via a cloud-based utility.
Chat with your second brain — search, read and write vault notes through the Local REST API.
Connects AI models to an Obsidian knowledge base for direct access and manipulation of notes and folders.