k8s-mcp-server
K8s-Cluster-Operations-MCP-Server
Ein Kubernetes-Operations-Abfrage-MCP-Dienst basierend auf FastMCP. Er kapselt alltägliche Diagnoseaktionen wie kubectl get / describe / logs / events --watch in schreibgeschützte, von LLMs aufrufbare Werkzeuge, sodass Clients wie Claude direkt den Clusterzustand auslesen und die erste Fehlerquelle lokalisieren können.
⚠️ Dieses Projekt exponiert ausschließlich schreibgeschützte Werkzeuge (kein create/update/delete). Dennoch wird empfohlen, die RBAC mit einem schreibgeschützten ServiceAccount zu kombinieren – siehe „Sicherheitsempfehlungen" weiter unten.
Werkzeugübersicht
Werkzeug | Beschreibung | Entsprechender kubectl-Befehl |
| Knotenlistenübersicht |
|
| Knotendetails |
|
| Ressourcenanforderungen/-limits und Überlastbewertung von Knoten |
|
| Problemknoten scannen (NotReady / verschiedene Pressure-Zustände) | — |
| Pod-Liste (mit Namespace / Label / Feld-Filter) |
|
| Pod-Details (mit Label / Workload / Namenspräfix-Lokalisierung) |
|
| Pod-Container-Logs lesen |
|
| Cluster-Ereignisse abfragen (dedupliziert + sortiert) |
|
| Ereignisstrom in Echtzeit überwachen |
|
| Knotenstatusänderungen in Echtzeit überwachen |
|
| Pod-Statusänderungen in Echtzeit überwachen |
|
Zusätzlich gibt es die beiden ergänzenden Fähigkeiten @mcp.prompt (Knoten-Diagnose / Cluster-Inspektionsführung) und @mcp.resource (k8s://cluster/summary – Cluster-Zusammenfassung).
Related MCP server: Kubernetes MCP Server
Verzeichnisstruktur
├── app.py # FastMCP 实例(叶子模块,破循环导入)
├── k8s_server.py # 入口:导入 Tools 即自动注册全部工具
├── k8s_client.py # K8s 客户端懒加载 + 单一配置真源
├── config.py # 12-Factor 环境变量配置
├── prompts.py # @mcp.prompt 引导
├── resources.py # @mcp.resource 资源
├── Tools/ # 每个工具一个文件,导入即注册
├── utils/ # 纯解析/辅助模块(无 K8s/MCP 依赖)
└── tests/ # 单元测试Installation und Ausführung
# 1. 创建虚拟环境并安装依赖
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux / macOS
source .venv/bin/activate
pip install -r requirements.txt
# 2. 运行(HTTP transport,默认 127.0.0.1:8081)
python k8s_server.pyAusführen der Tests
pip install -r requirements-dev.txt
python -m pytest -qKonfiguration
Die gesamte Konfiguration erfolgt über Umgebungsvariablen mit Standardwerten (siehe config.py):
Variable | Standardwert | Beschreibung |
|
| Expliziter Pfad zur kubeconfig-Datei; bei leerem Wert wird die offizielle Auflösungskette verwendet ( |
|
| Ob die TLS-Zertifikatsprüfung aktiviert ist; nur bei selbstsignierten Zertifikaten in Debug-Umgebungen auf |
|
| Name des MCP-Dienstes |
|
| Transportart, |
|
| Bind-Adresse |
|
| Bind-Port |
Ladepriorität der K8s-Verbindungskonfiguration: In-Cluster (Pod-ServiceAccount) → expliziter KUBECONFIG_PATH → offizielle kubeconfig-Auflösungskette – es wird stets eine einzige Quelle verwendet, keine Zusammenführung mehrerer Dateien.
Anbindung an MCP-Clients
Am Beispiel von Claude Code (bei bereits laufendem HTTP-Transport auf 127.0.0.1:8081):
{
"mcpServers": {
"k8s-node-server": {
"url": "http://127.0.0.1:8081/mcp"
}
}
}Sicherheitsempfehlungen
Schreibgeschützte RBAC verwenden: Konfigurieren Sie für den Pod / Benutzer, der diesen Dienst ausführt, eine schreibgeschützte ClusterRole – vermeiden Sie die Verwendung von Konten mit hohen Berechtigungen.
Standardmäßig nur lokal binden:
MCP_HOSTist standardmäßig127.0.0.1. Falls eine externe Erreichbarkeit erforderlich ist, muss zwingend eine Authentifizierung auf der Reverse-Proxy-Ebene ergänzt werden (TLS + Token / OIDC), da der HTTP-Transport selbst keine Authentifizierung und keine Ratenbegrenzung bietet.Zertifikatsprüfung nicht deaktivieren:
K8S_VERIFY_SSL=falseist ausschließlich für die temporäre Fehlersuche mit selbstsignierten Zertifikaten gedacht; in Produktionsumgebungen muss der Werttruebleiben.Keine Anmeldeinformationen ins Repository: Die kubeconfig enthält Schlüssel;
.gitignoreschließtkubeconfig*bereits aus – erzwingen Sie kein versehentliches Einchecken.
Bekannte Grenzen
Alle Werkzeuge sind schreibgeschützt und enthalten keine Änderungsoperationen (bewusste Designentscheidung).
Die
watch_*-Serie unterliegt einer globalen Sperre: Es kann immer nur ein Watch gleichzeitig aktiv sein, um den API-Server nicht zusätzlich zu belasten.Ereignis-/Log-Ausgaben haben eine Längenbegrenzung; sehr große Inhalte werden abgeschnitten (siehe Abschneide-Logik in
read_pod_logsowiemax_countinquery_events).
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 Servers
- AlicenseAqualityCmaintenanceProvides a set of read-only Kubernetes functions via an MCP server, enabling interaction with Kubernetes clusters through agents or coding assistants like GitHub Copilot.93Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables real-time Kubernetes cluster observability and debugging through standardized MCP interface. Provides access to pods, services, nodes, events, and includes built-in tools for cluster health analysis and issue identification.
- FlicenseNot gradedqualityDmaintenanceEnables Kubernetes cluster introspection via MCP tools, such as listing pods, namespaces, nodes, and events.4
- AlicenseAqualityCmaintenanceA read-only MCP server for inspecting Kubernetes clusters, allowing LLMs to list resources, describe pods, and read logs without mutation.5MIT
Related MCP Connectors
Read-only Remote MCP for externally grounded AI agent trust receipts.
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
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/zj-hub-coder/k8s-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server