← 返回公开榜单
ku

containers/kubernetes-mcp-server

Model Context Protocol (MCP) server for Kubernetes and OpenShift

本周新增
96 星
近 3 周倍数
—
距上次推送
239 天
距上次发布
253 天
许可证
Apache-2.0

星标增长

每根柱子是这个周期记录下来的 star 增长:优先取逐个 stargazer 到达时间分桶的到达数,还没被 stargazer 扫描覆盖的仓库改用该周期的 star 净增;两个写者都没记录的周期画成虚线空档,而不是当成 0。柱高按各自窗口的峰值归一,两张图不共用坐标轴。指向任意一根柱子, tooltip 里是该周期的九项指标:当前值与周期内的净增。

指向或点击一根柱子,看当天的九项指标。

12/1712/301/111/242/62/193/33/16

2025 年 12 月 18 日 新增 34 个星标; 2025 年 12 月 21 日 新增 14 个星标; 2026 年 1 月 4 日 新增 40 个星标; 2026 年 1 月 6 日 新增 14 个星标; 2026 年 1 月 8 日 新增 15 个星标; 2026 年 1 月 12 日 新增 17 个星标; 2026 年 1 月 15 日 新增 14 个星标; 2026 年 1 月 18 日 新增 11 个星标; 2026 年 1 月 25 日 新增 28 个星标; 2026 年 2 月 1 日 新增 43 个星标; 2026 年 2 月 2 日 新增 8 个星标; 2026 年 2 月 8 日 新增 33 个星标; 2026 年 2 月 9 日 新增 5 个星标; 2026 年 2 月 11 日 新增 11 个星标; 2026 年 2 月 13 日 新增 6 个星标; 2026 年 2 月 14 日 新增 7 个星标; 2026 年 2 月 16 日 新增 4 个星标; 2026 年 2 月 17 日 新增 3 个星标; 2026 年 2 月 21 日 新增 29 个星标; 2026 年 3 月 16 日 新增 96 个星标

窗口内最高的一天是 2026 年 3 月 16 日,新增 96 个星标。

证据时间轴

  1. 第 2026 年第 12 周发布 1 次

    累计 58 个 release

  2. 第 2026 年第 5 周发布 1 次

    累计 57 个 release

  3. 第 2026 年第 1 周发布 1 次

    累计 56 个 release

README
该仓库存储的文档,若已生成中文翻译则一并显示

Kubernetes MCP Server

GitHub License npm PyPI - Version GitHub release (latest SemVer) Build

✨ Features | 🚀 Getting Started | 🎥 Demos | ⚙️ Configuration | 🛠️ Tools | 🧑‍💻 Development

https://github.com/user-attachments/assets/be2b67b3-fc1c-4d11-ae46-93deba8ed98e

✨ Features

一个强大且灵活的 Kubernetes 模型上下文协议 (MCP) 服务器实现,支持 Kubernetes 和 OpenShift。

  • ✅ 配置:
    • 自动检测 Kubernetes 配置的变化并更新 MCP 服务器。
    • 查看和管理当前的 Kubernetes .kube/config 或集群内配置。
  • ✅ 通用 Kubernetes 资源: 对 任何 Kubernetes 或 OpenShift 资源执行操作。
    • 任何 CRUD 操作(创建或更新、获取、列出、删除)。
  • ✅ Pods: 执行 Pod 特定操作。
    • 列出所有命名空间中的 Pod 或特定命名空间中的 Pod。
    • 获取指定命名空间中按名称的 Pod。
    • 删除指定命名空间中按名称的 Pod。
    • 显示指定命名空间中按名称的 Pod 日志。
    • Top 获取指定命名空间中所有 Pod 或特定 Pod 的资源使用指标。
    • Exec 进入 Pod 并运行命令。
    • 运行 Pod 中的容器镜像,并可选择暴露。
  • ✅ Namespaces: 列出 Kubernetes 命名空间。
  • ✅ Events: 查看所有命名空间或特定命名空间中的 Kubernetes 事件。
  • ✅ Projects: 列出 OpenShift 项目。
  • ☸️ Helm:
    • 在当前或提供的命名空间中安装 Helm 图表。
    • 列出所有命名空间或特定命名空间中的 Helm 发布。
    • 在当前或提供的命名空间中卸载 Helm 发布。

与其他 Kubernetes MCP 服务器实现不同,这个 不是 仅围绕 kubectl 或 helm 命令行工具的包装。 它是一个基于 Go 的原生实现,直接与 Kubernetes API 服务器交互。

