Skip to main content
Glama

KubeAid MCP

一个用于KubeAid管理的Kubernetes集群的MCP服务器。 将其接入Claude Code、Claude Desktop、Cursor或任何兼容MCP的客户端, 即可提出诸如*"哪些应用不同步?""为什么kube-prometheus降级了?""同步cert-manager应用"*等问题——模型通过调用此服务器的工具来回答,这些工具通过您自己的kubeconfig凭据与您的集群通信。

基于官方@modelcontextprotocol/sdk@kubernetes/client-node用TypeScript构建。

作者: Deep Poharkar

为什么专门针对KubeAid?

KubeAid以GitOps方式运行集群:每个应用都是从你的kubeaid-config仓库生成的ArgoCD Application,并且默认禁用自动同步——Git与集群之间的漂移是正常的,需要等待有意的同步。通用的Kubernetes助手不理解这种工作流。此服务器理解:

  • ArgoCD Application CR是一等公民:同步状态、健康状态、失败条件和漂移资源只需一次工具调用即可获取。

  • 同步被建模为KubeAid中明确的"立即部署"决策——通过选择加入的标志进行门控,支持dry_run,并且绝不允许在你标记为受保护的上下文中执行。

  • 捆绑的提示词编码了KubeAid的操作习惯:同步前先审查漂移,在kubeaid-config仓库中修复问题,而不是手动编辑集群。

工具

读取工具——始终注册:

工具

功能

list_contexts

服务器可以定位的Kubeconfig上下文,带有默认和写保护标志。

list_argocd_apps

每个KubeAid管理的ArgoCD应用,包含同步状态、健康状态、修订版本和自动同步标志。支持only_problems

describe_argocd_app

深入查看一个应用:来源、错误条件、漂移/不健康资源、上次同步结果、部署历史。

list_namespaces

命名空间及其状态和年龄。

list_nodes

节点及其就绪状态、角色、kubelet版本、内部IP。

list_pods

具有kubectl风格派生状态(CrashLoopBackOff等)、就绪计数、重启次数、节点、年龄的Pod。

describe_pod

每个容器的状态和上次崩溃详情、条件,以及Pod的近期事件。

get_pod_logs

尾部容器日志;previous: true读取崩溃实例的日志。

list_deployments

部署及其就绪/最新/可用计数。

get_events

近期事件,可选仅警告,按命名空间或集群范围。

describe_resource

按apiVersion/kind/name描述任何资源——包括CRD,如SealedSecretCertificate

写入工具——仅在KUBEAID_MCP_ALLOW_WRITES=true时注册:

工具

说明

sync_argocd_app

触发ArgoCD同步(KubeAid的"部署"操作)。支持revisionprunedry_run

scale_deployment

设置部署的副本数。

rollout_restart

滚动重启部署/有状态集/守护进程集。

delete_pod

删除卡住的Pod,以便其控制器替换它。

每个工具都接受可选的context参数,以便从单个服务器进程定位kubeconfig中的任何集群。

提示词

提示词在客户端中作为斜杠命令/菜单项出现,并使用上述工具引导模型完成工作流:

提示词

工作流

diagnose_app

对降级/不同步的应用进行根因分析:条件 → 资源 → Pod日志 → 建议。

sync_review

列出所有漂移的应用,评估每个待处理同步的风险,然后询问后再同步任何内容。

cluster_health_check

扫描节点、应用、Pod和警告事件;按严重程度报告发现。

快速开始

需要Node.js 20+。

git clone <your-repo-url> kubeaid-mcp
cd kubeaid-mcp
npm install
npm run build

Claude Code

claude mcp add kubeaid -- node "$(pwd)/dist/index.js"

默认只读。要在保持生产环境不可触碰的同时启用写入:

claude mcp add kubeaid \
  -e KUBEAID_MCP_ALLOW_WRITES=true \
  -e KUBEAID_MCP_PROTECTED_CONTEXTS=prod-cluster-1,prod-cluster-2 \
  -- node "$(pwd)/dist/index.js"

Claude Desktop

启用设置 → 开发者 → 本地MCP服务器,然后添加到该页面打开的配置文件中:

{
  "mcpServers": {
    "kubeaid": {
      "command": "node",
      "args": ["/absolute/path/to/kubeaid-mcp/dist/index.js"],
      "env": {
        "KUBEAID_MCP_ALLOW_WRITES": "true",
        "KUBEAID_MCP_PROTECTED_CONTEXTS": "prod-cluster-1"
      }
    }
  }
}

之后完全退出并重新打开应用。

配置

所有配置都是环境变量,在启动时读取一次:

变量

默认值

含义

KUBECONFIG

client-node默认查找(~/.kube/config

Kubeconfig路径。

KUBEAID_MCP_CONTEXT

跟随当前上下文实时变化

固定默认上下文。未设置时,kubectl config use-context会在会话中重新定位服务器;每次调用的context参数始终优先。

KUBEAID_MCP_ARGOCD_NAMESPACE

argocd

保存ArgoCD的Application CR的命名空间。

KUBEAID_MCP_ALLOW_WRITES

false

是否注册变更工具。

KUBEAID_MCP_PROTECTED_CONTEXTS

逗号分隔的上下文,即使启用了写入,也拒绝所有变更调用。

安全模型

三个独立的层:

  1. 能力门控 — 禁用写入(默认)时,变更工具永远不会注册,因此模型甚至无法看到它们。

  2. 受保护的上下文 — 每个变更处理器都会根据KUBEAID_MCP_PROTECTED_CONTEXTS重新检查目标上下文,并拒绝受保护的上下文,无论模型要求什么。

  3. 客户端确认 — 工具带有MCP readOnlyHint/destructiveHint注释,因此行为良好的客户端会在风险调用前提示你。

服务器本身不持有任何凭据;它只能执行你的kubeconfig身份通过RBAC已被授权执行的操作。

开发

npm run typecheck   # strict TS, no emit
npm run build       # compile to dist/
npm run smoke       # spawn the server, MCP handshake, list tools + prompts
KUBEAID_MCP_ALLOW_WRITES=true npm run smoke   # verify write tools register

冒烟测试不需要集群——它通过stdio驱动原始JSON-RPC协议。

路线图

  • check_chart_updates:将部署的图表版本与上游KubeAid argocd-helm-charts目录进行比较。

  • 密封秘密辅助工具:列出SealedSecret状态,标记失败的解封。

  • Prometheus/Alertmanager工具:从KubeAid附带的kube-prometheus堆栈中显示触发的警报。

致谢

  • KubeAid by Obmondo — 此服务器所构建的集群管理栈。

  • Argo CD — KubeAid底下的GitOps引擎。

许可证

MIT © 2026 Deep Poharkar

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

  • An MCP server for Arcjet - the runtime security platform that ships with your AI code.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deep-poharkar/kubeaid-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server