使用说明

项目简介

KubeVirt MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,专门用于管理 KubeVirt 虚拟化环境中的虚拟机。它通过 MCP 协议向 LLM 客户端提供了一系列工具,使得 LLM 能够与 KubeVirt 集群进行交互,例如列出虚拟机名称、启动和停止虚拟机等。

主要功能点

  • 虚拟机管理工具: 提供了用于管理 KubeVirt 虚拟机的工具集,包括:
    • 'list_vm_names': 列出指定命名空间下的虚拟机名称。
    • 'start_vm': 启动指定命名空间和名称的虚拟机。
    • 'stop_vm': 停止指定命名空间和名称的虚拟机。
    • 'list_instancetypes': 列出所有可用的实例类型名称。
    • 'get_vm_instancetype': 获取指定虚拟机使用的实例类型名称。
  • 基于 MCP 协议: 遵循标准的 Model Context Protocol,易于与各种 MCP 客户端集成。
  • Stdio 传输: 使用标准输入输出 (Stdio) 作为默认的通信协议,简化部署和运行。

安装步骤

  1. 安装 Go 环境: 确保你的机器上已安装 Go 语言环境 (建议 Go 1.20 或更高版本)。
  2. 获取仓库代码: 使用 'git clone https://github.com/lyarwood/kubevirt-mcp-server' 命令克隆仓库到本地。
  3. 进入项目目录: 使用 'cd kubevirt-mcp-server' 命令进入项目目录。
  4. 构建服务器: 运行 'go build -o kubevirt-mcp-server main.go' 命令编译生成可执行文件 'kubevirt-mcp-server'。

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到 KubeVirt MCP Server:

{
  "serverName": "kubevirt-mcp-server",
  "command": "./kubevirt-mcp-server",
  "args": []
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义,用于在客户端标识服务器。
  • 'command': MCP 服务器的启动命令。这里假设您在项目根目录下运行客户端,并且已将编译生成的可执行文件命名为 'kubevirt-mcp-server'。请根据实际情况修改可执行文件的路径。
  • 'args': 启动命令的参数。此服务器目前不需要额外的启动参数,因此为空数组。

注意: 确保运行此服务器的环境可以访问 KubeVirt 集群。通常,这需要在 Kubernetes 集群内部或配置有效的 'kubectl' 访问权限。

基本使用方法

  1. 启动 MCP 服务器: 在安装步骤的第4步生成可执行文件的目录下,运行 './kubevirt-mcp-server' 命令启动服务器。服务器将通过 Stdio 等待客户端连接和请求。
  2. 配置 MCP 客户端: 在 MCP 客户端中,配置上述提供的 JSON 信息,建立与 KubeVirt MCP Server 的连接。
  3. 使用工具: 通过 MCP 客户端,你可以调用服务器提供的工具,例如:
    • 调用 'list_vm_names' 工具并传入 'namespace' 参数,可以获取指定命名空间下的虚拟机列表。
    • 调用 'start_vm' 工具并传入 'namespace' 和 'name' 参数,可以启动指定的虚拟机。
    • 其他工具的使用方法类似,根据工具的参数要求在客户端发起调用。

请参考 mcp-cli 等 MCP 客户端工具来与此服务器进行交互,或根据 MCP 协议自行开发客户端。

信息

分类

AI与计算