Mcp K8s Go

Mcp K8s Go

🚀 基于 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//.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= 逗号分隔的允许访问的 Kubernetes 上下文列表。如果不指定,则所有上下文均可访问。
--help 显示帮助信息
--version 显示版本信息
  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-09-18 09:18

相似服务问题

相关AI产品