Labsco
MCP SERVER

Prometheus

by idanfishman

Ask questions of a Prometheus server in plain language — metrics, labels, targets and PromQL, all read-only.

Observability, Monitoring & Incident Response
Summary
Discovery first, which is what turns "write me a PromQL query" from a guess into a query.

The label and metric listing tools are why this is more than a query proxy: a model that cannot see your metric names and label values writes PromQL that returns an empty result set with no error to explain it. Everything is read-only and the three groups toggle independently, so giving an agent discovery without the ability to run expensive range queries is a supported configuration.

What it is

A Prometheus server exposing read-only tools in three groups: discovery of what exists, information about the server itself, and query execution.

What you get
  • Discovery: prometheus_list_metrics for every metric name, prometheus_metric_metadata for one metric's metadata, prometheus_list_labels and prometheus_label_values for the label schema
  • Targets: prometheus_list_targets for every scrape target, prometheus_scrape_pool_targets for the targets in one pool
  • Queries: prometheus_query for an instant query, prometheus_query_range for a range with a start, an end and a resolution step
  • Server information: prometheus_runtime_info and prometheus_build_info
  • Each group can be switched off independently, so a deployment can expose discovery without queries or the reverse
  • Every tool is marked read-only
Requirements

Node, and network access to a Prometheus server whose address you configure. It runs over stdio or HTTP, and a container image is published. It carries no credentials of its own — whatever protects your Prometheus still applies.

Setup effort

One command — npx prometheus-mcp@latest stdio