Skip to content
On this page

Last updated:

Configuration

This server can be configured via environment variables and a few CLI flags. CLI flags take precedence over environment variables for the same setting.

Precedence

CLI flag > environment variable > built-in default

Quick reference

NameTypeDefaultCLI flagDescription
PROMETHEUS_URLstring (URL)http://localhost:9090--prometheus-urlBase URL of your Prometheus server
PROMETHEUS_TIMEOUTinteger (seconds)10HTTP request timeout
PROMETHEUS_RETRIESinteger3Number of retries for Prometheus API calls
PROMETHEUS_RETRY_BACKOFF_MSinteger (ms)500Time to wait between retries
PROMETHEUS_MIN_INTERVAL_MSinteger (ms)noneIf set, enforces a minimum interval between query requests (basic rate limit)
PROMETHEUS_CACHE_TTL_SECSinteger (seconds)noneTTL for simple in-process caches (list metrics and label values)
PROMETHEUS_USERNAMEstringnone--prometheus-usernameBasic auth username
PROMETHEUS_PASSWORDstringnone--prometheus-passwordBasic auth password
booleanfalse--mcpStart MCP server over stdio
booleanfalse--metrics-exporterEnable internal Prometheus metrics at /metrics
integer (port)9091--metrics-portPort to expose the internal /metrics endpoint when enabled

::: note Advanced HTTP behavior (timeout, retries, backoff, rate limiting) is environment-only. Caches are per-process and reset on restart. :::

Basic Authentication

You can configure Basic Auth using either environment variables or CLI flags.

bash
export PROMETHEUS_URL=https://prom.example.com
export PROMETHEUS_USERNAME=api
export PROMETHEUS_PASSWORD=secret
prometheus-mcp --mcp
bash
prometheus-mcp --mcp \
  --prometheus-url https://prom.example.com \
  --prometheus-username api \
  --prometheus-password secret
bash
docker run --rm -it \
  -e PROMETHEUS_URL=https://prom.example.com \
  -e PROMETHEUS_USERNAME=api \
  -e PROMETHEUS_PASSWORD=secret \
  prometheus-mcp:latest --mcp

Security

Avoid committing secrets. Prefer environment variables, Docker secrets, or a host secret manager.

Metrics Exporter

If enabled with --metrics-exporter, the binary exposes its own Prometheus metrics at /metrics on --metrics-port ( default 9091).

bash
prometheus-mcp --mcp --metrics-exporter --metrics-port 9091
curl -s http://localhost:9091/metrics | head

Apache-2.0 Licensed