Token导航 LogoToken导航TokenDH.com
MCP K8s logo
运维云端stdio官方级别未说明来源级核验

MCP K8s

MCP Server

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

工具数

0

提示词数

0

GitHub Stars

145

资源数

0
Kubernetes管理自动化运维Go

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

silenceper

提供方

silenceper

最后核验

2026/5/18 02:19

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

mcp-k8s -kubeconfig /Users/demo/.kube/config -enable-create -enable-delete -enable-update {}

详细介绍

mcp-k8s

](https://github.com/silenceper/mcp-k8s/blob/main/go.mod) ![License](https://github.com/silenceper/mcp-k8s/blob/main/LICENSE) ![Latest Release](https://github.com/silenceper/mcp-k8s/releases) ![Go Report Card](https://goreportcard.com/report/github.com/silenceper/mcp-k8s) ![Go CI](https://github.com/silenceper/mcp-k8s/actions/workflows/go-ci.yml) ![PRs Welcome](https://github.com/silenceper/mcp-k8s/pulls)

Kubernetes MCP(模型控制协议)服务器,通过MCP工具实现与Kubernetes集群的交互。

特性

  • 查询支持的Kubernetes资源类型(内置资源和CRD)
  • 具有细粒度控制的Kubernetes资源操作

- 读取操作:获取资源详细信息,按类型列出具有过滤选项的资源 - 写入操作:创建、更新和删除资源(每个都可以独立启用/禁用) - 支持所有Kubernetes资源类型,包括自定义资源

  • 使用kubeconfig连接到Kubernetes集群
  • Helm支持细粒度控制

- Helm发布管理(列表、获取、安装、升级、卸载) - Helm存储库管理(列表、添加、删除) - 每个操作都可以独立启用/禁用

预览

通过光标进行交互

![](./docs/create-deployment.png)

用例

1.通过LLM进行Kubernetes资源管理

  • 交互式资源管理:通过与LLM的自然语言交互来管理Kubernetes资源,无需记住复杂的kubectl命令
  • 批量操作:用自然语言描述复杂的批处理操作要求,让LLM将其转化为特定的资源操作
  • 资源状态查询:使用自然语言查询集群资源状态,并接收易于理解的响应

2.自动化操作场景

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

3.开发和测试支持

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

4.教育和培训方案

  • 互动学习:新手可以通过自然语言交互学习Kubernetes的概念和操作
  • 最佳实践指南:法学硕士在资源运营期间提供最佳实践建议
  • 错误解释:在操作失败时提供易于理解的错误解释和纠正建议

建筑

1.工程概况

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

  • 查询Kubernetes资源类型(包括内置资源和CRD)
  • Kubernetes资源上的CRUD操作(具有可配置的写入操作)
  • Helm操作用于发布和存储库管理

2.技术栈

  • mcp走 软件开发工具包
  • Kubernetes客户端go库
  • Helm v3客户端库
  • 通信标准

3.核心部件

  1. MCP服务器:使用mcp-go mcp-k8s 用于创建基于stdio的MCP服务器的包
  2. K8s客户端:使用客户端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 chart(可以禁用)
  • upgrade_helm_chart:升级Helm版本(可以禁用)
  • uninstall_helm_chart:卸载Helm版本(可以禁用)
  • list_helm_repositories:列出已配置的Helm存储库
  • add_helm_repository:添加新的Helm存储库(可以禁用)
  • remove_helm_repository:删除Helm存储库(可以禁用)

用法

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

1.标准模式(默认)

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

# Run in stdio mode (default)
{
    "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端点。 您可以在远程服务器上部署该服务(但需要注意安全性)

# Run in SSE mode
./bin/mcp-k8s --kubeconfig=/path/to/kubeconfig --transport=sse --port=8080 --host=localhost --enable-create --enable-delete --enable-list --enable-update --enable-helm-install
# This command will open all operations

mcp配置

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

SSE模式配置:

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

3.流式HTTP模式

在Streamable HTTP模式下,mcp-k8s公开了一个支持直接HTTP响应和SSE流的HTTP端点。此模式提供了更好的灵活性,并支持流式输出。

# Run in Streamable HTTP mode
./bin/mcp-k8s --kubeconfig=/path/to/kubeconfig --transport=streamable-http --port=8080 --host=localhost --endpoint-path=/mcp --enable-create --enable-delete --enable-list --enable-update --enable-helm-install

mcp配置

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

流式HTTP模式配置:

  • --transport:设置为“streamable http”以启用streamable http模式
  • --port:HTTP服务器端口(默认值:8080)
  • --host:HTTP服务器主机(默认:“localhost”)
  • --endpoint-path:MCP服务器的端点路径(默认值:“/MCP”)

4.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

流式HTTP模式

docker run --rm -p 8080:8080 -i -v ~/.kube/config:/root/.kube/config ghcr.io/silenceper/mcp-k8s:latest --transport=streamable-http --endpoint-path=/mcp

stdio模式

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

入门指南

直接使用

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

去安装

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

构建

使用Makefile(推荐)

Makefile会自动从version文件中注入版本信息:

git clone https://github.com/silenceper/mcp-k8s.git
cd mcp-k8s
make build

这将使用通过ldflags注入的版本信息构建。

直接构建

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

注意:直接构建将显示版本为“dev”,除非您手动指定ldflags。

命令行参数

你可以使用 mcp-k8s --help 查看所有可用选项,或 mcp-k8s --version 检查版本。

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 release-get操作(默认值:true)
  • --enable-helm-install:启用Helm chart安装(默认值:false)
  • --enable-helm-upgrade:启用Helm chart升级(默认值:false)
  • --enable-helm-uninstall:启用Helm chart卸载(默认值:false)
  • --enable-helm-repo-list:启用Helm存储库列表操作(默认值:true)
  • --enable-helm-repo-add:启用Helm存储库添加操作(默认值:false)
  • --enable-helm-repo-remove:启用Helm存储库删除操作(默认值:false)

传输配置

  • --transport:传输类型(stdio、sse或可流式传输的http)(默认值:“stdio”)
  • --host:HTTP传输主机(SSE或流式HTTP)(默认:“localhost”)
  • --port:用于HTTP传输的TCP端口(SSE或流式HTTP)(默认值:8080)
  • --endpoint-path:可流式HTTP传输的端点路径(默认值:“/mcp”)

版本信息

  • --version:显示版本信息,包括版本、提交哈希和生成日期
  • --help-h:显示帮助信息

测试流式HTTP

要测试Streamable HTTP模式是否正常工作,您可以使用提供的测试脚本:

# Start the server in one terminal
./bin/mcp-k8s --transport=streamable-http --port=8080 --enable-list

# In another terminal, run the test script
./test_streamable_http.sh

有关详细的测试说明,请参阅 TEST_REAMALE_HTTP.md.

与MCP客户端集成

mcp-k8s是一个基于stdio的mcp服务器,可以与任何兼容mcp的LLM客户端集成。有关集成说明,请参阅MCP客户的文档。

安全考虑

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

关注微信公众号

AI技术小林

目录标签

目录标签

Kubernetes管理自动化运维Godeveloper-toolskubernetesmcpdebugmcp-server混合部署MCP协议Helm操作LLM交互

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP