详细介绍
MCP K8s Go 是一个基于 Golang 实现的 MCP 服务器,旨在连接 Kubernetes 集群并提供资源查询与操作功能。该工具支持多集群配置、上下文访问控制、环境变量灵活配置以及命令行选项限制,适用于需要快速访问和管理 Kubernetes 资源的开发人员和运维工程师。
核心功能
MCP K8s Go 提供了多种核心功能,帮助用户高效管理 Kubernetes 资源:
- 列出 Kubernetes 上下文:展示当前可用的 Kubernetes 上下文列表。
- 列出 Kubernetes 命名空间:显示 Kubernetes 集群中的所有命名空间。
- 列出和获取 Kubernetes 资源:支持列出和获取任意 Kubernetes 资源,例如 Pod、Service、Deployment 等。
- 列出 Kubernetes 节点:展示集群中的所有节点信息。
- 检查 Pod 日志:搜索特定 Pod 的日志,支持关键词过滤。
- 在 Pod 中运行命令:直接在 Pod 内部执行命令并返回结果。
安装方法
MCP K8s Go 提供了多种安装方式,包括通过 npm、GitHub 发布版本、源码编译和 Docker 安装。
通过 npm 安装
npm install -g @strowk/mcp-k8s通过 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通过 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使用方法
MCP K8s Go 提供了多种使用方式,包括命令行操作和自然语言查询。
列出所有 Kubernetes 上下文
mcp-k8s list contexts获取指定命名空间中的 Pod 列表
mcp-k8s get pods -n kube-system检查 Pod 日志
检查 kube-system 命名空间中的 Pod 日志是否有错误在 Pod 中运行命令
在指定 Pod 中运行命令并返回结果配置说明
MCP K8s Go 支持通过环境变量和命令行选项进行灵活配置。
环境变量
属性详情KUBECONFIG指定 Kubernetes 配置文件路径(可选,默认为 ~/.kube/config)命令行选项
属性详情--allowed-c Kubernetes 上下文列表。如果不指定,则所有上下文均可访问。--help显示帮助信息--version显示版本信息使用场景
MCP K8s Go 适用于以下场景:
- 开发人员需要快速查询 Kubernetes 资源信息。
- 运维工程师需要通过自然语言操作 Kubernetes 集群。
- 团队需要统一的 MCP 服务器来管理多个 Kubernetes 集群。
注意事项
使用 MCP K8s Go 时需要注意以下事项:
- 依赖本地 Kubernetes 配置文件。
- 高级功能可能需要一定的技术背景。
- 目前仅支持单集群管理,未来版本可能会扩展支持多集群。
MCP K8s Go 通过自然语言查询和命令行操作,为 Kubernetes 资源管理提供了便捷的解决方案,适用于各类开发和运维场景。