无需在系统上安装外部依赖项或工具。 如果您使用的是原生二进制文件,则无需在系统上安装 Node 或 Python。

  • ✅ 轻量级: 服务器作为一个原生二进制文件分发,支持 Linux、macOS 和 Windows。
  • ✅ 高性能 / 低延迟: 直接与 Kubernetes API 服务器交互,无需调用和等待外部命令的开销。
  • ✅ 跨平台: 可作为原生二进制文件(支持 Linux、macOS 和 Windows)、npm 包、Python 包以及容器/Docker 镜像提供。
  • ✅ 可配置: 支持 命令行参数 来配置服务器行为。
  • ✅ 经过充分测试: 服务器具有广泛的测试套件,以确保其在不同的 Kubernetes 环境中的可靠性和正确性。

🚀 Getting Started

要求

  • 可以访问 Kubernetes 集群。

Claude Desktop

使用 npx

如果您已安装 npm,这是开始使用 kubernetes-mcp-server 在 Claude Desktop 上最快的办法。

打开您的 claude_desktop_config.json 并将 MCP 服务器添加到 mcpServers 列表中:

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": [
        "-y",
        "kubernetes-mcp-server@latest"
      ]
    }
  }
}

VS Code / VS Code Insiders

通过按下以下链接在 VS Code Insiders 中安装 Kubernetes MCP 服务器扩展:

Install in VS Code Install in VS Code Insiders

或者,您可以通过运行以下命令手动安装扩展:

# For VS Code
code --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'

Goose CLI

Goose CLI 是开始使用人工智能 (AI) 代理最容易(且最便宜)的方式。

使用 npm

如果您已安装 npm,这是开始使用 kubernetes-mcp-server 最快的方式。

打开您的 goose config.yaml 并将 MCP 服务器添加到 mcpServers 列表中:

extensions:
  kubernetes:
    command: npx
    args:
      - -y
      - kubernetes-mcp-server@latest

🎥 Demos

诊断和自动修复 OpenShift 部署

演示如何利用 Kubernetes MCP 服务器帮助 Claude Desktop 自动诊断和修复 OpenShift 中的部署,无需任何用户协助。

https://github.com/user-attachments/assets/a576176d-a142-4c19-b9aa-a83dc4b8d941

Vibe Coding 一个简单的游戏并将其部署到 OpenShift

在这个演示中,我将带您了解如何使用 VS Code 进行 Vibe Coding 来创建一个简单的游戏,以及如何利用 Podman MCP 服务器 和 Kubernetes MCP 服务器将其部署到 OpenShift。

Vibe Coding: Build & Deploy a Game on Kubernetes

Supercharge GitHub Copilot with Kubernetes MCP Server in VS Code - One-Click Setup!

在这个演示中,我将向您展示如何只需点击一个链接即可在 VS code 中设置 Kubernetes MCP 服务器。

Supercharge GitHub Copilot with Kubernetes MCP Server in VS Code - One-Click Setup!

⚙️ Configuration

Kubernetes MCP 服务器可以使用命令行 (CLI) 参数进行配置。

您可以通过使用 npx、uvx 或下载 最新发布二进制文件 来运行 CLI 可执行文件。

# 使用 npx 运行 Kubernetes MCP 服务器(如果您已安装 npm 和 node)
npx kubernetes-mcp-server@latest --help
# 使用 uvx 运行 Kubernetes MCP 服务器(如果您已安装 uv 和 python)
uvx kubernetes-mcp-server@latest --help
# 使用最新发布二进制文件运行 Kubernetes MCP 服务器
./kubernetes-mcp-server --help

配置选项

选项描述
--http-port以 Streamable HTTP 模式启动 MCP 服务器并监听指定端口(路径 /mcp)。已弃用:请使用 --port。
--sse-port以 Server-Sent Event (SSE) 模式启动 MCP 服务器并监听指定端口(路径 /sse)。已弃用:请使用 --port。
--log-level设置日志级别(值 0-9)。类似于 kubectl 日志级别。
--kubeconfigKubernetes 配置文件的路径。如果未提供,它将尝试解析配置(集群内、默认位置等)。
--list-output资源列表操作的输出格式(之一:yaml、table)(默认 "table")
--read-only如果设置,MCP 服务器将以只读模式运行,这意味着它将不允许对 Kubernetes 集群进行任何写入操作(创建、更新、删除)。这对于调试或检查集群而不进行更改非常有用。
--disable-destructive如果设置,MCP 服务器将禁用 Kubernetes 集群上的所有破坏性操作(删除、更新等)。这对于调试或检查集群而不会意外更改非常有用。此选项在 --read-only 使用时无效。

