mcpField
K
Kubectl MCP Tool

Kubectl MCP Tool

本地服务
npmjs.com云与基础设施9656 天前更新

关于 Kubectl MCP Tool

Kubectl MCP Tool 是一款 MCP 服务,可通过兼容的 AI 助手管理 Kubernetes 集群。它提供常见 kubectl 与 Helm 操作、诊断、资源优化和安全审查工具,并支持按需启用工具集。

主要功能

  1. 01Kubernetes 资源操作
  2. 02Pod 与网络诊断
  3. 03Helm 发布管理
  4. 04成本与资源分析
  5. 05RBAC 和 Secret 安全检查
  6. 06可配置工具集与只读模式

适用场景

  1. 01排查崩溃的 Pod
  2. 02部署或扩缩应用
  3. 03查找利用率偏低的集群资源
  4. 04审查权限与 Secret 风险

MCP 相关

该 MCP 服务向 MCP 客户端提供 Kubernetes 和 Helm 操作、诊断、资源及提示词。工具集决定注册哪些工具,也可按需发现工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"kubectl": {
"command": "npx",
"args": [
"-y",
"kubectl-mcp-server"
]
}
}
}
启动命令npx -y kubectl-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmkubectl-mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

kubectl-mcp-server 徽标
kubectl-mcp-server

通过与 AI 的自然语言对话,掌控整个 Kubernetes 基础设施。
像与 DevOps 专家交流一样,直接与集群对话。调试崩溃的 Pod、优化成本、部署应用、审计安全性和管理 Helm 图表,一切尽在自然语言交流之中。
属于 CNCF Landscape,与 Terraform 并列

截图 2026-04-08 at 23 36 21

GitHub 星标 许可证:MIT Python Kubernetes MCP 2026-07-28

PyPI npm Docker 测试 咨询 DeepWiki agentregistry


安装

使用 npx 快速开始(推荐——无需安装)
# Run directly without installation - works instantly!
npx -y kubectl-mcp-server

# Or install globally for faster startup
npm install -g kubectl-mcp-server
或使用 pip 安装(Python)
pip install kubectl-mcp-server

# Or run it isolated with uv
uvx --from kubectl-mcp-server kubectl-mcp

📑 目录


可以做什么?

只需用自然语言向 AI 助手提问:

💬 “为什么我的 Pod 一直崩溃?”

  • 通过日志、事件和资源分析,即时诊断崩溃问题
  • 找出根本原因并提供可执行的建议

💬 “部署一个包含 3 个副本的 Redis 集群”

  • 按照最佳实践创建部署
  • 配置服务、持久化存储和健康检查

💬 “告诉我哪些 Pod 正在浪费资源”

  • 由 AI 驱动的成本优化分析
  • 提供资源建议和潜在节省金额

💬 “哪些服务无法连接到数据库?”

  • 通过 DNS 解析诊断网络连接问题
  • 从 Ingress 到 Pod 追踪服务链路

💬 “审计所有命名空间的安全性”

  • 分析 RBAC 权限
  • 扫描 Secret 安全性和 Pod 安全策略

默认提供 26 个工具,每个工具集均包含 209 个工具 | 14 个工作流提示词 | 8 个资源 + 6 个资源模板 | 无状态 MCP 2026-07-28 | 兼容所有主流 AI 助手

为什么选择 kubectl-mcp-server?

  • 🚀 告别频繁切换上下文 - 在 AI 助手对话中直接管理 Kubernetes
  • 🧠 AI 驱动的诊断 - 获取智能故障排查,而非原始数据
  • 💰 内置成本优化 - 识别资源浪费并获取可执行的节省建议
  • 🔒 满足企业需求 - 支持按工具设置作用域的 OAuth 2.1 身份验证、只读模式、Secret 脱敏,以及故障时拒绝访问的网络绑定
  • ⚡ 无需学习 - 使用自然语言,无需记忆 kubectl 命令
  • 🌐 广泛兼容 - 适用于 Claude、Cursor、Windsurf、Copilot 和其他 15+ 款 AI 工具
  • ☸️ 生产级品质 - 无状态 HTTP 可通过任意负载均衡器进行扩展,提供 Helm chart,516 项测试全部通过

从调试崩溃的 Pod 到优化集群成本,kubectl-mcp-server 都是你的 AI 驱动 DevOps 助手。

