• 项目简介 libvirt-mcp 是一个实验性的 MCP 服务器实现,它为大型语言模型(LLM)客户端提供了一个标准的接口,用于管理基于 Libvirt 的虚拟机环境。通过集成 Libvirt 库,它将虚拟机管理操作暴露为 MCP 工具和资源,允许 LLM 调用这些功能来查询或控制虚拟机。

  • 主要功能点

    • 查询虚拟机列表: 获取当前系统中所有已定义或正在运行的虚拟机的列表及其状态、ID 和 UUID。
    • 创建虚拟机: 根据指定的名称、CPU 核心数、内存大小和磁盘镜像路径创建一个新的虚拟机。
    • 销毁虚拟机: 根据名称停止并取消定义一个现有的虚拟机。
    • 获取虚拟机IP: 尝试获取指定虚拟机的IP地址。
    • 访问操作系统镜像路径: 提供标准化接口获取特定名称操作系统镜像的存储路径。
  • 安装步骤

    1. 克隆本项目仓库。
    2. 确保系统已安装 Libvirt 开发库 ('libvirt-devel') 和 Python 开发库 ('python3-devel')。
    3. 安装 'uv' 包管理器 ('pip install uv')。
    4. 在项目目录下运行 'uv sync' 安装所有Python依赖。
    5. 根据需要编辑 'server_config.json'(主要是服务器路径配置)。
  • 服务器配置 MCP 客户端(例如 'mcp-cli')需要配置如何启动并连接到此 MCP 服务器。典型的配置信息包含在 JSON 格式中,至少需要指定服务器的逻辑名称、启动服务器的命令和任何必要的参数。对于 'libvirt-mcp',服务器的逻辑名称为 'libvirt-mcp-demo'。启动命令通常指向服务器的主脚本或启动脚本,例如 'run.sh' 或 'server.py'。

    以下是 MCP 客户端中配置该服务器时所需的基本信息结构:

    • 'name': 'libvirt-mcp-demo' (服务器的唯一标识名称,用于客户端识别)
    • 'command': 启动服务器的可执行文件或脚本的绝对路径(例如:'/path/to/libvirt-mcp/run.sh')
    • 'args': 启动命令所需的参数列表(如果不需要参数则为空列表 '[]')
    • 'transport': 使用的传输协议,例如 'stdio'

    具体的配置路径和参数请参考您的 MCP 客户端的文档。

  • 基本使用方法 启动 MCP 服务器后,一个兼容的 MCP 客户端(如配置好的 'mcp-cli')可以连接到该服务器。LLM 可以通过客户端向服务器发送请求,例如:

    • 请求列出所有可用的工具和资源。
    • 调用 'list_vms' 工具获取虚拟机列表。
    • 调用 'create_vm' 工具创建新虚拟机。
    • 请求访问 'images://ubuntu' 资源获取Ubuntu镜像路径。 LLM 将接收到服务器返回的标准 JSON-RPC 响应,其中包含请求的结果。

信息

分类

AI与计算