返回 MCP 目录
public公开dns本地运行

mcp-k8s-go

一个基于Golang的MCP服务器,用于连接Kubernetes集群,提供资源查询和操作功能。

article

README

🚀 基于 Golang 的 MCP 服务器连接到 Kubernetes

本项目实现了基于 Golang 的 MCP 服务器与 Kubernetes 的连接,支持列出和切换多个 Kubernetes 集群配置,还可通过指定允许的上下文增强安全性,同时提供了多种安装和使用方式,方便灵活配置。

✨ 主要特性

  • 支持多集群配置:可以列出和切换多个 Kubernetes 集群配置。
  • 上下文访问控制:支持指定允许访问的 Kubernetes 上下文,增强安全性。
  • 环境变量灵活配置:通过设置 KUBECONFIG 环境变量,可以灵活指定 Kubernetes 配置文件路径。
  • 命令行选项限制:提供 --allowed-contexts 选项,限制用户可访问的 Kubernetes 上下文范围。

📦 安装指南

使用预构建二进制文件

通过 npm 安装

npm install -g @strowk/mcp-k8s

然后检查版本是否正确输出:

mcp-k8s --version

claude_desktop_config.json 中添加以下配置:

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

通过 GitHub 发布版本

GitHub 发布页面 下载对应平台的最新版本,解压后将可执行文件添加到 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 系统中,可能需要将路径调整为类似 //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"
      ]
    }
  }
}

📚 详细文档

环境变量

| 属性 | 详情 | |------|------| | KUBECONFIG | 指定 Kubernetes 配置文件路径(可选,默认为 ~/.kube/config) |

命令行选项

| 属性 | 详情 | |------|------| | --allowed-contexts=<ctx1,ctx2,...> | 逗号分隔的允许访问的 Kubernetes 上下文列表。如果不指定,则所有上下文均可访问。 | | --help | 显示帮助信息 | | --version | 显示版本信息 |

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端