kubeaid-mcp
KubeAid MCP
Ein MCP-Server für KubeAid-verwaltete Kubernetes-Cluster. Integrieren Sie ihn in Claude Code, Claude Desktop, Cursor oder einen beliebigen MCP-kompatiblen Client und stellen Sie Fragen wie „welche Apps sind nicht mehr synchron?“, „warum ist kube-prometheus degraded?“ oder „synchronisiere die cert-manager-App“ — das Modell antwortet, indem es die Tools dieses Servers aufruft, die über Ihre eigenen kubeconfig-Anmeldeinformationen mit Ihrem Cluster sprechen.
In TypeScript gebaut auf dem offiziellen @modelcontextprotocol/sdk und @kubernetes/client-node.
Autor: Deep Poharkar
Warum KubeAid-spezifisch?
KubeAid betreibt Cluster auf GitOps-Weise: Jede Anwendung ist eine ArgoCD-Application, die aus Ihrem kubeaid-config-Repo generiert wird, und Auto-Sync ist standardmäßig deaktiviert — Drift zwischen Git und Cluster ist normal und wartet auf einen bewussten Sync. Ein allgemeiner Kubernetes-Assistent versteht diesen Workflow nicht. Dieser Server schon:
Die ArgoCD-
Application-CR ist ein Bürger erster Klasse: Sync-Status, Health, fehlgeschlagene Bedingungen und abgedriftete Ressourcen sind nur einen Tool-Aufruf entfernt.Sync wird als die explizite „Jetzt bereitstellen“-Entscheidung modelliert, die es in KubeAid ist — abgesichert hinter einem Opt-in-Flag, mit
dry_run-Unterstützung, und auf Kontexten, die Sie als geschützt markieren, nie erlaubt.Die gebündelten Prompts kodieren KubeAid-Betriebsgewohnheiten: Drift vor dem Sync prüfen, Dinge im kubeaid-config-Repo beheben, anstatt den Cluster von Hand zu bearbeiten.
Tools
Lese-Tools — immer registriert:
Tool | Beschreibung |
| Kubeconfig-Kontexte, die der Server ansteuern kann, mit Standard- und Schreibschutz-Flags. |
| Jede von KubeAid verwaltete ArgoCD-App mit Sync-Status, Health, Revision und Auto-Sync-Flag. Unterstützt |
| Eine App im Detail: Quellen, Fehlerbedingungen, abgedriftete/ungesunde Ressourcen, letztes Sync-Ergebnis, Deployment-Verlauf. |
| Namespaces mit Status und Alter. |
| Nodes mit Ready-Status, Rollen, kubelet-Version, interner IP. |
| Pods mit kubectl-artigem abgeleitetem Status (CrashLoopBackOff usw.), Ready-Anzahl, Neustarts, Node, Alter. |
| Zustände pro Container und Details zum letzten Absturz, Bedingungen und die letzten Ereignisse des Pods. |
| Container-Logs verfolgen; |
| Deployments mit Ready-/Up-to-date-/Available-Anzahl. |
| Letzte Ereignisse, optional nur Warnungen, pro Namespace oder clusterweit. |
| Beliebige Ressource nach apiVersion/kind/name — einschließlich CRDs wie |
Schreib-Tools — nur registriert, wenn KUBEAID_MCP_ALLOW_WRITES=true:
Tool | Beschreibung |
| Einen ArgoCD-Sync auslösen (die KubeAid-Aktion „Jetzt bereitstellen“). Unterstützt |
| Die Replica-Anzahl eines Deployments festlegen. |
| Einen Rolling-Restart eines Deployments/StatefulSets/DaemonSets durchführen. |
| Einen festhängenden Pod löschen, damit sein Controller ihn ersetzt. |
Jedes Tool akzeptiert ein optionales context-Argument, um von einem einzelnen Serverprozess aus jeden Cluster in Ihrer kubeconfig anzusteuern.
Prompts
Prompts erscheinen als Slash-Befehle / Menüpunkte im Client und führen das Modell mit den obigen Tools durch einen Workflow:
Prompt | Workflow |
| Ursachenanalyse einer Degraded/OutOfSync-App: Bedingungen → Ressourcen → Pod-Logs → Empfehlung. |
| Alle abgedrifteten Apps auflisten, das Risiko jedes anstehenden Syncs bewerten und dann fragen, bevor etwas synchronisiert wird. |
| Nodes, Apps, Pods und Warnereignisse durchgehen; Ergebnisse nach Schweregrad melden. |
Schnellstart
Erfordert Node.js 20+.
git clone <your-repo-url> kubeaid-mcp
cd kubeaid-mcp
npm install
npm run buildClaude Code
claude mcp add kubeaid -- node "$(pwd)/dist/index.js"Standardmäßig schreibgeschützt. Um Schreibzugriff zu aktivieren und die Produktion unantastbar zu lassen:
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
Aktivieren Sie Einstellungen → Entwickler → Lokale MCP-Server und fügen Sie dann der Konfigurationsdatei, die diese Seite öffnet, Folgendes hinzu:
{
"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"
}
}
}
}Beenden Sie die App danach vollständig und öffnen Sie sie erneut.
Konfiguration
Die gesamte Konfiguration erfolgt über Umgebungsvariablen, die beim Start einmal gelesen werden:
Variable | Standard | Bedeutung |
| Standard-Suchpfad von client-node ( | Kubeconfig-Pfad. |
| folgt dem current-context live | Einen festen Standardkontext festlegen. Wenn nicht gesetzt, richtet |
|
| Namespace, der die ArgoCD- |
|
| Die mutierenden Tools überhaupt registrieren. |
| keine | Kommagetrennte Kontexte, die jeden mutierenden Aufruf ablehnen, selbst wenn Schreibzugriff aktiviert ist. |
Sicherheitsmodell
Drei unabhängige Ebenen:
Capability-Gating — bei deaktiviertem Schreibzugriff (Standard) werden mutierende Tools nie registriert, sodass das Modell sie nicht einmal sehen kann.
Geschützte Kontexte — jeder mutierende Handler prüft den Zielkontext erneut gegen
KUBEAID_MCP_PROTECTED_CONTEXTSund lehnt geschützte ab, ganz gleich, was das Modell verlangt.Client-Bestätigung — Tools tragen MCP-
readOnlyHint/destructiveHint-Annotationen, sodass sich gut verhaltende Clients Sie vor riskanten Aufrufen um Bestätigung bitten.
Der Server besitzt keine eigenen Anmeldeinformationen; er kann nur das tun, wozu Ihre kubeconfig-Identität bereits über RBAC autorisiert ist.
Entwicklung
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 registerDer Smoke-Test benötigt keinen Cluster — er steuert das rohe JSON-RPC-Protokoll über stdio.
Roadmap
check_chart_updates: vergleicht die bereitgestellten Chart-Versionen mit dem Upstream-Verzeichnisargocd-helm-chartsvon KubeAid.Sealed-Secrets-Helfer:
SealedSecret-Status auflisten, fehlgeschlagene Entsiegelungen markieren.Prometheus/Alertmanager-Tools: aktive Alerts aus dem kube-prometheus-Stack anzeigen, den KubeAid mitliefert.
Danksagungen
KubeAid von Obmondo — der Cluster-Management-Stack, für den dieser Server gebaut wurde.
Argo CD — die GitOps-Engine unter KubeAid.
Lizenz
MIT © 2026 Deep Poharkar
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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