Proxmox管理服务器

一个简单的模型上下文协议(MCP)服务器,用于通过Proxmox API管理Proxmox VE环境,适用于家庭实验室和开发环境。

  • by edasan0568
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 edasan0568/proxmox-mcp-server

使用说明

Proxmox MCP服务器

一个简单的模型上下文协议(MCP)服务器,用于通过Proxmox API管理Proxmox VE环境。

特性

  • 通过环境变量动态连接到任何Proxmox主机
  • 禁用自签名证书的SSL验证警告(非常适合家庭实验室)
  • 提供以下工具:
    • 列出物理节点
    • 列出虚拟机(QEMU)和容器(LXC)
    • 管理客户机电源状态(启动、停止、关闭、状态)
    • 使用完整的Cloud Init注入(IP、用户、密码、SSH密钥)从模板克隆VM

设置和身份验证

服务器需要Proxmox API令牌。 在Proxmox GUI(数据中心>权限>API令牌)中为具有适当权限的用户创建令牌(例如。, root@pam).

运行前设置以下环境变量:

  • PROXMOX_HOST:Proxmox服务器的IP地址或主机名(例如。, 192.168.1.100)
  • PROXMOX_TOKEN_ID:完整的令牌ID(例如。, root@pam!mytoken)
  • PROXMOX_TOKEN_SECRET:令牌的UUID秘密

使用(通过 uvx)

您可以使用以下命令动态运行此服务器 uvx 无需永久安装:

PROXMOX_HOST="192.168.1.100" \
PROXMOX_TOKEN_ID="root@pam!mytoken" \
PROXMOX_TOKEN_SECRET="your-uuid-secret" \
uvx --from git+https://github.com/edasan0568/proxmox-mcp-server proxmox-mcp-server

MCP配置示例(MCPHub)

{
  "mcpServers": {
    "proxmox": {
      "command": "/root/.local/bin/uvx",
      "args": [
        "--from",
        "git+https://github.com/edasan0568/proxmox-mcp-server",
        "proxmox-mcp-server"
      ],
      "env": {
        "PROXMOX_HOST": "192.168.1.100",
        "PROXMOX_TOKEN_ID": "root@pam!mytoken",
        "PROXMOX_TOKEN_SECRET": "your-uuid-secret"
      }
    }
  }
}

可用工具

  1. list_nodes:列出群集中的所有物理节点。
  2. list_guests:列出特定节点上的所有VM和容器。
  3. manage_guest:启动、停止、关闭或检查特定VM/CT的状态。
  4. clone_vm:从模板克隆QEMU VM并应用Cloud Init配置。
  5. create_lxc:直接从操作系统模板tarball创建LXC容器并应用配置。