在线演示

Claude Desktop

Claude MCP

Cursor AI

Cursor MCP

Windsurf

Windsurf MCP

安装

使用 npx 快速开始(推荐 — 零安装)
# Run directly without installation - works instantly!
npx -y kubectl-mcp-server

# Or install globally for faster startup
npm install -g kubectl-mcp-server
或使用 pip 安装(Python)
pip install kubectl-mcp-server

# Or run it isolated with uv
uvx --from kubectl-mcp-server kubectl-mcp
从 GitHub Release 安装
# Install specific version directly from GitHub release (replace {VERSION} with desired version)
pip install https://github.com/rohitg00/kubectl-mcp-server/releases/download/v{VERSION}/kubectl_mcp_server-{VERSION}-py3-none-any.whl

# Example: Install v2.0.0
pip install https://github.com/rohitg00/kubectl-mcp-server/releases/download/v2.0.0/kubectl_mcp_server-2.0.0-py3-none-any.whl

# Or install latest from git
pip install git+https://github.com/rohitg00/kubectl-mcp-server.git
前置条件
  • Python 3.10+ 或 uv(用于 pip/uvx 安装)
  • Node.js 18+(用于 npx 安装)
  • 已安装并配置 kubectl
  • 可访问 Kubernetes 集群
Docker
# Pull from Docker Hub
docker pull rohitghumare64/kubectl-mcp-server:latest

# Or pull from GitHub Container Registry
docker pull ghcr.io/rohitg00/kubectl-mcp-server:latest

# Run with stdio transport (the image runs as UID 10001 with HOME=/home/mcp)
docker run -i --rm -v $HOME/.kube:/home/mcp/.kube:ro rohitghumare64/kubectl-mcp-server:latest

# Run stateless HTTP on localhost only. The container listens on 0.0.0.0, so it refuses
# to start without OAuth (MCP_AUTH_ENABLED) or an explicit MCP_ALLOW_UNAUTHENTICATED=true.
docker run --rm -p 127.0.0.1:8000:8000 -v $HOME/.kube:/home/mcp/.kube:ro \
  -e MCP_ALLOW_UNAUTHENTICATED=true \
  rohitghumare64/kubectl-mcp-server:latest --transport http

入门指南

1. 测试服务(可选)

在与 AI 助手集成之前,请先验证安装:

# Check if kubectl is configured
kubectl cluster-info

# Test the MCP server directly
kubectl-mcp-server info

# List all available tools
kubectl-mcp-server tools

# Try calling a tool
kubectl-mcp-server call kubectl_get '{"resource_type": "pods", "namespace": "kube-system"}'
2. 连接到 AI 助手

选择你喜欢的 AI 助手并添加配置:

使用 AI 助手快速设置

Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["-y", "kubectl-mcp-server"]
    }
  }
}
Cursor AI

添加到 ~/.cursor/mcp.json:

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

添加到 ~/.config/windsurf/mcp.json:

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["-y", "kubectl-mcp-server"]
    }
  }
}
使用 Python 而非 npx
{
  "mcpServers": {
    "kubernetes": {
      "command": "python",
      "args": ["-m", "kubectl_mcp_tool.mcp_server"],
      "env": {
        "KUBECONFIG": "/path/to/.kube/config"
      }
    }
  }
}

更多集成:GitHub Copilot、Goose、Gemini CLI、Roo Code 和其他 15+ 个客户端 —> 请参阅下方的完整配置指南。

3. 重启 AI 助手

添加配置后,请重启 AI 助手 (GitHub Copilot、Claude Code、Claude Desktop、Cursor 等),以加载 MCP 服务。

4. 尝试这些命令

开始与 AI 助手对话,并尝试以下内容:

故障排除:

"Show me all pods in the kube-system namespace"
"Why is the nginx-deployment pod crashing?"
"Diagnose network connectivity issues in the default namespace"

部署:

"Create a deployment for nginx with 3 replicas"
"Scale my frontend deployment to 5 replicas"
"Roll back the api-server deployment to the previous version"

成本与优化:

"Which pods are using the most resources?"
"Show me idle resources that are wasting money"
"Analyze cost optimization opportunities in the production namespace"

安全:

