Skip to content
On this page

Last updated:

Docker

A multi-stage Dockerfile is provided for small runtime images.

Build

bash
docker build -t prometheus-mcp:latest .

Run (MCP server)

TIP

Use host networking on Linux for easiest connectivity to a host Prometheus on :9090.

  • Linux (Prometheus on host at :9090) — easiest with host networking:
bash
docker run --rm -it --network host prometheus-mcp:latest --mcp \
  --prometheus-url http://localhost:9090
  • macOS/Windows (no host network) — use host.docker.internal:
bash
docker run --rm -it prometheus-mcp:latest --mcp \
  --prometheus-url http://host.docker.internal:9090
  • Linux without host networking — map host gateway:
bash
docker run --rm -it --add-host=host.docker.internal:host-gateway \
  prometheus-mcp:latest --mcp \
  --prometheus-url http://host.docker.internal:9090

Run (CLI one-offs)

bash
# Instant query
docker run --rm prometheus-mcp:latest query --query 'up' \
  --prometheus-url http://host.docker.internal:9090

# Range query
docker run --rm prometheus-mcp:latest range --query 'rate(http_requests_total[5m])' \
  --start '2025-09-27T12:00:00Z' --end '2025-09-27T13:00:00Z' --step '30s' \
  --prometheus-url http://host.docker.internal:9090

Basic Auth

Supply credentials via environment variables or CLI flags.

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

Secrets

Prefer Docker secrets or environment variables managed by your orchestrator. Avoid baking credentials into images or command history.

Metrics exporter

Expose internal metrics at /metrics by enabling the exporter and mapping a port:

bash
docker run --rm -it -p 9091:9091 prometheus-mcp:latest --mcp \
  --metrics-exporter --metrics-port 9091 \
  --prometheus-url http://host.docker.internal:9090

Apache-2.0 Licensed