prometheus-mcp 0.0.1

Prometheus Model Context Protocol (MCP) Rust server
Documentation
# Docker

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

## Build

```bash
docker build -t prometheus-mcp:latest .
```

## Run (MCP server)

- 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.

- Using environment variables:
```bash
docker run --rm -it \
  -e PROMETHEUS_URL=https://prom.example.com \
  -e PROMETHEUS_USERNAME=api \
  -e PROMETHEUS_PASSWORD=secret \
  prometheus-mcp:latest --mcp
```

- Using flags:
```bash
docker run --rm -it prometheus-mcp:latest --mcp \
  --prometheus-url https://prom.example.com \
  --prometheus-username api \
  --prometheus-password secret
```

## 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
```