← 返回公开榜单
mc

silenceper/mcp-k8s

A Kubernetes MCP (Model Control Protocol) server that enables interaction with Kubernetes clusters through MCP tools.

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

星标增长

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

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

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

2025 年 12 月 18 日 新增 1 个星标; 2025 年 12 月 21 日 新增 0 个星标; 2025 年 12 月 24 日 新增 1 个星标; 2025 年 12 月 25 日 新增 0 个星标; 2026 年 1 月 2 日 新增 0 个星标; 2026 年 1 月 4 日 新增 1 个星标; 2026 年 1 月 6 日 新增 0 个星标; 2026 年 1 月 8 日 新增 3 个星标; 2026 年 1 月 9 日 新增 0 个星标; 2026 年 1 月 12 日 新增 0 个星标; 2026 年 1 月 13 日 新增 0 个星标; 2026 年 1 月 15 日 新增 0 个星标; 2026 年 1 月 18 日 新增 1 个星标; 2026 年 1 月 25 日 新增 1 个星标; 2026 年 1 月 26 日 新增 1 个星标; 2026 年 1 月 29 日 新增 0 个星标; 2026 年 2 月 1 日 新增 1 个星标; 2026 年 2 月 2 日 新增 0 个星标; 2026 年 2 月 8 日 新增 0 个星标; 2026 年 2 月 9 日 新增 0 个星标; 2026 年 2 月 11 日 新增 1 个星标; 2026 年 2 月 13 日 新增 0 个星标; 2026 年 2 月 14 日 新增 0 个星标; 2026 年 2 月 16 日 新增 0 个星标; 2026 年 2 月 17 日 新增 0 个星标; 2026 年 2 月 21 日 新增 1 个星标; 2026 年 3 月 16 日 新增 2 个星标

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

证据时间轴

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

    累计 8 个 release

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

mcp-k8s

Go Version License Latest Release Go Report Card Go CI PRs Welcome

一个 Kubernetes MCP(模型控制协议)服务器,可通过 MCP 工具与 Kubernetes 集群进行交互。

功能

  • 查询支持的 Kubernetes 资源类型(内置资源和 CRDs)
  • 具有细粒度控制的 Kubernetes 资源操作
    • 读取操作:获取资源详情,按类型列出资源并支持过滤选项
    • 写入操作:创建、更新和删除资源(每个操作均可独立启用/禁用)
    • 支持所有 Kubernetes 资源类型,包括自定义资源
  • 使用 kubeconfig 连接 Kubernetes 集群
  • 支持 Helm 并具有细粒度控制
    • Helm 发布管理(列出、获取、安装、升级、卸载)
    • Helm 仓库管理(列出、添加、删除)
    • 每个操作均可独立启用/禁用

预览

通过光标交互

应用场景

1. 通过 LLM 管理 Kubernetes 资源

  • 交互式资源管理:通过自然语言与 LLM 交互管理 Kubernetes 资源,无需记忆复杂的 kubectl 命令
  • 批量操作:用自然语言描述复杂的批量操作需求,让 LLM 将其转换为具体的资源操作
  • 资源状态查询:使用自然语言查询集群资源状态,并获取易于理解的响应

2. 自动化操作场景

  • 智能操作助手:作为日常集群管理任务的智能助手
  • 问题诊断:通过自然语言问题描述协助进行集群问题诊断
  • 配置审查:利用 LLM 的理解能力帮助审查和优化 Kubernetes 资源配置

3. 开发和测试支持

  • 快速原型验证:开发者可通过自然语言快速创建和验证资源配置
  • 环境管理:简化测试环境资源管理,快速创建、修改和清理测试资源
  • 配置生成:根据需求描述自动生成符合最佳实践的资源配置

4. 教育和培训场景

  • 交互式学习:新人可通过自然语言交互学习 Kubernetes 概念和操作
  • 最佳实践指导:在资源操作过程中,LLM 提供最佳实践建议
  • 错误解释:操作失败时提供易于理解的错误解释和修正建议

架构

1. 项目概述

一个基于 stdio 的 MCP 服务器,连接 Kubernetes 集群并提供以下功能:

  • 查询 Kubernetes 资源类型(包括内置资源和 CRDs)
  • Kubernetes 资源的 CRUD 操作(可配置写入操作)
  • Helm 发布和仓库管理的操作

2. 技术栈

  • Go
  • mcp-go SDK
  • Kubernetes client-go 库
  • Helm v3 客户端库
  • Stdio 用于通信

3. 核心组件

  1. MCP 服务器:使用 mcp-go 的 mcp-k8s 包创建基于 stdio 的 MCP 服务器
  2. K8s 客户端:使用 client-go 连接 Kubernetes 集群
  3. Helm 客户端:使用 Helm v3 库进行 Helm 操作
  4. 工具实现:为不同的 Kubernetes 操作实现各种 MCP 工具

4. 可用工具

资源类型查询工具

  • get_api_resources:获取集群中所有支持的 API 资源类型

