M

MCP-K8s-Go连接器

@strowk/mcp-k8s-go
0 Stars 435 次浏览 strowk 更新于 2026-08-23

该项目旨在作为一个连接到Kubernetes的MCP服务器,同时也作为一个库,用于为Kubernetes中的任何自定义资源构建更多服务器。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "mcp_k8s": {
      "args": [
        "--allowed-contexts=dev,prod",
        "--readonly"
      ],
      "command": "mcp-k8s"
    },
    "mcp_k8s_go": {
      "args": [
        "run",
        "-i",
        "-v",
        "~/.kube/config:/home/nonroot/.kube/config",
        "--rm",
        "mcpk8s/server:latest"
      ],
      "command": "docker"
    }
  }
}

该服务需要配置环境变量:KUBECONFIG

服务介绍

功能

MCP 💬 提示 🗂️ 资源 🤖 工具

  • 🗂️🤖 列出 Kubernetes 上下文
  • 💬🤖 列出 Kubernetes 命名空间
  • 🤖 列出并获取任何 Kubernetes 资源
    • 包括对 pod、服务、部署等资源的自定义映射,但任何资源都可以列出和检索
  • 🤖 列出 Kubernetes 节点
  • 💬 列出 Kubernetes pod
  • 🤖 获取 Kubernetes 事件
  • 🤖 获取 Kubernetes pod 日志
  • 🤖 在 Kubernetes pod 中运行命令

使用 Inspector 浏览

要使用最新发布的版本与 Inspector,请运行以下命令:

npx @modelcontextprotocol/inspector npx @strowk/mcp-k8s

, 或者如果你想使用从源码构建的版本,则在本项目的根目录下执行:

tools/inspector/run.sh

与 Claude 一起使用

以下与 Claude Desktop 的聊天展示了选择特定上下文作为资源后,然后要求检查 kube-system 命名空间中的 pod 日志时的样子:

Claude Desktop

要将此 MCP 服务器与 Claude Desktop(或任何其他客户端)一起使用,你可能需要选择安装方式。

你有多种选项:

Smithery mcp-get Pre-built NPM Pre-built in Github From sources Using Docker
Claude 设置 自动 自动 手动 手动 手动 手动
先决条件 Node.js Node.js Node.js Golang Docker

使用 Smithery

要通过 Smithery 自动安装 Claude Desktop 的 MCP K8S Go:

npx -y @smithery/cli install @strowk/mcp-k8s --client claude

使用 mcp-get

要通过 mcp-get 自动安装 Claude Desktop 的 MCP K8S Go:

npx @michaellatman/mcp-get@latest install @strowk/mcp-k8s

使用预构建的二进制文件手动安装

从 npm 获取预构建版本

如果你已经安装了 npm 并希望使用预构建的二进制文件,请执行以下命令:

npm install -g @strowk/mcp-k8s

然后通过运行 mcp-k8s --version 检查版本,如果显示已安装版本,则可以继续在 claude_desktop_config.json 文件中添加配置:

{
  "mcpServers": {
    "mcp_k8s": {
      "command": "mcp-k8s",
      "args": []
    }
  }
}

或者使用 npx 和任意客户端:

npx @strowk/mcp-k8s

例如,对于 Claude:

{
  "mcpServers": {
    "mcp_k8s": {
      "command": "npx",
      "args": [
        "@strowk/mcp-k8s"
      ]
    }
  }
}

从 GitHub 发布版获取

前往 GitHub 发布版 并下载适用于你的平台的最新发布版。

解压存档,其中包含名为 mcp-k8s-go 的二进制文件,将该二进制文件放在你的 PATH 中的某个位置,然后在 claude_desktop_config.json 文件中添加以下配置:

{
  "mcpServers": {
    "mcp_k8s": {
      "command": "mcp-k8s-go",
      "args": []
    }
  }
}

从源码构建

你需要安装 Golang 来构建此项目:

go get github.com/strowk/mcp-k8s-go
go install github.com/strowk/mcp-k8s-go

然后在 claude_desktop_config.json 文件中添加以下配置:

{
  "mcpServers": {
    "mcp_k8s_go": {
      "command": "mcp-k8s-go",
      "args": []
    }
  }
}

使用 Docker

自 0.3.1-beta.2 版本起,此服务器已构建并发布到 Docker Hub,并且提供针对 linux/amd64 和 linux/arm64 架构的多架构镜像。

你可以使用最新的标签,例如:

docker run -i -v ~/.kube/config:/home/nonroot/.kube/config --rm mcpk8s/server:latest

Windows 用户可能需要在 Git Bash 中将 ~/.kube/config 替换为 //c/Users/<username>/.kube/config

对于 Claude:

{
  "mcpServers": {
    "mcp_k8s_go": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "-v",
        "~/.kube/config:/home/nonroot/.kube/config",
        "--rm",
        "mcpk8s/server:latest"
      ]
    }
  }
}

环境变量和命令行选项

MCP 服务器使用以下环境变量:

  • KUBECONFIG: 你的 Kubernetes 配置文件路径(可选,默认为 ~/.kube/config)

支持以下命令行选项:

  • --allowed-contexts=<ctx1,ctx2,...>: 允许用户访问的 Kubernetes 上下文列表,以逗号分隔。如果不指定,则允许所有上下文。
  • --help: 显示帮助信息
  • --version: 显示版本信息

相关 MCP 服务