"Audit RBAC permissions in all namespaces"
"Check for insecure secrets and configurations"
"Show me pods running with privileged access"

Helm:

"List all Helm releases in the cluster"
"Install Redis from the Bitnami chart repository"
"Show me the values for my nginx-ingress Helm release"

多集群:

"List all available Kubernetes contexts"
"Switch to the production cluster context"
"Show me cluster information and version"

MCP 客户端兼容性

与所有兼容 MCP 的 AI 助手无缝协作:

客户端状态客户端状态
Claude Desktop✅ 原生支持Claude Code✅ 原生支持
Cursor✅ 原生支持Windsurf✅ 原生支持
GitHub Copilot✅ 原生支持OpenAI Codex✅ 原生支持
Gemini CLI✅ 原生支持Goose✅ 原生支持
Roo Code✅ 原生支持Kilo Code✅ 原生支持
Amp✅ 原生支持Trae✅ 原生支持
OpenCode✅ 原生支持Kiro CLI✅ 原生支持
Antigravity✅ 原生支持Clawdbot✅ 原生支持
Droid (Factory)✅ 原生支持任意 MCP 客户端✅ 兼容

所有受支持的 AI 助手

Claude Code

添加到 ~/.config/claude-code/mcp.json:

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["-y", "kubectl-mcp-server"]
    }
  }
}
GitHub Copilot(VS Code)

添加到 VS Code settings.json:

{
  "mcp": {
    "servers": {
      "kubernetes": {
        "command": "npx",
        "args": ["-y", "kubectl-mcp-server"]
      }
    }
  }
}
Goose

添加到 ~/.config/goose/config.yaml:

extensions:
  kubernetes:
    command: npx
    args:
      - -y
      - kubectl-mcp-server
Gemini CLI

添加到 ~/.gemini/settings.json:

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["-y", "kubectl-mcp-server"]
    }
  }
}
Roo Code / Kilo Code

添加到 ~/.config/roo-code/mcp.json 或 ~/.config/kilo-code/mcp.json:

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

完整功能集

工具集

每个工具定义都会在每次请求中占用上下文;随着列表变长,模型选择工具的可靠性也会降低。因此,服务默认仅注册 core 和 helm 工具集(26 个工具)。kubectl_get、kubectl_describe、kubectl_logs、kubectl_apply 等工具适用于所有资源类型,包括自定义资源,因此默认工具集足以满足大多数日常工作需求。其他工具均为可选项;未启用的工具集中的工具不会注册,因此无法调用。

kubectl-mcp-server                                    # core + helm
kubectl-mcp-server --toolsets default,diagnostics,certs
kubectl-mcp-server --toolsets all                     # all 209 tools
MCP_TOOLSETS=default,gitops kubectl-mcp-server        # same, via environment

detect_ecosystem 会报告已安装的运维工具,以及涵盖它们的工具集。启用多个工具集且客户端无法自行搜索工具时,请添加 --tool-search(MCP_TOOL_SEARCH=true):此时服务只会列出默认工具以及 search_tools 和 call_tool,其余工具会按需发现。只读模式、作用域和脱敏规则仍适用于每次发现的调用。

对于某个生态系统中的深度工作,通常使用由该项目维护的 MCP 服务会比启用可选工具集更合适:

生态系统MCP 服务
Argo CDargoproj-labs/mcp-for-argocd
FluxFlux Operator MCP 服务
Kyvernonirmata/kyverno-mcp
工具集默认启用
------------------
core是
helm是
helm_dev
ops
diagnostics
security
cost
multicluster
crds
gitops
certs
policy
backup
keda
cilium
rollouts
capi
kubevirt
istio
kind
vind
MCP 资源

将 Kubernetes 数据作为可浏览资源进行访问:

资源 URI描述
kubeconfig://contexts列出所有可用的 kubectl 上下文
kubeconfig://current-context获取当前活动上下文
namespace://current获取当前命名空间
namespace://list列出所有命名空间
cluster://info获取集群信息
cluster://nodes获取详细的节点信息
cluster://version获取 Kubernetes 版本
cluster://api-resources列出可用的 API 资源
manifest://deployments/{ns}/{name}获取 Deployment YAML
manifest://services/{ns}/{name}获取 Service YAML
manifest://pods/{ns}/{name}获取 Pod YAML
manifest://configmaps/{ns}/{name}获取 ConfigMap YAML
manifest://secrets/{ns}/{name}获取 Secret YAML(数据已遮蔽)
manifest://ingresses/{ns}/{name}获取 Ingress YAML
MCP 提示词