资源操作工具

  • get_resource:获取特定资源的详细信息
  • list_resources:列出特定资源类型的所有实例
  • create_resource:创建新资源(可禁用)
  • update_resource:更新现有资源(可禁用)
  • delete_resource:删除资源(可禁用)

Helm 操作工具

  • list_helm_releases:列出集群中的所有 Helm 发布
  • get_helm_release:获取特定 Helm 发布的详细信息
  • install_helm_chart:安装 Helm 图表(可禁用)
  • upgrade_helm_chart:升级 Helm 发布(可禁用)
  • uninstall_helm_chart:卸载 Helm 发布(可禁用)
  • list_helm_repositories:列出配置的 Helm 仓库
  • add_helm_repository:添加新的 Helm 仓库(可禁用)
  • remove_helm_repository:删除 Helm 仓库(可禁用)

使用方法

mcp-k8s 支持两种通信模式:

1. Stdio 模式(默认)

在 stdio 模式下,mcp-k8s 通过标准输入/输出流与客户端通信。这是默认模式,适用于大多数场景。

# 以 stdio 模式运行(默认)
{
    "mcpServers":
    {
        "mcp-k8s":
        {
            "command": "/path/to/mcp-k8s",
            "args":
            [
                "-kubeconfig",
                "/path/to/kubeconfig",
                "-enable-create",
                "-enable-delete",
                "-enable-update",
                "-enable-list",
                "-enable-helm-install",
                "-enable-helm-upgrade"
            ]
        }
    }
}

2. SSE 模式

在 SSE(服务器发送事件)模式下,mcp-k8s 为 mcp 客户端暴露一个 HTTP 端点。 您可以将服务部署在远程服务器上(但需注意安全性)

# 以 SSE 模式运行
./bin/mcp-k8s -kubeconfig=/path/to/kubeconfig -transport=sse -port=8080 -host=localhost -enable-create -enable-delete -enable-list -enable-update -enable-helm-install
# 该命令将启用所有操作

mcp 配置

{
  "mcpServers": {
    "mcp-k8s": {
      "url": "http://localhost:8080/sse",
      "args": []
    }
  }
}

SSE 模式配置:

  • -transport:设置为 "sse" 以启用 SSE 模式
  • -port:HTTP 服务器端口(默认:8080)
  • --host:HTTP 服务器主机(默认 "localhost")

3. Docker 环境

SSE 模式

  1. 完整示例 假设您的镜像名称为 mcp-k8s,需要映射端口并设置环境参数,可以运行:
docker run --rm -p 8080:8080 -i -v ~/.kube/config:/root/.kube/config ghcr.io/silenceper/mcp-k8s:latest -transport=sse

Stdio 模式

{
  "mcpServers": {
    "mcp-k8s": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "-v",
        "~/.kube/config:/root/.kube/config",
        "--rm",
        "ghcr.io/silenceper/mcp-k8s:latest"
      ]
    }
  }
}

入门指南

直接使用

您可以直接从 发布页面 下载适用于您平台的二进制文件并立即使用。

Go 安装

go install github.com/silenceper/mcp-k8s/cmd/mcp-k8s@latest

构建

git clone https://github.com/silenceper/mcp-k8s.git
cd mcp-k8s
go build -o bin/mcp-k8s cmd/mcp-k8s/main.go

命令行参数

Kubernetes 资源操作

  • -kubeconfig:Kubernetes 配置文件路径(未指定时使用默认配置)
  • -enable-create:启用资源创建操作(默认:false)
  • -enable-update:启用资源更新操作(默认:false)
  • -enable-delete:启用资源删除操作(默认:false)
  • -enable-list:启用资源列表操作(默认:true)

Helm 操作

  • -enable-helm-release-list:启用 Helm 发布列表操作(默认:true)
  • -enable-helm-release-get:启用 Helm 发布获取操作(默认:true)
  • -enable-helm-install:启用 Helm 图表安装(默认:false)
  • -enable-helm-upgrade:启用 Helm 图表升级(默认:false)
  • -enable-helm-uninstall:启用 Helm 图表卸载(默认:false)
  • -enable-helm-repo-list:启用 Helm 仓库列表操作(默认:true)
  • -enable-helm-repo-add:启用 Helm 仓库添加操作(默认:false)
  • -enable-helm-repo-remove:启用 Helm 仓库删除操作(默认:false)

传输配置

  • -transport:传输类型(stdio 或 sse)(默认:"stdio")
  • -host:SSE 传输的主机(默认 "localhost")
  • -port:SSE 传输的 TCP 端口(默认 8080)

与 MCP 客户端的集成

mcp-k8s 是一个基于 stdio 的 MCP 服务器,可以与任何兼容 MCP 的 LLM 客户端集成。请参考您的 MCP 客户端的文档进行集成。

安全注意事项

  • 通过独立的配置开关严格控制写入操作
  • 使用 RBAC 确保 Kubernetes 客户端仅拥有必要的权限
  • 验证所有用户输入以防止注入攻击
  • Helm 操作遵循相同的安全原则,默认启用读取操作,默认禁用写入操作

关注微信公众号

AI技术小林

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