🛠️ Tools

configuration_view

获取当前的 Kubernetes 配置内容作为 kubeconfig YAML

参数:

  • minified (boolean, 可选, 默认: true)
    • 返回配置的精简版本
    • 如果 true,仅保留当前上下文和相关配置部分
    • 如果 false,返回所有上下文、集群、auth-infos 和用户

events_list

列出当前集群中所有命名空间中的 Kubernetes 事件

参数:

  • namespace (string, 可选)
    • 从其中检索事件的命名空间。如果未提供,将列出所有命名空间中的事件

helm_install

在当前或提供的命名空间中安装提供的名称和图表的 Helm 图表

参数:

  • chart (string, 必填)
    • 要安装的 Helm 图表的名称
    • 可以是本地路径或远程 URL
    • 示例:./my-chart.tgz 或 https://example.com/my-chart.tgz
  • values (object, 可选)
    • 传递给 Helm 图表的值
    • 示例:{"key": "value"}
  • name (string, 可选)
    • Helm 发布的名称
    • 如果未提供,将随机命名
  • namespace (string, 可选)
    • 安装 Helm 图表的命名空间
    • 如果未提供,将使用配置的命名空间

helm_list

列出当前或提供的命名空间(或指定所有命名空间)中的所有 Helm 发布

参数:

  • namespace (string, 可选)
    • 从其中列出 Helm 发布的命名空间
    • 如果未提供,将使用配置的命名空间
  • all_namespaces (boolean, 可选)
    • 如果 true,将列出所有命名空间中的 Helm 发布
    • 如果 false,将列出指定命名空间中的 Helm 发布

helm_uninstall

在当前或提供的命名空间中卸载提供的名称的 Helm 发布

参数:

  • name (string, 必填)
    • 要卸载的 Helm 发布的名称
  • namespace (string, 可选)
    • 从其中卸载 Helm 发布的命名空间
    • 如果未提供,将使用配置的命名空间

namespaces_list

列出当前集群中的所有 Kubernetes 命名空间

参数: 无

pods_delete

在当前或提供的命名空间中删除提供的名称的 Kubernetes Pod

参数:

  • name (string, 必填)
    • 要删除的 Pod 的名称
  • namespace (string, 必填)
    • 从其中删除 Pod 的命名空间

pods_exec

在当前或提供的命名空间中按提供的名称和命令执行 Kubernetes Pod 中的命令

参数:

  • command (string[], 必填)
    • 在 Pod 容器中执行的命令
    • 第一个元素是命令,其余是参数
    • 示例:["ls", "-l", "/tmp"]
  • name (string, 必填)
    • Pod 的名称
  • namespace (string, 必填)
    • Pod 的命名空间
  • container (string, 可选)
    • 要获取日志的 Pod 容器的名称

pods_get

获取当前或提供的命名空间中按提供的名称的 Kubernetes Pod

参数:

  • name (string, 必填)
    • Pod 的名称
  • namespace (string, 必填)
    • 从其中获取 Pod 的命名空间

pods_list

列出当前集群中所有命名空间的所有 Kubernetes Pod

