forked from agentify-sh/cursor-proxmox-mcp
-
Notifications
You must be signed in to change notification settings - Fork 0
Recipes
wiki-sync edited this page Jul 19, 2026
·
4 revisions
Living playbooks for Cursor agents using cursor-proxmox-mcp. Tool names are CI-locked — see Tools for the full list.
Prefer provision_lxc when host SSH is configured: one call does create(wait) → start(wait) → optional configure_lxc_ssh → runtime IP → {vmid, hostname, ip, ssh_hint}.
Manual primitives:
-
get_next_vmid(best-effort; race possible before create) -
list_os_templates(optionaldownload_url_to_storageif none) -
create_lxc— OS template only; preferssh_public_keys; optionalonboot/description/tags; features e.g.nesting=1,keyctl=1when needed; optionalwait=trueto poll create UPID in-tool (default still false — else step 4) -
wait_for_task(node, upid)until stopped — create returns UPID immediately unlesswait=true -
start_lxc(orstart_guestwithguest_type=lxc) -
get_lxc_network— configurednetN; runtime IPv4 needs host SSH/pct - Guest SSH: prefer keys at create; password alone often blocked on Debian — use
configure_lxc_ssh/set_lxc_password(enable_password_ssh=true) - HTTP checks on stock Debian: prefer
wget -qO-(curl often missing)
Do not claim the guest is “ready for apps” until you verify services yourself.
Supported path (D24):
- Prefer
bootstrap_docker_lxcwhen the user asks for a Docker LXC (create→dns→ssh→prepare→verify) - Or manually:
create_lxcwithdocker_ready=true+nameserver+ssh_public_keys -
wait_for_task→start_lxc→configure_lxc_dns/configure_lxc_ssh prepare_lxc_for_docker(docker_mode=auto, install_docker=true?, smoke_test=true?)- If
restart_required:stop_lxcthenstart_lxc -
get_docker_lxc_statusto re-check runtime; smokedocker run --rm hello-world
Do not claim Docker-ready with nesting-only + stock runc.
Prompt-style recipe: SETUP.md — Provision a nested Docker LXC.
- Running CT with host SSH configured
-
deploy_static_nginx— installs nginx; optionalcontent_base64/local_path(html or.tar.gz) -
get_lxc_network→curl http://<ip>/
-
list_isos/list_node_networks/get_next_vmid -
create_vmwithiso, optionalciuser/sshkeys/ipconfig0,bridge; optionalwait=true -
wait_for_task(unlesswait=true) -
start_vm— finish OS install via console ticket or cloud-init; guest agent needed forexecute_vm_command/get_vm_network/push_to_vm
-
update_vm_config/update_lxc_config/update_lxc_features -
get_guest_pending— some keys need reboot -
reboot_guest/reboot_vm/reboot_lxcas appropriate
-
delete_vm/delete_lxc/delete_guestwithforce=true— server waits for stop UPID, then starts delete - Still
wait_for_taskon the delete UPID before assuming the guest is gone
-
get_token_permissionsforuserid+ token id - If lists are empty (
get_vms/get_containers/get_storage), fix ACL onuser@realm!tokenid(privsep), not only the user
-
create_snapshot(noteguest_type) - Make changes
-
rollback_snapshotonly if needed (destructive)
cursor-proxmox-mcp
Repo