Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Proxmox VE in Claude: VMs, storage, backups; start, stop, snapshot after a yes.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
PVE_URL, PVE_TOKEN_ID, PVE_TOKEN_SECRET, PVE_SAMPLEValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"proxmox": {
"command": "uvx",
"args": [
"mojood-proxmox-mcp",
"--stdio"
],
"env": {
"PVE_URL": "your-value",
"PVE_TOKEN_ID": "your-value",
"PVE_TOKEN_SECRET": "your-value",
"PVE_SAMPLE": "your-value"
}
}
}
}Run this in your terminal
claude mcp add proxmox --env PVE_URL=your-value --env PVE_TOKEN_ID=your-value --env PVE_TOKEN_SECRET=your-value --env PVE_SAMPLE=your-value -- uvx mojood-proxmox-mcp --stdioFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"proxmox": {
"command": "uvx",
"args": [
"mojood-proxmox-mcp",
"--stdio"
],
"env": {
"PVE_URL": "your-value",
"PVE_TOKEN_ID": "your-value",
"PVE_TOKEN_SECRET": "your-value",
"PVE_SAMPLE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"proxmox": {
"type": "stdio",
"command": "uvx",
"args": [
"mojood-proxmox-mcp",
"--stdio"
],
"env": {
"PVE_URL": "your-value",
"PVE_TOKEN_ID": "your-value",
"PVE_TOKEN_SECRET": "your-value",
"PVE_SAMPLE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
PVE_SAMPLE envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account askmojood, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: PVE_URL, PVE_TOKEN_ID, PVE_TOKEN_SECRET
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 6 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, aamio rendezvous
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Meet an agent you have not met, exchange messages that expire, and prove it happened. No account.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Ask Claude about your Proxmox VE in plain words: which guests no backup job covers, whose backups are overdue, which production VMs are stopped, what's going on with one VM. Start, shut down or reboot a guest and take snapshots from the same chat, with a confirmation step before anything changes. There is no tool that deletes a guest, restores a backup or rolls back a snapshot.
Built by Mojood Connect as a working demo for Proxmox. It runs against any Proxmox VE 8 or 9 through its REST API, with an API token. This repository includes a script that sets up a local Proxmox VE 9.2 (Proxmox's official arm64 build, in a VM on an Apple Silicon Mac) with SAMPLE guests for a made-up company, Harbor Trading, so you can try it without touching a real cluster.
| Tool | What it does | Changes anything? |
|---|---|---|
overview | Nodes (CPU, memory, uptime), storage use, guests running and stopped, backup jobs | No |
find_guests | VMs and containers by name, id, tag or state, with CPU and memory in use | No |
guest_details | One guest: cores, disks, notes, snapshots, last backup, whether a backup job covers it, recent tasks (who did what) | No |
needs_attention | Guests in no backup job, overdue backups, stopped production guests, old snapshots, storage filling up, guests short of memory | No |
power_guest | Start, shut down (cleanly) or reboot a VM or container | Yes, after confirmation |
snapshot_guest | Take a snapshot, with a note saying who asked for it | Yes, after confirmation |
How changes are made safe. A call to power_guest or snapshot_guest without a confirmation changes nothing: it returns a plain summary ("Start mail-relay (VM 104 on lima-pve, now stopped). It is tagged prod.") and a one-time code. The change happens only when the same request comes back with that code, within 10 minutes. A code works once, and only for the request it was issued for. The server's instructions tell the model to show the summary and wait for the user's yes. Proxmox's own task log records every change under the token's user.
Least privilege. The demo's token belongs to its own Proxmox user, claude@pve, with a custom role holding only VM.Audit, VM.PowerMgmt, VM.Snapshot, Datastore.Audit and Sys.Audit, plus VM.Backup and Datastore.AllocateSpace (on the backup storage only), because Proxmox lists a guest's backups only to users who could back it up. No tool makes, restores or deletes a backup.
Needs an Apple Silicon Mac (M3 or later, for nested virtualization) with Lima, uv and Python 3.13, about 6 GB of free memory and 40 GB of disk.
scripts/reset.sh # Proxmox VE 9.2 in a Lima VM (first run installs it), filled with SAMPLE guests
uv run --env-file .env proxmox-mcp # MCP server on http://127.0.0.1:8008/mcp (Streamable HTTP)
scripts/up.sh installs Proxmox VE the way Proxmox's Debian 13 guide describes, adds a ZFS pool (on a file) so VMs and containers can be snapshotted, creates the claude@pve user and its token, and a read-only viewer@pve user for the web UI at https://127.0.0.1:8006. Secrets go only into the git-ignored .env and are never printed. The local certificate is self-signed, so .env sets PVE_VERIFY_TLS=0; keep it on for a real installation.
Claude Desktop: add this to claude_desktop_config.json (Settings › Developer), with the path to this folder:
{
"mcpServers": { "proxmox": { "command": "uv", "args": ["run", "--directory", "/path/to/proxmox-mcp", "--env-file", "/path/to/proxmox-mcp/.env", "proxmox-mcp", "--stdio"] } } }
Then ask: "Which servers aren't backed up?", "What's going on with erp-app?", "Snapshot erp-app before tonight's update, and start mail-relay again."
Your own Proxmox VE: create a user and an API token with the rights above (pveum user token add --privsep 0), then set PVE_URL, PVE_TOKEN_ID (user@realm!name), PVE_TOKEN_SECRET and PVE_SAMPLE=0.
Six VMs (Alpine Linux, really booting) and four LXC containers for Harbor Trading: an ERP database and app server, a file server, a mail relay that was left stopped, a retired CRM with a 96-day-old snapshot, a staging web server, two web containers, monitoring and a VPN gateway. A nightly backup job covers most of them but not all, and one guest's newest backup is 9.9 days old. Backups and snapshots are real; scripts/seed.sh moves a few of their timestamps back to give the estate a history. Everything in it is made up.
uv run --env-file .env pytest # unit tests (a fake Proxmox API), plus live tests when the local Proxmox runs
This demo uses one API token. A production server for Proxmox customers would add sign-in with each person's own Proxmox account (their realm, LDAP or OpenID), so Claude sees and does exactly what their roles allow; clusters with several nodes; Proxmox Backup Server; hosting with an audit log of every tool call; and a directory listing. That is what Mojood Connect builds.
Apache 2.0. Proxmox is a registered trademark of Proxmox Server Solutions GmbH; this project is not made or endorsed by Proxmox Server Solutions GmbH.