参数:

  • labelSelector (string, 可选)
    • Kubernetes 标签选择器(例如 'app=myapp,env=prod' 或 'app in (myapp,yourapp))。使用此选项按标签过滤 Pod

pods_list_in_namespace

列出当前集群中指定命名空间的所有 Kubernetes Pod

参数:

  • namespace (string, 必填)
    • 从其中列出 Pod 的命名空间
  • labelSelector (string, 可选)
    • Kubernetes 标签选择器(例如 'app=myapp,env=prod' 或 'app in (myapp,yourapp))。使用此选项按标签过滤 Pod

pods_log

获取当前或提供的命名空间中按提供的名称的 Kubernetes Pod 的日志

参数:

  • name (string, 必填)
    • 要获取日志的 Pod 的名称
  • namespace (string, 必填)
    • 从其中获取 Pod 日志的命名空间
  • container (string, 可选)
    • 要获取日志的 Pod 容器的名称

pods_run

在当前或提供的命名空间中按提供的容器镜像和可选名称运行 Kubernetes Pod

参数:

  • image (string, 必填)
    • 在 Pod 中运行的容器镜像
  • namespace (string, 必填)
    • 运行 Pod 的命名空间
  • name (string, 可选)
    • Pod 的名称(如果未提供,将随机命名)
  • port (number, 可选)
    • 从 Pod 容器暴露的 TCP/IP 端口
    • 如果未提供,则不暴露端口

pods_top

列出指定 Kubernetes Pod 在所有命名空间、提供的命名空间或当前命名空间中的资源消耗(CPU 和内存),这些资源消耗由 Kubernetes Metrics Server 记录

参数:

  • all_namespaces (boolean, 可选, 默认: true)
    • 如果 true,将列出所有命名空间中 Pod 的资源消耗
    • 如果 false,将列出指定命名空间中 Pod 的资源消耗
  • namespace (string, 可选)
    • 从其中列出 Pod 资源的命名空间
    • 如果未提供,将列出配置命名空间(如果 all_namespaces 为 false)中的 Pod
  • name (string, 可选)
    • 要获取资源消耗的 Pod 的名称
    • 如果未提供,将列出适用命名空间(中的)所有 Pod 的资源消耗
  • label_selector (string, 可选)
    • Kubernetes 标签选择器(例如 'app=myapp,env=prod' 或 'app in (myapp,yourapp)),当您想按标签过滤 Pod 时使用此选项(可选,仅在 name 未提供时适用)

projects_list

列出当前集群中的所有 OpenShift 项目

resources_create_or_update

通过提供 Kubernetes 资源的 YAML 或 JSON 表示来创建或更新当前集群中的 Kubernetes 资源

参数:

  • resource (string, 必填)
    • 包含 Kubernetes 资源表示的 JSON 或 YAML
    • 应包括顶级字段,如 apiVersion、kind、metadata 和 spec

常见的 apiVersion 和 kind 包括:

  • v1 Pod
  • v1 Service
  • v1 Node
  • apps/v1 Deployment
  • networking.k8s.io/v1 Ingress

resources_delete

删除当前集群中的 Kubernetes 资源

参数:

  • apiVersion (string, 必填)
    • 资源的 apiVersion(例如,v1、apps/v1、networking.k8s.io/v1)
  • kind (string, 必填)
    • 资源的 kind(例如,Pod、Service、Deployment、Ingress)
  • name (string, 必填)
    • 资源的名称
  • namespace (string, 可选)
    • 从其中删除命名空间资源的命名空间
    • 忽略集群范围资源
    • 如果未提供,将使用配置的命名空间

resources_get

获取当前集群中的 Kubernetes 资源

参数:

  • apiVersion (string, 必填)
    • 资源的 apiVersion(例如,v1、apps/v1、networking.k8s.io/v1)
  • kind (string, 必填)
    • 资源的 kind(例如,Pod、Service、Deployment、Ingress)
  • name (string, 必填)
    • 资源的名称
  • namespace (string, 可选)
    • 从其中检索命名空间资源的命名空间
    • 忽略集群范围资源
    • 如果未提供,将使用配置的命名空间(如果 all_namespaces 为 false)
  • labelSelector (string, 可选)
    • Kubernetes 标签选择器(例如 'app=myapp,env=prod' 或 'app in (myapp,yourapp))。使用此选项按标签过滤 Pod。

resources_list

列出当前集群中的 Kubernetes 资源和对象

参数:

  • apiVersion (string, 必填)
    • 资源的 apiVersion(例如,v1、apps/v1、networking.k8s.io/v1)
  • kind (string, 必填)
    • 资源的 kind(例如,Pod、Service、Deployment、Ingress)
  • namespace (string, 可选)
    • 从其中检索命名空间资源的命名空间
    • 忽略集群范围资源
    • 如果未提供,将列出所有命名空间中的资源
  • labelSelector (string, 可选)
    • Kubernetes 标签选择器(例如 'app=myapp,env=prod' 或 'app in (myapp,yourapp))。使用此选项按标签过滤 Pod。

🧑‍💻 Development

使用 mcp-inspector 运行

编译项目并使用 mcp-inspector 运行 Kubernetes MCP 服务器以检查 MCP 服务器。

# 编译项目
make build
# 使用 mcp-inspector 运行 Kubernetes MCP 服务器
npx @modelcontextprotocol/inspector@latest $(pwd)/kubernetes-mcp-server

页面上的每个数字都来自记录下来的 stargazer 到达时间,没有评分公式,也没有 AI 判定。 任何结论都可以用 /api/v1/repos/{id}/stats 里的原始增量自己重算。