Back to MCP directory
publicPublicdnsLocal runtime

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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client