Token导航 LogoToken导航TokenDH.com
Kubernetes MCP (Kkb0318) logo
运维云端HTTP官方级别未说明来源级核验

Kubernetes MCP (Kkb0318)

MCP Server

一个提供Kubernetes资源安全只读访问的MCP服务器,用于调试和检查集群状态,支持多集群和CRD。

工具数

0

提示词数

0

GitHub Stars

45

资源数

0
只读访问Go云端部署

安装说明

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

作者 / 组织

kkb0318

提供方

kkb0318

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

Kubernetes MCP服务器

![tests](https://github.com/kkb0318/kubernetes-mcp/actions/workflows/test.yml) ![codecov](https://codecov.io/gh/kkb0318/kubernetes-mcp) ![License: MIT](https://opensource.org/licenses/MIT)

https://github.com/user-attachments/assets/89df70b0-65d1-461c-b4ab-84b2087136fa

一个模型上下文协议(MCP)服务器,提供对Kubernetes资源的安全、只读访问,用于调试和检查。考虑到安全性,它提供了全面的集群可见性,无需修改功能。

特性

  • 🔒 只读安全:无需修改功能即可安全检查Kubernetes资源
  • 🎯 CRD支持:与集群中的任何自定义资源定义无缝协作
  • 🌐 多集群支持:在不同的Kubernetes上下文之间无缝切换
  • 🔍 智能发现:按API组子字符串查找资源(例如,FluxCD的“flux”,ArgoCD的“argo”)
  • ⚡ 高性能:具有过滤和分页功能的高效资源查询
  • 🛠️ 全面的工具集:

- list_resources:使用高级选项列出和过滤Kubernetes资源 - describe_resource:获取有关特定资源的详细信息 - get_pod_logs:使用复杂的过滤功能检索pod日志 - list_events:列出并过滤Kubernetes事件以进行调试和监控 - list_contexts:从kubeconfig中列出所有可用的Kubernetes上下文

🚀 快速开始

先决条件

  • 使用有效的kubeconfig文件访问Kubernetes集群
  • 转到1.24+(从源代码构建)

安装选项

选项1:使用Go安装(推荐)

go install github.com/kkb0318/kubernetes-mcp@latest

二进制文件将在 $GOPATH/bin/kubernetes-mcp (或 $HOME/go/bin/kubernetes-mcp 如果 GOPATH 未设置)。

选项2:从源代码构建

git clone https://github.com/kkb0318/kubernetes-mcp.git
cd kubernetes-mcp
go build -o kubernetes-mcp .

⚙️ 配置

MCP服务器设置

将服务器添加到MCP配置中:

基本配置

用途 ~/.kube/config 自动:

{
  "mcpServers": {
    "kubernetes": {
      "command": "/path/to/kubernetes-mcp"
    }
  }
}

自定义Kubeconfig

{
  "mcpServers": {
    "kubernetes": {
      "command": "/path/to/kubernetes-mcp",
      "env": {
        "KUBECONFIG": "/path/to/your/kubeconfig"
      }
    }
  }
}
备注:替换 /path/to/kubernetes-mcp 使用您的实际二进制路径。

独立使用

# Default kubeconfig (~/.kube/config)
./kubernetes-mcp

# Custom kubeconfig path
KUBECONFIG=/path/to/your/kubeconfig ./kubernetes-mcp

重要:确保您对要检查的Kubernetes资源具有适当的读取权限。

🛠️ 可用工具

list_resources

列出并过滤具有高级功能的Kubernetes资源。

参数类型说明
context可选kubeconfig中的Kubernetes上下文名称(当前上下文留空)
kind必需的资源类型(Pod、部署、服务等)或“全部”用于发现
groupFilter可选按API组子字符串筛选项目特定的资源
namespace可选目标命名空间(默认为所有命名空间)
labelSelector可选按标签过滤(例如,“app=nginx”)
fieldSelector可选按字段筛选(例如,“metadata.name=my pod”)
limit可选项要返回的最大资源数
timeoutSeconds可选请求超时(默认:30s)
showDetails可选返回完整的资源对象而不是摘要

示例:

// List pods with label selector
{
  "kind": "Pod",
  "namespace": "default",
  "labelSelector": "app=nginx"
}

// List pods from a specific cluster context
{
  "kind": "Pod",
  "context": "production-cluster",
  "namespace": "default"
}

// Discover FluxCD resources
{
  "kind": "all",
  "groupFilter": "flux"
}

describe_resource

获取特定Kubernetes资源的详细信息。

参数类型说明
context可选kubeconfig中的Kubernetes上下文名称(当前上下文留空)
kind必需的资源类型(Pod、部署等)
name必需的资源名称
namespace可选目标命名空间

例子:

{
  "kind": "Pod",
  "name": "nginx-pod",
  "namespace": "default"
}

get_pod_logs

使用复杂的过滤选项检索pod日志。

参数类型说明
context可选kubeconfig中的Kubernetes上下文名称(当前上下文留空)
name必需的Pod名称
namespace可选Pod命名空间(默认为“默认”)
container可选特定容器名称
tail可选从末尾开始的行数(默认值:100)
since可选持续时间如“5秒”、“2米”、“3小时”
sinceTime可选RFC3339时间戳
timestamps可选在输出中包含时间戳
previous可选从以前的容器实例获取日志

例子:

{
  "name": "nginx-pod",
  "namespace": "default",
  "tail": 50,
  "since": "5m",
  "timestamps": true
}

list_events

使用高级过滤选项列出和过滤Kubernetes事件,以进行调试和监控。

参数类型说明
context可选kubeconfig中的Kubernetes上下文名称(当前上下文留空)
namespace可选目标命名空间(所有命名空间留空)
object可选按对象名称筛选(例如,pod名称、部署名称)
eventType可选按事件类型筛选:“正常”或“警告”(不区分大小写)
reason可选按事件原因筛选(例如,“Pulled”、“Failed”、“FailedScheduling”)
since可选持续时间如“5秒”、“2米”、“1小时”
sinceTime可选RFC3339时间戳(例如,“2025-06-20T10:00:00Z”)
limit可选项要返回的最大事件数(默认值:100)
timeoutSeconds可选请求超时(默认:30s)

示例:

// List recent warning events
{
  "eventType": "Warning",
  "since": "30m"
}

// List events for a specific pod
{
  "object": "nginx-pod",
  "namespace": "default"
}

// List failed scheduling events
{
  "reason": "FailedScheduling",
  "limit": 50
}

list_contexts

从kubeconfig文件中列出所有可用的Kubernetes上下文。

参数: 无-此工具不接受任何参数。

示例响应:

{
  "contexts": [
    {
      "name": "production-cluster",
      "is_current": false
    },
    {
      "name": "staging-cluster", 
      "is_current": true
    },
    {
      "name": "development-cluster",
      "is_current": false
    }
  ],
  "current_context": "staging-cluster",
  "total": 3
}

用例: 非常适合需要以下功能的多集群工作流:

  • 发现可用的Kubernetes上下文
  • 识别当前活动上下文
  • 跨多个集群规划运营

🌟 高级功能

🌐 多集群支持

使用上下文切换无缝地处理多个Kubernetes集群:

  • 上下文参数:所有工具现在都支持可选 context 参数,指定要查询的群集
  • 自动发现:使用现有的kubeconfig文件并自动发现可用上下文
  • 默认上下文:当没有指定上下文时,使用kubeconfig中的当前上下文
  • 缓存连接:通过连接缓存高效管理到多个集群的连接

多集群示例:

// Query production cluster
{
  "kind": "Pod",
  "context": "production-cluster",
  "namespace": "default"
}

// Get logs from staging environment
{
  "name": "api-server",
  "context": "staging-cluster",
  "namespace": "api"
}

// Compare resources across environments (use multiple calls)
{
  "kind": "Deployment",
  "context": "production-cluster",
  "namespace": "app"
}

🎯 自定义资源定义(CRD)支持

自动发现并处理集群中的任何CRD。只需使用CRD的Kind名称 list_resourcesdescribe_resource 工具。

🔍 智能资源发现

使用 groupFilter 通过API组子字符串发现资源的参数:

筛选器发现示例
"flux"FluxCD资源HelmRelease、Kustomization、GitRepositories
"argo"ArgoCD资源应用程序、应用程序项目、应用程序集
"istio"Istio资源VirtualServices、DestinationRules、网关
"cert-manager"证书管理器资源证书、发卡机构、集群发卡机构

🔒 安全与安保

以安全为首要考虑因素:

  • 只读访问 -不创建、修改或删除资源
  • 安全生产 -可在生产环境中安全使用
  • 最低权限 -仅需要对群集资源的读取权限
  • 无破坏性操作 -不会损害您的集群

______________________________________________________________________

🤝 贡献

我们欢迎捐款!请确保所有更改都保持服务器的只读性质,并包括适当的测试。

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

只读访问Go云端部署Kubernetes调试工具本地部署集群监控多集群管理CRD支持

接入字段

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

HTTP

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

token

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

HTTPtokenremote-capable

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP