使用说明
项目简介
Talos MCP服务器是一个基于 Model Context Protocol (MCP) 的后端实现,旨在为大型语言模型(LLM)客户端提供 Talos 集群的上下文信息和管理功能。作为一个概念验证项目,它展示了如何利用 MCP 协议标准化地暴露服务器能力,以便 LLM 应用能够安全、可扩展地与后端系统交互。
主要功能点
- 集群信息查询: 提供对 Talos 集群中节点硬件信息的查询能力,包括:
- 磁盘列表 (List disks): 获取集群中所有节点的磁盘设备信息,例如设备名称、型号、大小、类型和 UUID。
- 网络接口列表 (List network interfaces): 获取集群中所有节点的网络接口统计信息,例如接口名称、发送/接收字节数。
- 内存信息 (List memory): 获取集群中所有节点的内存使用情况信息。
- CPU 信息 (List CPU): 获取集群中所有节点的 CPU 使用率信息。
- 节点管理:
- 节点重启 (Reboot nodes): 支持远程重启 Talos 集群中的指定节点。
安装步骤
- 克隆仓库
git clone https://github.com/qjoly/talos-mcp.git - 进入项目目录
cd talos-mcp - 构建项目
确保已安装 Go 1.24 或更高版本。
这将在项目目录下生成可执行文件 'talos-mcp'。go build -o talos-mcp main.go
服务器配置
Talos MCP 服务器通过标准输入/输出 (stdio) 协议与 MCP 客户端通信。客户端需要配置服务器的启动命令和环境变量。
以下是一个 MCP 客户端(例如 'mcp-copilot')的服务器配置示例,用于连接到 'talos-mcp' 服务器。你需要根据 'talos-mcp' 可执行文件的实际路径以及 'talosconfig' 文件的路径进行调整。
{ "mcp": { "servers": { "talos": { "type": "stdio", "command": "/path/to/talos-mcp/talos-mcp", // 请替换为 talos-mcp 可执行文件的实际路径 "env": { "TALOSCONFIG": "/path/to/talos-mcp/talosconfig" // 请替换为 talosconfig 文件的实际路径 } } } } }
配置参数说明:
- 'type': 指定连接类型为 'stdio',表示使用标准输入/输出协议。
- 'command': 必需。指定 'talos-mcp' 服务器可执行文件的路径。请根据你的实际安装路径修改。
- 'env': 必需。配置环境变量。
- 'TALOSCONFIG': 必需。指定 Talos 客户端配置文件 'talosconfig' 的路径。'talosconfig' 文件包含了连接 Talos 集群所需的 Endpoint、Nodes 和证书信息。你需要根据你的 Talos 集群配置正确设置 'talosconfig' 文件。
'talosconfig' 文件配置示例:
context: mcp contexts: mcp: endpoints: # These values are mandatory - 192.168.32.83 # 请替换为你的 Talos 集群 Endpoint nodes: - 192.168.32.83 # 请替换为你的 Talos 集群节点 IP 地址 - 192.168.32.85 - 192.168.32.84 ca: x # 请替换为你的 Talos 集群 CA 证书内容 (如果需要) crt: x # 请替换为你的 Talos 集群客户端证书内容 (如果需要) key: x # 请替换为你的 Talos 集群客户端密钥内容 (如果需要)
注意: 'talosconfig' 文件中的 'endpoints' 和 'nodes' 必须根据你的 Talos 集群实际情况进行配置。'ca', 'crt', 'key' 字段根据你的 Talos 集群是否启用 TLS 认证来决定是否需要配置。
基本使用方法
- 启动 Talos MCP 服务器: 当 MCP 客户端尝试连接到 'talos' 服务器时,客户端会根据配置启动 'talos-mcp' 程序。
- 客户端调用工具: 在 MCP 客户端中,你可以调用 Talos MCP 服务器提供的工具来获取 Talos 集群的信息或执行管理操作。例如,客户端可以调用 'list_disks' 工具来获取磁盘列表,或调用 'reboot_node' 工具来重启指定节点。
具体如何调用工具取决于你使用的 MCP 客户端。请参考你使用的 MCP 客户端的文档来了解如何调用 MCP 服务器提供的工具。
示例工具调用 (假设使用 MCP 客户端):
- 列出磁盘: 客户端发送请求调用 'list_disks' 工具,服务器返回 JSON 格式的磁盘信息。
- 列出网络接口: 客户端发送请求调用 'list_network_interfaces' 工具,服务器返回 JSON 格式的网络接口信息。
- 重启节点: 客户端发送请求调用 'reboot_node' 工具,并提供 'node' 参数指定要重启的节点 IP 地址,服务器执行重启操作并返回结果。
请注意,'talos-mcp' 只是一个概念验证项目,可能不包含完善的错误处理和安全机制。在生产环境中使用请谨慎评估。
信息
分类
开发者工具