Model Context Protocol server for Prometheus integration, enabling AI assistants to query metrics and monitor system health
Five tools with basic descriptions and schemas, but significant gaps in parameter documentation and output structure. Tool names follow verb_noun convention (health_check, execute_query, list_metrics). Descriptions exist but are generic (avg ~60 chars, below 194-char baseline). Critical issue: execute_query and execute_range_query lack parameter descriptions for 'time', 'start', 'end', 'step', LLMs cannot infer format constraints (RFC3339 vs Unix timestamp ambiguity). No output schemas documented. No error handling guidance. Health_check and list_metrics have empty input schemas ({}), which is acceptable, but no documentation of what fields they return. get_metric_metadata accepts 'metric' param but no description of format or how to discover valid metric names. No pagination support for list_metrics despite Prometheus potentially returning hundreds of metrics.
Execute a PromQL instant query against Prometheus
Execute a PromQL range query with start time, end time, and step interval
Get metadata for a specific metric
Health check endpoint for container monitoring and status verification
List all available metrics in Prometheus
Parameter descriptions missing for time-based inputs. 'time' in execute_query, 'start'/'end'/'step' in execute_range_query lack format guidance. LLMs cannot distinguish RFC3339 from Unix timestamp without explicit description.
No output schemas documented for any tool. LLMs cannot plan downstream operations or extract required fields (e.g., metric names from list_metrics, values from execute_query). Violates pattern:tool requirement.
list_metrics has no pagination support. Prometheus can return hundreds/thousands of metrics. Unbounded results blow context window. Missing limit/offset parameters and total count in response.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
get_metric_metadata 'metric' parameter lacks description of valid format and discovery path. No guidance on how to find metric names (e.g., 'call list_metrics first').
No error handling guidance. Tools return raw exceptions (e.g., 'health_check failed' in code) without recovery hints. LLMs cannot self-correct or retry intelligently.