mshegolev/prometheus-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROMETHEUS_URL | Yes | Prometheus server URL, e.g., https://prometheus.example.com (no trailing slash) | |
| PROMETHEUS_TOKEN | No | Bearer token for authentication (takes precedence over Basic auth) | |
| PROMETHEUS_PASSWORD | No | HTTP Basic auth password | |
| PROMETHEUS_USERNAME | No | HTTP Basic auth username | |
| PROMETHEUS_SSL_VERIFY | No | Set 'false' for self-signed certificates | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| prometheus_list_metricsA | List all metric names known to Prometheus, with optional substring filter. Wraps Use this first to discover valid metric names before writing PromQL
expressions for Examples:
- Use when: "What metrics does Prometheus have about HTTP requests?"
→ Returns:
dict with |
| prometheus_queryA | Execute an instant PromQL query against Prometheus. Wraps Examples:
- Use when: "Is the payment service up right now?"
→ Returns:
dict with |
| prometheus_query_rangeA | Execute a PromQL range query returning time-series data points. Wraps Prometheus may reject the query with HTTP 422 (bad_data) if the step produces too many data points (> 11,000 per series). Increase the step or narrow the time range if this happens. Note: The Prometheus API does not support filtering by branch or commit in this endpoint — filters are expressed purely in PromQL label matchers. Examples:
- Use when: "Show me CPU usage over the last hour with 1-minute resolution"
→ Returns:
dict with |
| prometheus_list_alertsA | List all active and pending alerts from Prometheus. Wraps Examples:
- Use when: "Are there any firing alerts right now?"
→ check Returns:
dict with |
| prometheus_list_targetsA | List Prometheus scrape targets, summarised by job and health. Wraps Examples:
- Use when: "Which targets are currently down?"
→ filter Returns:
dict with |
| prometheus_get_metric_metadataA | Get metric metadata (HELP text, TYPE, UNIT) from Prometheus. Wraps Use this to understand what a metric measures, its type (counter, gauge,
histogram, summary), and unit — essential for writing correct PromQL.
For example, knowing a metric is a counter means you should use Examples:
- Use when: "What does http_requests_total measure?"
→ Returns:
dict with |
| prometheus_list_label_valuesA | List all values for a specific label from Prometheus. Wraps Use this to discover what entities exist for a given label dimension — for example, which jobs are running, which instances are scraped, or which namespaces have metrics. This is essential for building targeted PromQL queries during investigation. Examples:
- Use when: "What jobs does Prometheus scrape?"
→ Returns:
dict with |
| prometheus_list_rulesA | List recording and alerting rules from Prometheus. Wraps Use this to understand the alerting configuration, find recording rules that pre-compute useful aggregations, and investigate which rules are currently firing or have health issues. Examples:
- Use when: "What alerting rules are configured?"
→ Returns:
dict with |
| alertmanager_list_silencesA | List all silences from Alertmanager. Wraps Use this to understand which alerts are currently silenced and why.
During incident handoffs, knowing what's silenced is critical — a
silenced alert is invisible in Prometheus Examples:
- Use when: "Is the HighCPU alert silenced?"
→ search silences for matching matchers.
- Use when: "Who silenced alerts for the payment service?"
→ check Returns:
dict with |
| alertmanager_list_alertsA | List alerts from Alertmanager with suppression state. Wraps Unlike Examples:
- Use when: "Why isn't the HighCPU alert firing?"
→ check if it's suppressed (silencedBy or inhibitedBy).
- Use when: "Show all suppressed alerts"
→ filter by Returns:
dict with |
| alertmanager_get_statusA | Get Alertmanager cluster status, version, and config. Wraps Examples:
- Use when: "Is Alertmanager healthy?"
→ check Returns:
dict with |
| alertmanager_list_alert_groupsA | List alert groups from Alertmanager showing routing topology. Wraps Examples:
- Use when: "Why did I get one notification instead of many?"
→ check which alerts are in the same group.
- Use when: "What receiver handles payment alerts?"
→ find the group and check its receiver.
- Don't use when: You want individual alert details
(call Returns:
dict with |
| correlate_alerts_across_instancesA | Correlate alerts across multiple Prometheus instances. Identifies related alerts that fire simultaneously or in sequence across different Prometheus instances using temporal windows and label similarity. Use this to:
Examples: - "Are there related alerts firing across our US and EU clusters?" - "Show me alerts that might be related to this HighCPU alert" Returns: CorrelationResult with correlated alerts, groups, and cascades. |
| group_alerts_by_serviceA | Group alerts by service identifiers across all instances. Clusters related alerts into service-level incident analysis bundles. Use this to:
Examples: - "Which services are currently experiencing alerts?" - "Group all alerts by service for my incident report" Returns: AlertGroupResult with alerts grouped by service identifier. |
| detect_cascading_alertsA | Detect cascading alert patterns with directional dependency inference. Identifies alert propagation patterns that indicate dependency failures. Use this to:
Examples: - "What alerts typically fire after DatabaseConnectionFailed?" - "Show me the failure propagation chain in this incident" Returns: CascadeDetectionResult with detected cascades and root causes. |
| federation_list_instancesA | List all configured Prometheus and Alertmanager instances with health status |
| prometheus_health_checkA | Check Prometheus liveness and readiness. Calls Use this to verify Prometheus is actually running before investigating blank query results. A failed health check means Prometheus is down; a failed readiness check means it's starting up or shutting down. Examples:
- Use when: "Why are all my queries returning empty results?"
→ check if Prometheus is healthy first.
- Use when: Setting up a new MCP connection — verify the target
is reachable and healthy.
- Don't use when: You want metric values (call Returns:
dict with |
| prometheus_get_cardinalityA | Get TSDB statistics and cardinality data from Prometheus. Wraps Use this to investigate cardinality explosions — the #1 operational Prometheus problem. High series counts slow queries and increase memory. Examples:
- Use when: "Why is Prometheus using so much memory?"
→ check Returns:
dict with |
| prometheus_get_runtime_infoA | Get Prometheus runtime information. Wraps Examples:
- Use when: "Why is Prometheus slow?" → check goroutine count
and time series count.
- Use when: "What's the retention policy?" → check Returns:
dict with |
| prometheus_get_build_infoA | Get Prometheus build information. Wraps Examples:
- Use when: "What version of Prometheus is running?" → check Returns:
dict with |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/mshegolev/prometheus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server