使用说明
Talos MCP服务器
一种模型上下文协议(MCP)服务器,提供对Talos OS集群管理功能的全面访问。该服务器提供了39个强大的工具,用于通过标准化的MCP接口监视、管理Talos OS节点并与之交互。
特性
系统检查和监控
- 容器管理:列出并监控支持Kubernetes命名空间的容器
- 资源监控:CPU、内存使用情况和详细统计信息
- 流程管理:列出并排序正在运行的进程
- 硬件信息:磁盘详细信息、网络接口和系统资源
网络运营
- 接口管理:具有多种输出格式的详细网络接口信息
- 路由:使用高级筛选完成路由表访问
- 连接性:网络统计、数据包捕获和诊断
集群管理
- 健康监测:使用可配置参数进行全面的集群健康检查
- 节点操作:重新启动、关闭、重置和升级功能
- 时间同步:NTP服务器验证和时间管理
存储和文件操作
- 文件系统:具有过滤、递归和多种格式的高级目录列表
- 磁盘管理:支持YAML/JSON输出的详细磁盘信息
- 文件操作:读取、复制和管理Talos节点上的文件
服务和日志
- 服务控制:启动、停止、重新启动和监视系统服务
- 日志访问:使用尾部支持和Kubernetes集成检索服务日志
- 系统事件:访问内核消息和系统事件
配置等
- 配置管理:应用和验证Talos配置
- etcd操作:状态监控、成员管理和维护
可用工具
| 类别 | 工具 | 增强功能 |
|---|---|---|
| 系统监控 | containers |
--kubernetes 命名空间支持 |
stats |
--kubernetes 命名空间支持 |
|
get_processes |
--sort 通过cpu/rss |
|
memory_verbose |
详细的内存信息 | |
get_cpu_memory_usage |
CPU/内存组合统计数据 | |
| 文件操作 | list |
--long, --humanize, --recurse, --depth, --type 过滤器 |
read |
文件内容访问 | |
copy |
文件传输操作 | |
get_usage |
磁盘使用信息 | |
get_mounts |
文件系统装载详细信息 | |
| 网络 | interfaces |
--namespace, --output (表格/json/yaml) |
routes |
--namespace, --output (表格/json/yaml) |
|
get_netstat |
网络连接统计 | |
capture_packets |
网络数据包捕获 | |
get_network_io_cgroups |
网络I/O统计 | |
list_network_interfaces |
传统接口列表 | |
| 服务和日志 | dmesg |
固定参数验证 |
service |
服务管理操作 | |
restart |
服务重启功能 | |
get_logs |
--tail 计数, --kubernetes 支持 |
|
get_events |
系统事件监控 | |
| 存储 | disks |
--namespace, --output (表格/json/yaml) |
list_disks |
旧磁盘列表 | |
| 集群管理 | get_health |
增强的集群拓扑支持 |
get_version |
--short 紧凑格式 |
|
get_time |
--check NTP验证 |
|
| 节点管理 | reboot_node |
安全节点重启 |
shutdown_node |
优雅的节点关闭 | |
reset_node |
恢复出厂设置操作 | |
upgrade_node |
节点映像升级 | |
upgrade_k8s |
Kubernetes版本升级 | |
| 配置 | apply_config |
配置部署 |
validate_config |
配置验证 | |
| etcd | get_etcd_status |
etcd集群状态 |
get_etcd_members |
会员信息 | |
bootstrap_etcd |
集群引导 | |
defrag_etcd |
数据库碎片整理 | |
| 机器配置 | patch_mc |
应用机器配置补丁(NVIDIA GPU设置) |
| 扩展 | get_extensions |
列出已安装的系统扩展 |
安装
快速安装(推荐)
单线安装程序:
curl -fsSL https://raw.githubusercontent.com/5dlabs/talos-mcp/main/install.sh | bash
或者下载并运行:
wget https://raw.githubusercontent.com/5dlabs/talos-mcp/main/install.sh
chmod +x install.sh
./install.sh
安装选项:
./install.sh --help # Show all options
./install.sh --version v1.0.0 # Install specific version
./install.sh --dir /usr/local/bin # Custom install directory
./install.sh --no-config # Skip Cursor configuration
先决条件
talosctlCLI工具已安装并配置TALOSCONFIG环境变量集- Talos操作系统集群访问
手动构建(开发)
# Clone repository
git clone https://github.com/5dlabs/talos-mcp.git
cd talos-mcp
# Build from source
cargo build --release
# Binary location
./target/release/talos-mcp-server
配置
确保您的 TALOSCONFIG 环境变量指向您的Talos配置:
export TALOSCONFIG=/path/to/your/talosconfig
为了持久性,请添加到您的shell配置文件中:
echo 'export TALOSCONFIG=/path/to/your/talosconfig' >> ~/.zshrc # or ~/.bashrc
MCP集成
安装程序会自动配置Cursor。手动配置:
{
"mcpServers": {
"talos-mcp": {
"command": "/path/to/talos-mcp-server",
"env": {
"TALOSCONFIG": "/path/to/talosconfig"
}
}
}
}
使用示例
增强的列表操作
{
"method": "list",
"params": {
"node": "192.168.1.77",
"path": "/opt",
"long": true,
"humanize": true,
"recurse": true,
"type": ["d"]
}
}
网络接口详细信息(JSON)
{
"method": "interfaces",
"params": {
"node": "192.168.1.77",
"output": "json"
}
}
容器监控(Kubernetes)
{
"method": "containers",
"params": {
"node": "192.168.1.77",
"kubernetes": true
}
}
时间同步检查
{
"method": "get_time",
"params": {
"node": "192.168.1.77",
"check": "pool.ntp.org"
}
}
带尾部的服务日志
{
"method": "get_logs",
"params": {
"node": "192.168.1.77",
"service": "kubelet",
"tail": 100,
"kubernetes": true
}
}
多集群支持(上下文)
{
"method": "get_version",
"params": {
"node": "192.168.1.77",
"context": "production-cluster"
}
}
NVIDIA GPU设置
使用内核模块和系统配置NVIDIA GPU节点:
{
"method": "patch_mc",
"params": {
"node": "192.168.1.77",
"patch": "machine:\n kernel:\n modules:\n - name: nvidia\n - name: nvidia_uvm\n - name: nvidia_drm\n - name: nvidia_modeset\n sysctls:\n net.core.bpf_jit_harden: 1"
}
}
验证是否安装了NVIDIA扩展:
{
"method": "get_extensions",
"params": {
"node": "192.168.1.77",
"output": "json"
}
}
检查NVIDIA模块是否已加载:
{
"method": "read",
"params": {
"node": "192.168.1.77",
"path": "/proc/modules"
}
}
验证驱动程序版本:
{
"method": "read",
"params": {
"node": "192.168.1.77",
"path": "/proc/driver/nvidia/version"
}
}
建筑
核心组件
main.rs:MCP协议处理和命令路由mcp.rs:MCP协议类型定义(JSON-RPC)tools.rs:工具模式定义和参数验证handlers.rs:按类别组织的工具执行处理程序
工具类别
- 系统检查:
handle_system_inspection_methods() - 文件操作:
handle_file_operations_methods() - 网络操作:
handle_network_operations_methods() - 服务和日志记录:
handle_service_log_methods() - 存储和硬件:
handle_storage_hardware_methods() - 核心集群:
handle_core_cluster_methods() - 节点管理:
handle_node_management_methods() - 配置等:
handle_config_etcd_methods()
发展
添加新工具
- 在中定义架构
tools.rs - 在适当的类别中添加处理程序方法
- 用参数处理实现命令逻辑
- 添加到中的工具列表
get_all_tool_schemas()
测试
所有增强功能都包括全面的参数验证和响应格式化。使用MCP兼容客户端或提供的工具接口进行测试。
CI/CD
GitHub Actions工作流提供:
- 多平台构建(Linux、macOS、Windows)
- Docker容器构建
- 安全扫描和测试
- 自动发布
MCP集成
此服务器实现了模型上下文协议(MCP)规范,使其与以下内容兼容:
- 克劳德桌面版
- 光标
- 自定义MCP客户端
- 人工智能助手和开发工具
协议特性
- 基于stdio的JSON-RPC 2.0
- 工具发现和模式验证
- 结构化参数传递
- 丰富的响应格式
贡献
欢迎投稿!请确保:
- 所有新工具都包括全面的模式
- 使用元数据增强响应格式
- 正确的错误处理和验证
- 文档更新
许可证
MIT许可证