针对常见 Kubernetes 操作预构建的工作流提示词:

提示词描述
troubleshoot_workloadPod/Deployment 综合故障排查指南
deploy_application逐步部署工作流
security_audit安全扫描和 RBAC 分析工作流
cost_optimization资源优化和成本分析工作流
disaster_recovery备份和恢复规划工作流
debug_networking服务和连接性的网络调试
scale_application包含 HPA/VPA 最佳实践的扩缩容指南
upgrade_clusterKubernetes 集群升级规划
cluster_health_check集群范围的健康状况检查
debug_workload针对指定工作负载的逐步调试
resource_usage资源消耗和规格调整检查
security_posture命名空间或集群安全态势检查
deployment_checklist应用部署前检查清单
incident_response按事件类型分类的事件处理手册

在 ~/.config/kubectl-mcp/prompts.toml 中添加自定义提示词;同名提示词会覆盖内置提示词。

主要功能
  • 🤖 26 个默认工具,209 个可选工具集 - 默认提供通用 kubectl 和 Helm,按需启用生态工具集
  • 🎯 14 个工作流提示词 - 针对常见操作预构建的工作流
  • 📊 8 个资源 + 6 个模板 - 可浏览的 Kubernetes 数据
  • 🔄 可选生态工具集 - GitOps、cert-manager、policy、Velero、KEDA、Cilium、Rollouts、CAPI、KubeVirt、Istio、kind、vCluster
  • ⚡ 无状态 MCP 2026-07-28 - 支持 stdio 和 Streamable HTTP,自动协商兼容旧版客户端
  • 🔐 安全优先 - 只读模式、每次调用确认、Secret 内容遮蔽、防止标志注入
  • 🏥 高级诊断 - AI 驱动的故障排查和成本优化
  • ☸️ 多集群 - 每个工具都可通过 context 参数指定任意集群
  • 🎡 完整 Helm v3 - 完整的 Chart 生命周期管理
  • 🔧 强大的命令行工具 - 便于 Shell 使用的工具发现和直接调用
  • 🐳 云原生 - 使用 kMCP 或 kagent 在集群内部署

使用命令行工具

内置命令行工具让你无需 AI 助手即可探索和测试工具:

# List all tools with descriptions
kubectl-mcp-server tools -d

# Search for pod-related tools
kubectl-mcp-server grep "*pod*"

# Show specific tool schema
kubectl-mcp-server tools kubectl_get

# Call a tool directly
kubectl-mcp-server call kubectl_get '{"resource_type": "pods", "namespace": "kube-system"}'

# Pipe JSON from stdin
echo '{"resource_type": "pods"}' | kubectl-mcp-server call kubectl_get

# Check dependencies
kubectl-mcp-server doctor

# Show/switch Kubernetes context
kubectl-mcp-server context
kubectl-mcp-server context minikube

# List resources and prompts
kubectl-mcp-server resources
kubectl-mcp-server prompts

# Show server info
kubectl-mcp-server info
命令行工具功能
  • 结构化错误:提供可执行的错误消息和建议
  • 彩色输出:提供易读输出,并支持用于脚本的 JSON 模式(--json)
  • NO_COLOR 支持:遵循 NO_COLOR 环境变量
  • 标准输入支持:将 JSON 参数通过管道传递给命令

高级配置

传输模式
# stdio (default) - Claude Desktop, Cursor, Windsurf, Claude Code
kubectl-mcp-server

# Streamable HTTP, stateless, at http://127.0.0.1:8000/mcp
kubectl-mcp-server --transport http --port 8000

# SSE - deprecated by the MCP spec (SEP-2596), session-bound; kept for old clients
kubectl-mcp-server --transport sse --port 8000

服务选项(每个标志也会读取对应的环境变量):

