-
项目简介 libvirt-mcp 是一个实验性的 MCP 服务器实现,它为大型语言模型(LLM)客户端提供了一个标准的接口,用于管理基于 Libvirt 的虚拟机环境。通过集成 Libvirt 库,它将虚拟机管理操作暴露为 MCP 工具和资源,允许 LLM 调用这些功能来查询或控制虚拟机。
-
主要功能点
- 查询虚拟机列表: 获取当前系统中所有已定义或正在运行的虚拟机的列表及其状态、ID 和 UUID。
- 创建虚拟机: 根据指定的名称、CPU 核心数、内存大小和磁盘镜像路径创建一个新的虚拟机。
- 销毁虚拟机: 根据名称停止并取消定义一个现有的虚拟机。
- 获取虚拟机IP: 尝试获取指定虚拟机的IP地址。
- 访问操作系统镜像路径: 提供标准化接口获取特定名称操作系统镜像的存储路径。
-
安装步骤
- 克隆本项目仓库。
- 确保系统已安装 Libvirt 开发库 ('libvirt-devel') 和 Python 开发库 ('python3-devel')。
- 安装 'uv' 包管理器 ('pip install uv')。
- 在项目目录下运行 'uv sync' 安装所有Python依赖。
- 根据需要编辑 '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与计算