An MCP server that exposes Grafana/Prometheus dashboard variables and metrics as resources, enabling LLMs to query Prometheus with accurate metric and label information
The server provides 4 tools for Prometheus querying with generally clear naming and basic parameter descriptions. However, several critical issues limit quality: (1) descriptions are in Chinese, making LLM processing unreliable; (2) output schemas are completely undocumented, callers have no idea what fields to expect; (3) parameter descriptions lack format constraints and examples; (4) no error handling guidance is provided; (5) tool descriptions lack depth about WHEN to use each tool vs alternatives. The naming convention (prometheus_query, prometheus_range_query, etc.) follows verb_noun pattern appropriately, but parameter names like 'query_time' and 'match' could be more explicit about expected format. Parameters are typed but lack concrete constraints (e.g., RFC3339 format for time parameters is mentioned in descriptions but not as schema constraints). All tools are read-only, so no destructive operation risks, but the absence of any schema documentation for response structure is a major gap.
执行 Prometheus 即时查询
查询指定 label 的所有可能值
执行 Prometheus 范围查询获取时间序列数据
查询时间序列
All tool descriptions are in Chinese, not English. LLMs optimized for English will misinterpret intent and may select wrong tools. Tool descriptions should be in English for maximum compatibility with multilingual agents.
No output/response schemas documented for any tool. Callers cannot plan downstream operations or extract expected fields. Each tool should document the structure of its return value (e.g., 'Returns object with keys: values (array), status (string), warnings (array)').
Parameter descriptions mention formats (RFC3339, Unix timestamp) but do not enforce them via schema constraints. Time parameters should include minLength, pattern, or enum constraints so LLMs and validators can catch invalid input early.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No error handling guidance provided. Tools return Prometheus API responses directly without wrapping errors in actionable messages. If a PromQL query is invalid, the agent receives a raw Prometheus error with no guidance on how to fix it or which tool to call next.
Parameter 'query_time' in prometheus_query and 'step' in prometheus_range_query lack clarity on expected formats. Descriptions mention 'RFC3339 或 Unix 时间戳' (RFC3339 or Unix timestamp) and '1m、5m' but do not specify which is preferred or whether both are truly supported.
No documentation of tool selection criteria. All four tools query Prometheus but differ in scope (instant vs range, label values vs series). Descriptions should clarify WHEN to use prometheus_query vs prometheus_range_query vs prometheus_series to prevent LLM confusion.