标志环境变量默认值描述
--transportMCP_SERVER_TRANSPORTstdiostdio、http / streamable-http、sse
--hostMCP_SERVER_HOST127.0.0.1网络传输的绑定地址
--portMCP_SERVER_PORT8000网络传输的端口
--allow-unauthenticatedMCP_ALLOW_UNAUTHENTICATEDoff允许在非环回地址上绑定而不使用 OAuth
--toolsetsMCP_TOOLSETSdefault要注册的工具集(default、all 或名称;参见工具集)
--tool-searchMCP_TOOL_SEARCHoff列出默认工具及 search_tools/call_tool;按需发现其余工具
--read-onlyMCP_SAFETY_MODE=read-onlyoff隐藏并阻止所有会更改状态的工具
--disable-destructiveMCP_SAFETY_MODE=disable-destructiveoff允许创建/更新,阻止删除
--confirm-destructiveMCP_SAFETY_MODE=confirmoff每次执行破坏性调用前询问用户
--statelessMCP_STATELESS_MODEoff不缓存 Kubernetes API 客户端
--watch-kubeconfigMCP_KUBECONFIG_WATCHoffkubeconfig 发生变化时重新加载
--configTOML 配置文件
环境变量

核心设置:

变量描述默认值
KUBECONFIGkubeconfig 文件的路径~/.kube/config
MCP_DEBUG启用详细日志记录false
MCP_LOG_FILE日志文件路径None(stdout)

身份验证(企业版):

变量描述默认值
MCP_AUTH_ENABLED启用 OAuth 2.1 身份验证false
MCP_AUTH_ISSUEROAuth 2.0 授权服务器 URL-
MCP_AUTH_JWKS_URIJWKS 端点 URL自动推导
MCP_AUTH_AUDIENCE预期的令牌受众kubectl-mcp-server
MCP_AUTH_REQUIRED_SCOPES每个令牌都必须携带的作用域mcp:tools
MCP_AUTH_RESOURCE_URLRFC 9728 元数据中公布的公共 URL-

安全与扩展:

变量描述默认值
MCP_SAFETY_MODEread-only、disable-destructive、confirm、normal(无效值会导致启动失败)normal
MCP_MASK_SECRETS对工具输出中的 Secret 值、Bearer 令牌和 JWT 进行脱敏true
MCP_ALLOWED_HOSTS / MCP_ALLOWED_ORIGINS用逗号分隔的 HTTP Host / Origin 允许列表环回地址
MCP_REQUEST_STATE_KEY>= 32 字节的密钥,由多个副本共享,以便确认流程可由任意副本处理每个进程独立

企业版:OAuth 2.1 身份验证

使用 OAuth 2.1 身份验证(RFC 9728)保护 MCP 服务。

export MCP_AUTH_ENABLED=true
export MCP_AUTH_ISSUER=https://your-idp.example.com
export MCP_AUTH_AUDIENCE=kubectl-mcp-server
kubectl-mcp-server --transport http --port 8000

支持的身份提供商:Okta、Auth0、Keycloak、Microsoft Entra ID、Google OAuth,以及任何符合 OIDC 的提供商。

作用域:携带 mcp:tools 或 mcp:admin 的令牌可以调用所有工具。将 MCP_AUTH_REQUIRED_SCOPES=mcp:read 设置为颁发权限更窄的令牌:只读工具需要 mcp:read,会更改状态的工具需要 mcp:write。

安全

  • 网络暴露默认拒绝。 HTTP 默认绑定到 127.0.0.1。绑定到其他任何地址都需要 OAuth 或 --allow-unauthenticated;Helm chart 在未提供其中任一选项时会拒绝渲染。
  • 只读模式会隐藏写入工具。 使用 --read-only(或 MCP_SAFETY_MODE=read-only)时,所有 readOnlyHint 为 false 的工具都会从 tools/list 中移除,调用时也会被拒绝。
  • 无状态协议支持确认操作。 --confirm-destructive 会向 2026-07-28 客户端返回 MRTR InputRequiredResult,并对较旧客户端回退为 elicitation。批准与确切操作绑定。
  • 密钥会被脱敏。 每个工具结果中的 Secret data、stringData、last-applied-configuration 注解、不记名令牌和 JWT 都会替换为 [REDACTED]。
  • 禁止标志注入。 以 - 开头的标识符参数(name、namespace、chart、context、标签键等)会在运行任何 CLI 之前被拒绝,因此 name="--server=https://attacker" 永远不会传递给 kubectl 或 helm。kubectl_generic 只会运行只读动词,并会阻止凭据、连接和原始输出标志。
  • 不使用 Shell。 所有子进程调用都使用参数列表;不会通过 sh -c 运行任何内容。CVE-2025-69902(kubectl-mcp-tool <= 1.1.1 中的 Shell 注入)已在 1.2.0 中修复;请升级所有更旧的版本。

