MCP server for Kubernetes cluster observability, pod diagnostics, and integration with Prometheus and Grafana Loki for real-time monitoring and log analysis
Server provides 10 Kubernetes observability tools with reasonable naming (verb_noun pattern) and Spanish descriptions. All tools have input schemas with type definitions and parameter descriptions. However, descriptions are inconsistent in depth and quality, some are detailed (diagnose_pod_health, get_pod_logs) while others are terse (list_namespaces, get_cluster_nodes). Output schemas are not documented in the source code, making it unclear what fields agents should expect. Error handling is minimal, tools catch exceptions but return generic error pods/events rather than actionable recovery guidance. No tool annotations (readOnlyHint, destructiveHint) despite all being read-only operations. Parameter descriptions lack format constraints (e.g., PromQL syntax rules, LogQL examples are present but not formalized as patterns). Missing pagination guidance for list tools.
Herramienta compuesta SRE que correlaciona estado del pod, eventos del cluster, consumo de memoria/CPU y logs de error para emitir un diagnostico automatizado.
Obtiene los eventos recientes del cluster (Warnings, errores de scheduling, BackOff, OOMKilled).
Lista los nodos del cluster con su estado (Ready/NotReady), roles, capacidad y condiciones de presion (memoria/disco).
Obtiene la lista de pods en un namespace de Kubernetes con su estado de ejecucion, cantidad de reinicios y nodo asignado.
Obtiene la configuracion y estado detallado de un pod: contenedores, imagenes, exit codes, limits/requests y condiciones.
Obtiene las ultimas N lineas de log de un pod directamente via la API de Kubernetes (sin depender de Loki). Equivalente a 'kubectl logs --tail'. Soporta --previous para ver logs de la instancia anterior al ultimo reinicio.
Output schemas not documented. Tools return PodSummary, ClusterEvent, and raw dicts, but LLMs cannot see field definitions. Agents must infer structure from examples or fail on unexpected fields.
Error handling returns generic error objects (e.g., 'k8s-api-error' pod, 'APIError' event) instead of actionable recovery guidance. LLMs cannot determine if error is retryable, user-fixable, or fatal.
No tool annotations despite all 10 tools being read-only. Missing readOnlyHint metadata prevents agents from understanding safety profile and planning accordingly.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Lista todos los namespaces del cluster con su estado (Active/Terminating) y fecha de creacion. Recomendado como primer paso antes de consultar pods o eventos, para no adivinar nombres.
Ejecuta una consulta LogQL contra Grafana Loki para recuperar trazas de logs filtradas por servicio, nivel o expresion regular.
Ejecuta una consulta PromQL en tiempo real o simulada para analizar uso de CPU, memoria, saturacion de red o latencia.
Ejecuta una consulta PromQL sobre un rango de tiempo (matrix). Devuelve datapoints con resolucion configurable. Util para analizar tendencias de CPU, memoria o latencia antes de un incidente.
Pagination not addressed. list_namespaces and get_cluster_nodes return unbounded lists; no limit, offset, or cursor parameters. Large clusters could exhaust context window.
PromQL and LogQL parameter descriptions include examples but lack formal syntax constraints. LLMs may hallucinate invalid queries. Should reference PromQL/LogQL grammar or provide enum of common patterns.