
Cursor Proxmox MCP
io.github.hackmods由 GitHub 账号 hackmods 发布v1.9.0更新于 Oct 25, 2026
Manage Proxmox VE via Cursor: QEMU, LXC, storage, HA, firewall, access.
概览
一个本地 MCP 服务器,让助手管理 Proxmox VE 集群:QEMU 虚拟机、LXC 容器、存储、HA、防火墙和访问控制。
- 可以做什么
- 查看节点、集群状态、任务、网络、证书和服务,并在输入确认后重启或关闭节点。创建、配置、启动、停止、迁移和删除 QEMU 虚拟机与 LXC 容器,包括一次性开通和通过 guest agent 推送/拉取文件。管理快照、备份与备份任务、存储内容和定义,以及 PBS 存储状态。管理 HA 组与资源、防火墙规则、别名和 IP 集,以及用户、组、角色、ACL 和令牌。处理复制任务、SDN 区域与 vnet 及应用、ACME 证书申请/续期、Ceph 状态与存储池,以及需确认的 OSD 创建/销毁。
- 适用场景
- 适合希望让 AI 助手直接在 Cursor 中操作 Proxmox VE 实验环境或集群的场景:开通虚拟机与容器、查看任务和节点状态、在变更前创建快照,或调整防火墙和访问设置。
- 运行要求
- 通过 uvx(uv)或 Python 3.10+ 以 stdio 在本地运行,也可使用容器镜像。需要一个 Proxmox API 令牌,以及一个 config.json,其绝对路径通过 PROXMOX_MCP_CONFIG 指定;令牌密钥可通过 PROXMOX_TOKEN_VALUE 提供。需要能访问 Proxmox 主机的网络。LXC shell 和运行时 IP 功能需要可选的主机 SSH。
安装
在 SourceWeft 中
- 打开 控制台中的 Cursor Proxmox MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
cursor-proxmox-mcp
[CI] [License: MIT] [PyPI] [GHCR]
Formal Cursor ↔ Proxmox VE MCP integration — 212 tools covering QEMU VMs (incl. guest-agent network/file/guest-info/fsfreeze + bootstrap_cloudinit_vm / provision_vm + qm_set_vm), LXC (incl. provision_lxc, bootstrap_docker_lxc, crun Path B, DNS/SSH helpers, deploy_node_app), unified guest power, storage admin (incl. PBS plugin + status), cluster/tasks (incl. join), snapshots, backups, migration, HA, firewall, access control, replication, SDN write + apply, ACME order/renew, Ceph status/pools + gated OSD create/destroy, node network CRUD, console tickets/get_console_connection, and host reboot/shutdown. v1.9.0 adds optional dual-credential elevated mode (auth_write, D31) + provision_vm + Cursor day-2 auto-approve docs.
Repo: hackmods/cursor-proxmox-mcp
Docs: Setup guide · Wiki (docs/wiki/) · Publishing · Security · Contributing · API coverage · Changelog
MCP tools
Registered via tools/register.py (called from ProxmoxMCPServer._setup_tools()) — inventory locked by tools/inventory.py / tests/expected_tools.py (CI fails on drift).
Suggested agent flow
get_next_vmid→list_os_templates/list_isos→list_node_networksprovision_lxc/provision_vm(preferred one-shot) orcreate_lxc/create_vm→wait_for_task→ startcreate_snapshotbefore risky changes →update_*_config→get_guest_pending→ reboot if neededmigrate_guest/ HA / firewall / access / replication as needed
Guest type unknown? Prefer unified tools (start_guest, stop_guest, shutdown_guest, reboot_guest, delete_guest, get_guest_status) with guest_type=qemu|lxc. Parallel *_vm / *_lxc names stay for existing prompts.
Installation
Prerequisites
- uv (recommended) or Python 3.10+
- Proxmox API token
Path 1 — uvx (recommended)
PyPI package name is cursor-proxmox-mcp (console scripts: cursor-proxmox-mcp, plus aliases proxmox-mcp-server / proxmox-mcp).
Note: The unrelated PyPI project
proxmox-mcp-serveris a different codebase. Always installcursor-proxmox-mcp.
Cursor MCP (published package — no checkout):
From a local checkout, use "args": ["--from", "C:/Users/YOU/Projects/cursor-proxmox-mcp", "cursor-proxmox-mcp"] instead.
Why uvx: it resolves dependencies into an isolated ephemeral env so Cursor does not depend on a hand-managed venv/PYTHONPATH.
Path 2 — uv from source
Path 3 — pip fallback
Cursor MCP (direct Python — use absolute paths):
Restart the proxmox MCP server in Cursor after pulling new tools. Manual launchers: start.bat (Windows) / start.sh (Unix) — prefer uvx cursor-proxmox-mcp in mcp.json.
Verify / local CI
Runs: editable install → entrypoint smoke → ruff → pytest → inventory floor (≥100 tools).
Troubleshooting
First-time cluster wiring (token, privsep, Cursor JSON, example prompts): SETUP.md. LXC shell / runtime IP needs opt-in host SSH (authorized_keys, optional host_overrides, reload MCP): SETUP.md — SSH for LXC exec.
Configuration
Example proxmox-config/config.json:
Tool invocations are audited to the log file as tool_call name=… ok=… duration_ms=… (secrets redacted). Set verbose: true or env PROXMOX_MCP_VERBOSE=1 for richer diagnostics without urllib3 spam. Details: proxmox-config/README.md — Logging.
Create the token in Proxmox UI: Datacenter → Permissions → API Tokens. See SETUP.md — API token & Privilege Separation for the full walkthrough.
Privilege Separation: leave Yes (default) and grant ACLs to the token (user@realm!tokenid). Setting it to No makes the token inherit the user’s full permissions (common lab shortcut; larger blast radius if leaked). Grant roles matching the tools you use (PVEAuditor, PVEVMAdmin, Datastore.*, Sys.Audit/Sys.Modify for HA/firewall/access).
Prefer "token_value": "${PROXMOX_TOKEN_VALUE}" in config and set the env var in Cursor MCP config so secrets stay out of the JSON file.
Security
This server can create/delete guests, change firewall/ACL, and run guest commands. Treat the API token like production infra credentials. Full policy: SECURITY.md.
Features
- Token auth via proxmoxer (JSON config + optional
${ENV}secret interpolation) - Structured
tool_callaudit logging (redacted) +verbose/ env log overrides - Full guest lifecycle, snapshots, vzdump backups
- Storage content + definition CRUD + URL download
- Cluster HA, firewall (rules/aliases/ipsets), access/ACL/tokens
- Replication jobs, SDN write + apply, ACME order/renew, Ceph status/pools, pools
- Console ticket mint +
get_console_connection(VNC/SPICE/termproxy) — no websocket proxy (D6) - PBS as PVE storage plugin (not full PBS product admin); node network CRUD + reload
- uvx / uv / pip / Docker (GHCR) install paths; optional
.[openapi]for mcpo - Local + GitHub CI (
ruff+pytest+ coverage + inventory + design invariants)
Closed non-goals (not missing — D30)
Do not treat these as planned gaps: long-lived VNC/SPICE websocket proxy (tickets only — D6), full PBS product admin, or ungated Ceph OSD/MON/MGR create/destroy. Gated OSD tools are shipped; MON/MGR lifecycle stays on Ceph/PVE tooling.
Development
After adding a tool: update definitions.py, README table, .cursor/research/proxmox-api-coverage.md, .cursor/research/next-expansion.md (if closing a planned row), and tests/expected_tools.py.
Status
- Formal multi-domain Proxmox API coverage (212 tools)
- Phase B + Phase D agent QOL tools
- Phase F LXC day-2 + Phase F.1 VM network/push + create wait opt-in
- Phase C light: node reboot/shutdown + cluster join (typed confirm)
- Phase C remainder: SDN write / ACME / Ceph pools / console helper / PBS storage / node net CRUD
- Gated Ceph OSD create/destroy (confirm + dry-run default)
- v1.0 security hardening, code-design audit, full test suite
- uvx
cursor-proxmox-mcp+ PyPI/GHCR release workflow - Local + GitHub CI with coverage + design invariants
License
MIT
Acknowledgments
Based on ProxmoxMCP / canvrno/ProxmoxMCP. Extended for Cursor IDE as a formal Proxmox VE integration.
来源:README.md,提交 67756d6
工具
0版本历史
1- v1.9.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分