请私下报告漏洞;参见 SECURITY.md。

无状态 MCP(2026-07-28)

服务遵循 2026-07-28 规范:无需 initialize 握手,不使用 Mcp-Session-Id,通过 server/discover 获取功能,并使用逐请求 _meta。对于 2025 年版本的客户端,同一进程会通过 stdio 和 HTTP 自动协商。

由于请求之间互不依赖,HTTP 副本可在轮询负载均衡器后扩展,无需粘性会话或共享存储。如果使用 --confirm-destructive,请在每个副本上将 MCP_REQUEST_STATE_KEY 设为相同值。

curl -s http://127.0.0.1:8000/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2026-07-28' -H 'Mcp-Method: server/discover' \
  -d '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}'

集成与生态系统

Docker MCP Toolkit

可与 Docker MCP Toolkit 配合使用:

docker mcp server add kubectl-mcp-server mcp/kubectl-mcp-server:latest
docker mcp server configure kubectl-mcp-server --volume "$HOME/.kube:/home/mcp/.kube:ro"
docker mcp server enable kubectl-mcp-server
docker mcp client connect claude
agentregistry

从集中式 agentregistry 安装:

# Install arctl CLI
curl -fsSL https://raw.githubusercontent.com/agentregistry-dev/agentregistry/main/scripts/install.sh | bash

# Install kubectl-mcp-server
arctl mcp install io.github.rohitg00/kubectl-mcp-server

可通过以下方式使用:PyPI(uvx)、npm(npx)、OCI(docker.io/rohitghumare64/kubectl-mcp-server)

agentgateway

通过 agentgateway 路由到多个 MCP 服务:

# Start stateless Streamable HTTP
kubectl-mcp-server --transport http --port 8000

# Configure gateway
cat > gateway.yaml <<EOF
binds:
- port: 3000
  listeners:
  - routes:
    - backends:
      - mcp:
          targets:
          - name: kubectl-mcp-server
            mcp:
              host: http://localhost:8000/mcp
EOF

# Start gateway
agentgateway --config gateway.yaml

将客户端连接到 http://localhost:3000/mcp。

集群内部署

选项 1:kMCP(推荐)

使用 kMCP 部署——这是 MCP 服务的控制平面:

# Install kMCP
curl -fsSL https://raw.githubusercontent.com/kagent-dev/kmcp/refs/heads/main/scripts/get-kmcp.sh | bash
kmcp install

# Deploy kubectl-mcp-server (easiest)
kmcp deploy package --deployment-name kubectl-mcp-server \
   --manager npx --args kubectl-mcp-server

# Or with Docker image
kmcp deploy --file deploy/kmcp/kmcp.yaml --image rohitghumare64/kubectl-mcp-server:latest

详情请参阅 kMCP 快速入门。

选项 2:标准 Kubernetes

使用 kubectl/kustomize 部署:

# Using kustomize (recommended)
kubectl apply -k deploy/kubernetes/

# Or individual manifests
kubectl apply -f deploy/kubernetes/namespace.yaml
kubectl apply -f deploy/kubernetes/rbac.yaml
kubectl apply -f deploy/kubernetes/deployment.yaml
kubectl apply -f deploy/kubernetes/service.yaml

# Access via port-forward
kubectl port-forward -n kubectl-mcp svc/kubectl-mcp-server 8000:8000

所有清单和配置选项请参阅 deploy/ 目录。

选项 3:kagent(AI Agent 框架)

与 kagent 集成——这是一个 CNCF Kubernetes 原生 AI Agent 框架:

# Install kagent
brew install kagent
kagent install --profile demo

# Register as ToolServer
kubectl apply -f deploy/kagent/toolserver-stdio.yaml

# Open dashboard
kagent dashboard

现在,你的 AI Agent 可以使用该服务已启用的工具集。请参阅 kagent 快速入门。

