项目简介
KDebug 是一个利用 Model Context Protocol (MCP) 使大型语言模型(如 Claude AI)能够与您的 Kubernetes 集群进行交互的调试工具。它允许您通过对话式 AI 执行常见的 Kubernetes 调试和检查任务。
主要功能点
通过与 KDebug MCP 服务器连接的 AI 客户端,您可以:
- 检查和列出各种 Kubernetes 资源,包括:节点(nodes)、Pods、服务(services)、部署(deployments)、有状态副本集(statefulsets)、副本集(replicasets)、守护进程集(daemonsets)。
- 获取指定 Pod 的日志。
- 列出特定命名空间或特定资源的事件。
- 在不同 Kubernetes 集群上下文之间切换。
安装步骤
KDebug 服务器需要安装在能够访问您的 Kubernetes 集群(通过 '~/.kube/config')的环境中。
先决条件:
- Go 1.18 或更高版本 (如果选择从源代码构建)
- 已配置并能访问 Kubernetes 集群 ('~/.kube/config' 文件可用)
- 支持 Model Context Protocol (MCP) 的 LLM 客户端 (例如 Claude AI)
方法一:下载预编译二进制文件
- 访问项目的 GitHub Releases 页面: 'https://github.com/soub4i/kdebug-mcp/releases'
- 下载适用于您操作系统的最新版本二进制文件 (macOS, Linux, Windows)。
- 如果您下载的是 Linux/macOS 版本,请赋予执行权限:
chmod +x kdebug-mcp - 将二进制文件移动到您的 PATH 环境变量包含的目录,以便于从任何位置运行:
# 例如,移动到 /usr/local/bin mv kdebug-mcp /usr/local/bin/kdebug-mcp # 或者,如果您的 PATH 包含 ~/bin # mv kdebug-mcp ~/bin/kdebug-mcp
方法二:从源代码构建
- 克隆项目仓库:
git clone https://github.com/soub4i/kdebug-mcp.git cd kdebug-mcp - 构建可执行文件:
构建成功后,可执行文件位于 './bin/server'。go build -o bin/server ./cmd/server/main.go
服务器配置
KDebug 服务器需要由支持 MCP 协议的 LLM 客户端(例如 Claude AI)来启动和使用。
您需要在客户端的配置文件中指定 KDebug 可执行文件的位置。以下是常见的 Claude AI 客户端配置文件路径:
- macOS: '~/Library/Application Support/com.anthropic.claude/config.json'
- Linux: '~/.config/com.anthropic.claude/config.json'
- Windows: '%APPDATA%\com.anthropic.claude\config.json'
编辑该文件,在 'mcpServers' 部分添加 KDebug 的配置。配置通常包括服务器名称和启动命令:
{ "mcpServers": { "kdebug": { "command": "/path/to/kdebug-mcp/bin/server" // 替换为实际的 KDebug 可执行文件路径 // "args": [] // 当前版本的 KDebug 服务器无需额外启动参数 } } }
请确保将 '"/path/to/kdebug-mcp/bin/server"' 替换为您系统中 KDebug 可执行文件的实际完整路径。'"kdebug"' 是服务器在客户端中显示的名称,您可以自定义。
此外,KDebug 使用您当前的 '~/.kube/config' 文件配置来访问 Kubernetes 集群。请确保该文件存在且配置正确。
基本使用方法
一旦您的 MCP 客户端(如 Claude AI)配置好并成功启动连接了 KDebug 服务器,您就可以在与 AI 的对话中直接提问关于您的 Kubernetes 集群的问题。
AI(作为 MCP 客户端)会根据您的提问,自动识别并调用 KDebug 服务器提供的相应工具(如 'pods'、'podLogs'、'nodes' 等)来执行操作并获取信息。
您可以使用自然的语言描述您想了解的 Kubernetes 资源或执行的任务。
示例对话指令:
- “显示 default 命名空间下的所有 pod”
- “获取 pod xyz 在 namespace abc 中的日志”
- “列出我的集群中的所有节点”
- “检查 kube-system 命名空间的服务”
- “查看 default 命名空间最近发生的事件”
- “将上下文切换到 minikube” (对应 'context' 工具)
(请注意:具体的对话方式和是否需要指定服务器名称(如 '@kdebug show pods...')取决于您使用的 MCP 客户端实现。)
信息
分类
开发者工具