使用说明
项目简介
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) 作为默认的通信协议,简化部署和运行。
安装步骤
- 安装 Go 环境: 确保你的机器上已安装 Go 语言环境 (建议 Go 1.20 或更高版本)。
- 获取仓库代码: 使用 'git clone https://github.com/lyarwood/kubevirt-mcp-server' 命令克隆仓库到本地。
- 进入项目目录: 使用 'cd kubevirt-mcp-server' 命令进入项目目录。
- 构建服务器: 运行 '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' 访问权限。
基本使用方法
- 启动 MCP 服务器: 在安装步骤的第4步生成可执行文件的目录下,运行 './kubevirt-mcp-server' 命令启动服务器。服务器将通过 Stdio 等待客户端连接和请求。
- 配置 MCP 客户端: 在 MCP 客户端中,配置上述提供的 JSON 信息,建立与 KubeVirt MCP Server 的连接。
- 使用工具: 通过 MCP 客户端,你可以调用服务器提供的工具,例如:
- 调用 'list_vm_names' 工具并传入 'namespace' 参数,可以获取指定命名空间下的虚拟机列表。
- 调用 'start_vm' 工具并传入 'namespace' 和 'name' 参数,可以启动指定的虚拟机。
- 其他工具的使用方法类似,根据工具的参数要求在客户端发起调用。
请参考 mcp-cli 等 MCP 客户端工具来与此服务器进行交互,或根据 MCP 协议自行开发客户端。
信息
分类
AI与计算