项目简介

ProxmoxMCP 是一个基于 Model Context Protocol (MCP) 构建的应用后端,专门用于与 Proxmox VE 虚拟化环境进行交互。它通过标准化的 MCP 接口,允许 LLM 客户端或 AI 助手访问和管理 Proxmox 资源,如虚拟机 (VMs)、容器 (LXC)、物理节点、存储池、备份和任务。项目提供了“Full”和“Simple”两种版本,分别适用于生产环境和快速测试部署。

主要功能点

  • 集成 AI 助手(如 Augment, RooCode/Cline),通过自然语言与 Proxmox 环境交互。
  • 管理 Proxmox VE 集群、节点、虚拟机和容器。
  • 执行虚拟机(通过QEMU Guest Agent)和容器内的命令。
  • 创建、列出、恢复和管理 Proxmox 备份。
  • 管理 VM 快照和生命周期操作(启动、停止、重启、克隆)。
  • 管理容器生命周期操作(创建、启动、停止、重启、删除、克隆)。
  • 获取集群、节点、VM、容器、存储的状态和配置信息。
  • 监控 Proxmox 后台任务状态。
  • 提供丰富的输出格式和可定制主题。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/PureGrain/ProxmoxMCP.git
    cd ProxmoxMCP
  2. 安装依赖:
    pip install -r requirements.txt
  3. 配置 Proxmox 连接: 根据您的需求,选择 Full 版本 ('ProxmoxMCP/proxmox-config/config.template.json') 或 Simple 版本 ('simple-proxmox-mcp/config.template.json')。 复制模板文件并编辑 'config.json',填入您的 Proxmox VE 地址、API User ID (例如 'user@realm')、API Token Name 和 API Token Secret。
    # 例如使用 Full 版本
    cp ProxmoxMCP/proxmox-config/config.template.json ProxmoxMCP/proxmox-config/config.json
    # 编辑 ProxmoxMCP/proxmox-config/config.json 文件
  4. 启动服务器:
    • Full 版本 (推荐使用虚拟环境,可先运行 './scripts/setup-venv.sh' 或 './scripts/setup-venv.ps1' 设置并激活):
      ./ProxmoxMCP/run-proxmox-mcp.sh
    • Simple 版本:
      ./simple-proxmox-mcp/manage-server.sh start

服务器配置 (供MCP客户端使用)

MCP客户端需要通过配置信息来启动ProxmoxMCP服务器进程。以下是MCP客户端中配置ProxmoxMCP服务器的示例信息(请根据您的实际安装路径和Python环境调整 'command' 和 'args'):

{
  "name": "Proxmox MCP Server",
  "command": "/usr/bin/env",
  "args": [
    "python3",
    "-m",
    "proxmox_mcp.server"
  ],
  "env": {
    "PROXMOX_MCP_CONFIG": "/path/to/your/ProxmoxMCP/proxmox-config/config.json"
  }
}
  • 'name': MCP服务器的友好名称,用于客户端界面显示。
  • 'command': 启动MCP服务器的可执行程序路径。推荐使用 '"/usr/bin/env"' 结合 '"python3"' 来自动查找Python解释器。如果使用了虚拟环境,应指向虚拟环境中的Python解释器路径,例如 '"/path/to/your/ProxmoxMCP/.venv/bin/python"'。
  • 'args': 传递给'command'的参数列表。'-m proxmox_mcp.server' 表示以模块方式运行已安装的 'proxmox_mcp' 包中的 'server' 主文件。
  • 'env': 启动服务器进程时需要设置的环境变量。'PROXMOX_MCP_CONFIG' 指定 Proxmox 连接配置文件的绝对路径,这是必须设置的

基本使用方法

ProxmoxMCP作为一个MCP服务器,主要设计为被兼容的MCP客户端(如 Augment 或 RooCode/Cline)自动连接和调用。用户通常不需要直接与ProxmoxMCP的命令行接口交互。在MCP客户端中配置并启动ProxmoxMCP服务器后,客户端会自动发现并利用服务器提供的工具来执行操作和获取信息。例如,在支持的MCP客户端中,您可以直接用自然语言提问,如“显示所有正在运行的虚拟机”或“重启节点 pve1 上的容器 200”,客户端会解析您的意图并调用ProxmoxMCP服务器对应的工具来执行操作。

信息

分类

开发者工具