Proxmox VE (Mojood Connect)

io.github.askmojood由 GitHub 账号 askmojood 发布v0.1.0更新于 Nov 3, 2026

Claude 中的 Proxmox VE:虚拟机、存储、备份;确认后即可启动、停止、创建快照。

AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。

原文描述

Proxmox VE in Claude: VMs, storage, backups; start, stop, snapshot after a yes.

已验证STDIO仅桌面

概览

Proxmox VE (Mojood Connect) 的本地 MCP 服务;无需登录;STDIO。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Proxmox VE (Mojood Connect),将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Proxmox VE MCP server

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.

Tools

ToolWhat it doesChanges anything?
overviewNodes (CPU, memory, uptime), storage use, guests running and stopped, backup jobsNo
find_guestsVMs and containers by name, id, tag or state, with CPU and memory in useNo
guest_detailsOne guest: cores, disks, notes, snapshots, last backup, whether a backup job covers it, recent tasks (who did what)No
needs_attentionGuests in no backup job, overdue backups, stopped production guests, old snapshots, storage filling up, guests short of memoryNo
power_guestStart, shut down (cleanly) or reboot a VM or containerYes, after confirmation
snapshot_guestTake a snapshot, with a note saying who asked for itYes, 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.

Try it locally

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 guestsuv 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:

json
{  "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 <user> <name> --privsep 0), then set PVE_URL, PVE_TOKEN_ID (user@realm!name), PVE_TOKEN_SECRET and PVE_SAMPLE=0.

The SAMPLE guests

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.

Tests

uv run --env-file .env pytest            # unit tests (a fake Proxmox API), plus live tests when the local Proxmox runs

What a production version adds

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.

License

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.

来源:README.md,提交 4e204dc

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Nov 3, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分