A Model Context Protocol server for Prometheus and Kubernetes monitoring with support for querying metrics, managing alerts, and inspecting Kubernetes cluster resources
This server has significant definition quality gaps. While tool names follow verb_noun conventions (k8s_get_pod_logs, prometheus_query, alertmanager_silence), parameter descriptions are sparse or missing entirely. The k8s_get_pod_logs tool has basic parameter descriptions but lacks output schema documentation. Prometheus tools (prometheus_health, prometheus_cpu, prometheus_memory) lack any input parameter descriptions despite accepting parameters. Critical issue: alertmanager_silence accepts a 'duration' parameter described as 'Duration like "2h", "30m"' (an example in description, which violates rubric guidance) with no format constraint or validation documented. Output schemas are completely undocumented across all 9 tools, LLMs cannot predict return structure. Error handling is generic ('Error getting logs: {e}', 'Kubernetes API error') with no recovery guidance. The server implements 2 resources (k8s://pods, k8s://pods/all, k8s://deployments, etc.) and 2 tool groups (K8s and Prometheus/Alertmanager), but tools and resources are not cross-referenced with consistent naming patterns.
Get alerts from Alertmanager.
Silence an alert in Alertmanager.
Describe a specific pod.
Get logs from a specific pod.
Get current CPU usage across all instances.
Check Prometheus server health status.
Get current memory usage across all instances.
No output schemas documented for any of the 9 tools. LLMs cannot predict return structure, field names, or data types, forcing them to guess and risking extraction failures.
Prometheus tools (prometheus_health, prometheus_cpu, prometheus_memory, prometheus_services) have no documented input parameters despite being defined as tools. It is unclear whether they accept arguments or are zero-parameter queries.
alertmanager_silence uses example values in parameter description ('Duration like "2h", "30m"') instead of enum or format constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 30 | - | v1 |
Execute a PromQL query against Prometheus.
Check which services are up/down.
Error responses are generic and non-actionable. E.g. 'Error getting logs: {e}' and 'Kubernetes API error' provide no guidance on retry, root cause, or recovery steps.
alertmanager_silence is a destructive (WRITE) tool with no confirmation step, dry-run option, or destructive hint annotation. Agents may silence alerts accidentally.
No tool composition or chaining documentation. It is unclear whether k8s_describe_pod returns pod_id values that downstream tools accept, or how to chain queries across the Prometheus and K8s tool groups.
No pagination support documented. Tools like alertmanager_get_alerts may return large result sets with no limit or next_cursor, risking context window overflow.