m

mcp-prometheus

@jeanlopezxyz/mcp-prometheus
0 Stars 10 次浏览 jeanlopezxyz 更新于 2026-08-23

A Model Context Protocol (MCP) server for Prometheus monitoring

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "mcp-prometheus": {
      "args": [
        "mcp-prometheus@2.1.1"
      ],
      "command": "npx"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

Prometheus MCP Server (Go)


npm version
Go
GitHub release

A Model Context Protocol (MCP) server for Prometheus integration. Native Go binary with built-in Kubernetes connectivity via client-go.

# Installation

# # npx

npx -y mcp-prometheus@latest

# # MCP Client Configuration

Add to your MCP client configuration (VS Code, Cursor, Windsurf, etc.):

{
  "mcpServers": {
    "prometheus": {
      "command": "npx",
      "args": ["-y", "mcp-prometheus@latest"],
      "env": {
        "PROMETHEUS_URL": "http://localhost:9090"
      }
    }
  }
}

# # VS Code

code - -add-mcp '{"name":"prometheus","command":"npx","args":["-y","mcp-prometheus@latest"],"env":{"PROMETHEUS_URL":"http://localhost:9090"}}'

# # Kubernetes Auto-Connect

Automatically connects to Prometheus running in OpenShift/Kubernetes via the K8S API service proxy. Uses native kubeconfig/in-cluster config via client-go. No kubectl or port-forwarding required.

Default: openshift-monitoring/prometheus-operated:9090

{
  "mcpServers": {
    "prometheus": {
      "command": "npx",
      "args": ["-y", "mcp-prometheus@latest"]
    }
  }
}

# # Binary

Download from GitHub Releases or build from source:

make build
./mcp-prometheus

# Configuration

# # Environment Variables

| Variable | Description |
|- -- -- -- -- -|- -- -- -- -- -- --|
| PROMETHEUS_URL | Direct Prometheus API URL (overrides K8S auto-connect) |

# # CLI Flags

| Flag | Description | Default |
|- -- -- -|- -- -- -- -- -- --|- -- -- -- --|
| - -url | Direct Prometheus URL | - |
| - -namespace | Kubernetes namespace | openshift-monitoring |
| - -service | Kubernetes service name | prometheus-operated |
| - -service-port | Kubernetes service port | 9090 |
| - -service-scheme | Service scheme (http/https) | https |
| - -kubeconfig | Path to kubeconfig file | auto-detect |

Precedence: - -url / PROMETHEUS_URL > K8S auto-connect

Connection strategy:

  1. Direct URL (if - -url or PROMETHEUS_URL is set)
  2. K8S API proxy (auto-detect kubeconfig or in-cluster config)

# Tools (11)

# # Basic Queries

| Tool | Description |
|- -- -- -|- -- -- -- -- -- --|
| query | Execute a PromQL instant query |
| queryRange | Execute a PromQL range query over time |
| getTargets | Get scrape targets status |
| getRules | Get alerting and recording rules |
| getPrometheusStatus | Get server version and runtime info |

# # Cluster Diagnostics

| Tool | Description |
|- -- -- -|- -- -- -- -- -- --|
| getClusterHealthOverview | Comprehensive cluster health overview |
| diagnoseNode | Diagnose a specific node's health |
| diagnoseNamespace | Diagnose a namespace's health |

# # Resource Analysis

| Tool | Description |
|- -- -- -|- -- -- -- -- -- --|
| getTopResourceConsumers | Top CPU/memory/network consumers |
| investigatePod | Deep investigation of a specific pod |
| compareTimeRanges | Compare metrics between two time periods |


# Example Prompts

"What's the current CPU usage across all nodes?"
"Show me the cluster health overview"
"Which pods are using the most memory?"
"Diagnose node worker-1"
"Are all scrape targets healthy?"
"Compare CPU usage now vs 24 hours ago"
"Investigate pod my-app in namespace production"
"What alerting rules are defined?"

# Development

# # Build

make build              #  Build for current platform
make build-all-platforms #  Cross-compile for all platforms

# # Container

podman build -f Containerfile -t mcp-prometheus .

# Kubernetes / OpenShift Deployment

# # Container Image

The container image is available on GitHub Container Registry:

ghcr.io/jeanlopezxyz/mcp-prometheus:latest

# # Helm Chart

Deploy using the included Helm chart:

#  Add the chart repository (or use local chart)
helm upgrade - -install mcp-prometheus ./charts/mcp-prometheus \
  - -namespace mcp-servers \
  - -create-namespace \
  - -set openshift=true

# # # Helm Values

| Parameter | Description | Default |
|- -- -- -- -- --|- -- -- -- -- -- --|- -- -- -- --|
| image.registry | Container registry | ghcr.io |
| image.repository | Image repository | jeanlopezxyz/mcp-prometheus |
| image.version | Image tag | latest |
| openshift | Enable OpenShift Routes | false |
| service.port | Service port | 8080 |
| prometheus.namespace | Prometheus namespace | openshift-monitoring |
| prometheus.service | Prometheus service name | prometheus-operated |
| rbac.useClusterReader | Use cluster-reader role | true |

# # # Example with custom Prometheus

helm upgrade - -install mcp-prometheus ./charts/mcp-prometheus \
  - -namespace mcp-servers \
  - -set openshift=true \
  - -set prometheus.url=http://prometheus.monitoring:9090

# License

MIT

相关 MCP 服务