
Prometheus
STDIOMCP server for Prometheus metrics querying and analysis via PromQL
MCP server for Prometheus metrics querying and analysis via PromQL
A Model Context Protocol (MCP) server for Prometheus.
This provides access to your Prometheus metrics and queries through standardized MCP interfaces, allowing AI assistants to execute PromQL queries and analyze your metrics data.
Execute PromQL queries against Prometheus
Discover and explore metrics
Authentication support
Docker containerization support
Provide interactive tools for AI assistants
The list of tools is configurable, so you can choose which tools you want to make available to the MCP client. This is useful if you don't use certain functionality or if you don't want to take up too much of the context window.
Add to your Claude Desktop configuration:
{ "mcpServers": { "prometheus": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "PROMETHEUS_URL", "ghcr.io/pab1it0/prometheus-mcp-server:latest" ], "env": { "PROMETHEUS_URL": "<your-prometheus-url>" } } } }
Install via the Claude Code CLI:
claude mcp add prometheus --env PROMETHEUS_URL=http://your-prometheus:9090 -- docker run -i --rm -e PROMETHEUS_URL ghcr.io/pab1it0/prometheus-mcp-server:latest
Add to your MCP settings in the respective IDE:
{ "prometheus": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "PROMETHEUS_URL", "ghcr.io/pab1it0/prometheus-mcp-server:latest" ], "env": { "PROMETHEUS_URL": "<your-prometheus-url>" } } }
The easiest way to run the Prometheus MCP server is through Docker Desktop:
Via MCP Catalog: Visit the Prometheus MCP Server on Docker Hub and click the button above
Via MCP Toolkit: Use Docker Desktop's MCP Toolkit extension to discover and install the server
Configure your connection using environment variables (see Configuration Options below)
Run directly with Docker:
# With environment variables docker run -i --rm \ -e PROMETHEUS_URL="http://your-prometheus:9090" \ ghcr.io/pab1it0/prometheus-mcp-server:latest # With authentication docker run -i --rm \ -e PROMETHEUS_URL="http://your-prometheus:9090" \ -e PROMETHEUS_USERNAME="admin" \ -e PROMETHEUS_PASSWORD="password" \ ghcr.io/pab1it0/prometheus-mcp-server:latest
Variable | Description | Required |
---|---|---|
PROMETHEUS_URL | URL of your Prometheus server | Yes |
PROMETHEUS_USERNAME | Username for basic authentication | No |
PROMETHEUS_PASSWORD | Password for basic authentication | No |
PROMETHEUS_TOKEN | Bearer token for authentication | No |
ORG_ID | Organization ID for multi-tenant setups | No |
PROMETHEUS_MCP_SERVER_TRANSPORT | Transport mode (stdio, http, sse) | No (default: stdio) |
PROMETHEUS_MCP_BIND_HOST | Host for HTTP transport | No (default: 127.0.0.1) |
PROMETHEUS_MCP_BIND_PORT | Port for HTTP transport | No (default: 8080) |
Contributions are welcome! Please open an issue or submit a pull request if you have any suggestions or improvements.
This project uses uv
to manage dependencies. Install uv
following the instructions for your platform:
curl -LsSf https://astral.sh/uv/install.sh | sh
You can then create a virtual environment and install the dependencies with:
uv venv source .venv/bin/activate # On Unix/macOS .venv\Scripts\activate # On Windows uv pip install -e .
The project includes a comprehensive test suite that ensures functionality and helps prevent regressions.
Run the tests with pytest:
# Install development dependencies uv pip install -e ".[dev]" # Run the tests pytest # Run with coverage report pytest --cov=src --cov-report=term-missing
When adding new features, please also add corresponding tests.
Tool | Category | Description |
---|---|---|
execute_query | Query | Execute a PromQL instant query against Prometheus |
execute_range_query | Query | Execute a PromQL range query with start time, end time, and step interval |
list_metrics | Discovery | List all available metrics in Prometheus |
get_metric_metadata | Discovery | Get metadata for a specific metric |
get_targets | Discovery | Get information about all scrape targets |
MIT