Prometheus MCP Server
A Go-based MCP server that exposes Prometheus query capabilities via the Model Context Protocol.
Installation
go install github.com/yshngg/prometheus-mcp-server@latest
Or pull the Docker image:
docker pull ghcr.io/yshngg/prometheus-mcp-server:latest
Usage
prometheus-mcp-server --prom-addr="http://localhost:9090"
Flags
Environment Variables
All flags can be set via environment variables: PROM_ADDR, MCP_ADDR, TRANSPORT, AUTH_TOKEN.
MCP Client Configuration
Add the following config to your MCP client:
{
"mcpServers": {
"prometheus": {
"command": "prometheus-mcp-server",
"args": ["--prom-addr", "http://localhost:9090"]
}
}
}
[!NOTE] Install the binary via
go install github.com/yshngg/prometheus-mcp-server@latestor pull the Docker image withdocker pull ghcr.io/yshngg/prometheus-mcp-server:latest.
If you don't have the binary installed, use Docker:
{
"mcpServers": {
"prometheus": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/yshngg/prometheus-mcp-server:latest",
"--prom-addr",
"http://host.docker.internal:9090"
]
}
}
}
Client-specific configuration
Add to claude_desktop_config.json:
{
"mcpServers": {
"prometheus": {
"command": "prometheus-mcp-server",
"args": ["--prom-addr", "http://localhost:9090"]
}
}
}
With Docker:
{
"mcpServers": {
"prometheus": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/yshngg/prometheus-mcp-server:latest",
"--prom-addr",
"http://host.docker.internal:9090"
]
}
}
}
Add to opencode.json (guide):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"prometheus": {
"type": "local",
"command": [
"prometheus-mcp-server",
"--prom-addr",
"http://localhost:9090"
]
}
}
}
Run the server with HTTP transport:
prometheus-mcp-server --transport=http --mcp-addr="localhost:8080"
Then configure your client to use http://localhost:8080/mcp.
For authenticated access, set AUTH_TOKEN:
AUTH_TOKEN=my-token prometheus-mcp-server --transport=http
Your client must then include Authorization: Bearer my-token in requests to /mcp.
Tools
Expression: instant_query, range_query
Metadata: find_series_by_labels, list_label_names, list_label_values, target_metadata_query, metric_metadata_query
Discovery: target_discovery, alert_query, rule_query, alertmanager_discovery
TSDB Admin: tsdb_snapshot, delete_series, clean_tombstones
Management: health_check, readiness_check, reload, quit
Resources
The server exposes Prometheus data as URI-addressable resources under the prom:/// scheme:
Resource Templates
URI templates for dynamic data access:
Prompts
License
Apache License 2.0