架构

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│   AI Assistant  │────▶│   MCP Server     │────▶│  Kubernetes API │
│ (Claude/Cursor) │◀────│ (kubectl-mcp)    │◀────│    (kubectl)    │
└─────────────────┘     └──────────────────┘     └─────────────────┘

MCP 服务实现了 Model Context Protocol,将自然语言请求转换为 kubectl 操作。

模块化结构
kubectl_mcp_tool/
├── mcp_server.py          # Main server (FastMCP, transports)
├── middleware.py          # Safety mode, flag-injection guard, scopes, redaction, metrics
├── toolsets.py            # Toolset registry, server instructions
├── tools/                  # MCP tools, grouped into toolsets
│   ├── kubectl.py         # Generic get/logs/top/scale for every kind, detect_ecosystem
│   ├── pods.py            # Pod exec & diagnostics
│   ├── cluster.py         # Context/cluster management
│   ├── networking.py      # Network and DNS diagnostics
│   ├── security.py        # RBAC, pod security, secret hygiene audits
│   ├── helm.py            # Complete Helm v3 operations
│   ├── operations.py      # kubectl apply/patch/describe/etc
│   ├── diagnostics.py     # Metrics, namespace comparison
│   ├── cost.py            # Resource optimization & cost analysis
│   ├── gitops.py          # GitOps (Flux/ArgoCD)
│   ├── certs.py           # Cert-Manager
│   ├── policy.py          # Policy (Kyverno/Gatekeeper)
│   ├── backup.py          # Backup (Velero)
│   ├── keda.py            # KEDA autoscaling
│   ├── cilium.py          # Cilium/Hubble network observability
│   ├── rollouts.py        # Argo Rollouts/Flagger
│   ├── capi.py            # Cluster API
│   ├── kubevirt.py        # KubeVirt VMs
│   ├── kiali.py           # Istio/Kiali service mesh
│   ├── vind.py            # vCluster (virtual clusters)
│   ├── kind.py            # kind local clusters
│   └── custom_resources.py # CRD discovery
├── resources/              # 8 MCP Resources for data exposure
├── prompts/                # 14 MCP Prompts for workflows
└── cli/                    # CLI interface

Agent Skills(面向 AI 编码 Agent 的 25 项技能)

使用 kubernetes-skills/ 中的技能,为你的 AI 编码 Agent 扩展 Kubernetes 专业知识。技能提供专门知识和工作流,供 Agent 按需加载;每项技能都会列出所需的工具集。

快速安装
# Any agent (Claude Code, Codex, Cursor, OpenCode, Gemini CLI, ...) via the skills CLI
npx skills add rohitg00/kubectl-mcp-server

# A single skill for a single agent
npx skills add rohitg00/kubectl-mcp-server --skill k8s-helm --agent claude-code

# OpenClaw, from ClawHub (synced from this repo on every merge)
openclaw skills install @rohitg00/k8s-helm

