MCP K8s Go

MCP K8s Go 是一个基于 Golang 的 MCP 服务器,用于连接 Kubernetes 集群,提供资源查询和操作功能。支持多集群配置、上下文访问控制、环境变量配置和命令行选项限制,适用于开发人员和运维工程师快速管理 Kubernetes 资源。

51 浏览
2025-12-26 发布

详细介绍

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 资源管理提供了便捷的解决方案,适用于各类开发和运维场景。

kubernetes mcp golang 资源管理 命令行工具

相关服务推荐

查看更多