项目简介

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)

方法一:下载预编译二进制文件

  1. 访问项目的 GitHub Releases 页面: 'https://github.com/soub4i/kdebug-mcp/releases'
  2. 下载适用于您操作系统的最新版本二进制文件 (macOS, Linux, Windows)。
  3. 如果您下载的是 Linux/macOS 版本,请赋予执行权限:
    chmod +x kdebug-mcp
  4. 将二进制文件移动到您的 PATH 环境变量包含的目录,以便于从任何位置运行:
    # 例如,移动到 /usr/local/bin
    mv kdebug-mcp /usr/local/bin/kdebug-mcp
    # 或者,如果您的 PATH 包含 ~/bin
    # mv kdebug-mcp ~/bin/kdebug-mcp

方法二:从源代码构建

  1. 克隆项目仓库:
    git clone https://github.com/soub4i/kdebug-mcp.git
    cd kdebug-mcp
  2. 构建可执行文件:
    go build -o bin/server ./cmd/server/main.go
    构建成功后,可执行文件位于 './bin/server'。

服务器配置

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 客户端实现。)

信息

分类

开发者工具