# Or copy into Claude Code directly
cp -r kubernetes-skills/claude/* ~/.claude/skills/

可在 ClawHub 浏览这些技能,或使用 npx skills add rohitg00/kubectl-mcp-server --list 列出它们。

可用技能(25)
类别技能
核心资源k8s-core、k8s-networking、k8s-storage
工作负载k8s-deploy、k8s-operations、k8s-helm
可观测性k8s-diagnostics、k8s-troubleshoot、k8s-incident
安全k8s-security、k8s-policy、k8s-certs
GitOpsk8s-gitops、k8s-rollouts
扩缩容k8s-autoscaling、k8s-cost、k8s-backup
多集群k8s-multicluster、k8s-capi、k8s-kubevirt
开发k8s-vind、k8s-kind
网络k8s-service-mesh、k8s-cilium
工具k8s-cli
转换为其他 Agent

使用 SkillKit,将技能转换为你偏好的 AI Agent 格式:

npm install -g skillkit

# Convert to Cursor format
skillkit translate kubernetes-skills/claude --to cursor --output .cursor/rules/

# Convert to Codex format
skillkit translate kubernetes-skills/claude --to codex --output ./

支持的 Agent: Claude、Cursor、Codex、Gemini CLI、GitHub Copilot、Goose、Windsurf、Roo、Amp 等。

完整文档请参阅 kubernetes-skills/README.md。

多集群支持

通过自然语言无缝管理多个 Kubernetes 集群。每个工具都支持可选的 context 参数,可指定任意集群,无需切换上下文。

Context 参数(v1.15.0)

大多数基于 kubectl 的工具都接受可选的 context 参数,用于指定目标集群。 注意:vCluster(vind)和 kind 工具通过本地 CLI 运行,不接受 context 参数。

与 AI 助手交谈:

"List pods in the production cluster"
"Get deployments from staging context"
"Show logs from the api-pod in the dev cluster"
"Compare namespaces between production and staging clusters"

使用 context 直接调用工具:

# Target a specific cluster context
kubectl-mcp-server call kubectl_get '{"resource_type": "pods", "namespace": "default", "context": "production"}'

# Get deployments from staging
kubectl-mcp-server call kubectl_get '{"resource_type": "deployments", "namespace": "app", "context": "staging"}'

# Install Helm chart to production cluster
kubectl-mcp-server call install_helm_chart '{"name": "redis", "chart": "bitnami/redis", "namespace": "cache", "context": "production"}'

# Compare resources across clusters
kubectl-mcp-server call compare_namespaces '{"namespace1": "prod-ns", "namespace2": "staging-ns", "context": "production"}'
Context 管理

与 AI 助手交谈:

"List all available Kubernetes contexts"
"Switch to the production cluster"
"Show me details about the staging context"
"What's the current cluster I'm connected to?"

或直接使用 CLI:

kubectl-mcp-server context                    # Show current context
kubectl-mcp-server context production         # Switch context
kubectl-mcp-server call list_contexts         # List all contexts via MCP
工作原理
  • 如果省略 context,工具将使用当前的 kubectl 上下文
  • 如果指定 context,工具将直接以该集群为目标
  • 响应中会包含 "context": "production" 或 "context": "current",以便清晰识别
  • 适用于所有 kubeconfig 配置,并遵循 KUBECONFIG 环境变量
  • 跨集群操作无需切换上下文

开发与测试

搭建开发环境
# Clone the repository
git clone https://github.com/rohitg00/kubectl-mcp-server.git
cd kubectl-mcp-server

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -r requirements-dev.txt
运行测试
# Run all tests
pytest tests/ -v

# Run specific test file
pytest tests/test_tools.py -v

# Run with coverage
pytest tests/ --cov=kubectl_mcp_tool --cov-report=html

# Run only unit tests
pytest tests/ -v -m unit
测试结构
tests/
├── __init__.py          # Test package
├── conftest.py          # Shared fixtures and mocks
├── test_tools.py        # Unit tests for all MCP tools
├── test_stateless_security.py # Both protocol eras, confirmation, redaction, injection guard
├── test_resources.py    # Tests for 8 MCP Resources
├── test_prompts.py      # Tests for 8 MCP Prompts
└── test_server.py       # Server initialization tests

555 项测试涵盖: 工具注册、资源公开、提示词生成、端到端测试两个 MCP 协议时代、安全模式、确认轮次、Secret 脱敏、标志注入、网络暴露、CLI 命令以及生态工具。

代码质量
# Format code
black kubectl_mcp_tool tests

# Sort imports
isort kubectl_mcp_tool tests

# Lint
flake8 kubectl_mcp_tool tests

# Type checking
mypy kubectl_mcp_tool

贡献

我们 ❤️ 欢迎贡献!无论是错误报告、功能请求、文档改进还是代码贡献,都欢迎参与。

贡献方式:

  • 🐛 通过 GitHub Issues 报告错误
  • 💡 提出功能或改进建议
  • 📝 改进文档
  • 🔧 提交拉取请求
  • ⭐ 如果你觉得这个项目有用,请为它点星!

开发环境搭建: 请参阅上文的开发与测试部分。

提交 PR 前:

  1. 运行测试:pytest tests/ -v
  2. 格式化代码:black kubectl_mcp_tool tests
  3. 检查代码规范:flake8 kubectl_mcp_tool tests

支持与社区

许可证

MIT 许可证 - 详情请参阅 LICENSE。

链接与资源

软件包仓库:

项目:

生态系统:


为 Kubernetes 和 AI 社区倾心打造 ❤️

如果 kubectl-mcp-server 让你的 DevOps 工作更轻松,请在 GitHub 上为它点个 ⭐!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。