Databases Python ★ 480

pab1it0/prometheus-mcp-server

Prometheus açık kaynaklı izleme sistemini sorgulamak ve analiz etmek için kullanılır.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "pab1it0-prometheus-mcp-server": {
      "command": "python",
      "args": [
        "-m",
        "prometheus_mcp_server"
      ]
    }
  }
}

Prometheus MCP Server

GitHub Container Registry Helm Chart GitHub Release Codecov Python License

AI asistanlarına Prometheus metriklerinizi sorgulama gücünü verin.

Prometheus metriklerinize ve sorgularınıza standartlaştırılmış MCP arayüzleri aracılığıyla erişim sağlayan bir Model Context Protocol (MCP) sunucusu. AI asistanlarının PromQL sorguları çalıştırmasına ve metrik verilerinizi analiz etmesine olanak tanır.

Başlangıç

Önkoşullar

  • Ortamınızdan erişilebilir Prometheus sunucusu
  • MCP uyumlu istemci (Claude Desktop, VS Code, Cursor, Windsurf, vb.)

Kurulum Yöntemleri

Claude Desktop

Claude Desktop yapılandırmanıza ekleyin:

{
  "mcpServers": {
    "prometheus": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "PROMETHEUS_URL",
        "ghcr.io/pab1it0/prometheus-mcp-server:latest"
      ],
      "env": {
        "PROMETHEUS_URL": "<your-prometheus-url>"
      }
    }
  }
}
Claude Code

Claude Code CLI aracılığıyla yükleyin:

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
VS Code / Cursor / Windsurf

İlgili IDE'deki MCP ayarlarına ekleyin:

{
  "prometheus": {
    "command": "docker",
    "args": [
      "run",
      "-i",
      "--rm",
      "-e",
      "PROMETHEUS_URL",
      "ghcr.io/pab1it0/prometheus-mcp-server:latest"
    ],
    "env": {
      "PROMETHEUS_URL": "<your-prometheus-url>"
    }
  }
}
Docker Desktop

Prometheus MCP sunucusunu çalıştırmanın en kolay yolu Docker Desktop üzerindedir:

  1. MCP Kataloğu Aracılığıyla: Docker Hub'da Prometheus MCP Server sayfasını ziyaret edin ve yukarıdaki düğmeyi tıklayın

  2. MCP Toolkit Aracılığıyla: Docker Desktop'ın MCP Toolkit uzantısını kullanarak sunucuyu keşfedin ve yükleyin

  3. Ortam değişkenlerini kullanarak bağlantınızı yapılandırın (aşağıdaki Yapılandırma Seçeneklerine bakın)

Manuel Docker Kurulumu

Docker ile doğrudan çalıştırın:

# Ortam değişkenleri ile
docker run -i --rm \
  -e PROMETHEUS_URL="http://your-prometheus:9090" \
  ghcr.io/pab1it0/prometheus-mcp-server:latest

# Kimlik doğrulaması ile
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
Helm Chart (Kubernetes)

OCI registry'deki Helm chart kullanarak Kubernetes'e dağıtın:

helm install prometheus-mcp-server \
  oci://ghcr.io/pab1it0/charts/prometheus-mcp-server \
  --version 1.0.0 \
  --set prometheus.url="http://prometheus:9090"

Kimlik doğrulaması ile:

helm install prometheus-mcp-server \
  oci://ghcr.io/pab1it0/charts/prometheus-mcp-server \
  --version 1.0.0 \
  --set prometheus.url="http://prometheus:9090" \
  --set auth.username="admin" \
  --set auth.password="secret"

Özel values dosyası ile:

helm install prometheus-mcp-server \
  oci://ghcr.io/pab1it0/charts/prometheus-mcp-server \
  --version 1.0.0 \
  -f values.yaml

Tüm kullanılabilir yapılandırma seçenekleri için chart values dosyasına bakın.

Yapılandırma Seçenekleri

Değişken Açıklama Gerekli
PROMETHEUS_URL Prometheus sunucunuzun URL'si Evet
PROMETHEUS_URL_SSL_VERIFY SSL doğrulamasını devre dışı bırakmak için False olarak ayarlayın Hayır
PROMETHEUS_DISABLE_LINKS Sorgu sonuçlarında Prometheus UI bağlantılarını devre dışı bırakmak için True olarak ayarlayın (context tokenlerini kaydeder) Hayır
PROMETHEUS_REQUEST_TIMEOUT Asılı kalan istekleri önlemek için saniye cinsinden istek zaman aşımı (DDoS koruması) Hayır (varsayılan: 30)
PROMETHEUS_USERNAME Temel kimlik doğrulama için kullanıcı adı Hayır
PROMETHEUS_PASSWORD Temel kimlik doğrulama için şifre Hayır
PROMETHEUS_TOKEN Kimlik doğrulama için Bearer token Hayır
PROMETHEUS_CLIENT_CERT Karşılıklı TLS kimlik doğrulaması için istemci sertifikası dosyasının yolu Hayır
PROMETHEUS_CLIENT_KEY Karşılıklı TLS kimlik doğrulaması için istemci private key dosyasının yolu Hayır
REQUESTS_CA_BUNDLE Sunucunun TLS sertifikasını doğrulamak için CA bundle dosyasının yolu (standart requests library ortam değişkeni) Hayır
ORG_ID Çok kiracılı kurulumlar için kuruluş ID'si Hayır
PROMETHEUS_MCP_SERVER_TRANSPORT Transport modu (stdio, http, sse) Hayır (varsayılan: stdio)
PROMETHEUS_MCP_BIND_HOST HTTP transport için host Hayır (varsayılan: 127.0.0.1)
PROMETHEUS_MCP_BIND_PORT HTTP transport için port Hayır (varsayılan: 8080)
PROMETHEUS_MCP_STATELESS_HTTP Çok replica desteği için stateless HTTP modunu etkinleştirin Hayır (varsayılan: False)
PROMETHEUS_CUSTOM_HEADERS JSON string olarak özel headers Hayır
TOOL_PREFIX Tüm tool adları için önek (örneğin, staging sonucu staging_execute_query ile verir). Cursor'da farklı ortamları hedefleyen birden fazla örnek çalıştırmak için kullanışlıdır Hayır

Kullanılabilir Araçlar

Araç Kategori Açıklama
health_check Sistem Konteyner izleme ve durum doğrulaması için health check endpoint'i
execute_query Query Prometheus'a karşı PromQL anlık sorgusu çalıştırın
execute_range_query Query Başlangıç saati, bitiş saati ve step aralığı ile PromQL range sorgusu çalıştırın
list_metrics Discovery Pagination ve filtreleme desteği ile Prometheus'taki tüm kullanılabilir metrikleri listeleyin
get_metric_metadata Discovery Bir metrik veya isteğe bağlı filtreleme ile toplu metadata alın
get_targets Discovery Tüm scrape target'ları hakkında bilgi alın

Araçlar listesi yapılandırılabilir olduğundan, MCP istemcisine hangi araçları sunmak istediğinizi seçebilirsiniz. Bu, belirli işlevselliği kullanmıyorsanız veya context window'ı çok fazla kullanmak istemiyorsanız yararlıdır.

Özellikler

  • Prometheus'a karşı PromQL sorguları çalıştırın
  • Metrikleri keşfet ve araştır
    • Kullanılabilir metrikleri listeleyin
    • Belirli metrikler için metadata alın
    • Metrik metadata'sında ad veya açıklamaya göre tek bir çağrıda arama yapın
    • Anlık sorgu sonuçlarını görüntüleyin
    • Farklı step aralıklarıyla range sorgu sonuçlarını görüntüleyin
  • Kimlik doğrulama desteği
    • Ortam değişkenlerinden temel auth
    • Ortam değişkenlerinden Bearer token auth
  • Docker konteynerizasyon desteği
  • AI asistanları için etkileşimli araçlar sağlayın

Geliştirme

Katkılar memnuniyetle karşılanır! Başlamak, kod standartları ve pull request süreci hakkında ayrıntılı bilgi için lütfen Katkı Rehberi'ne bakın.

Bu proje bağımlılıkları yönetmek için uv kullanır. Platformunuz için talimatları izleyerek uv'yi yükleyin:

curl -LsSf https://astral.sh/uv/install.sh | sh

Daha sonra sanal bir ortam oluşturabilir ve bağımlılıkları şu şekilde yükleyebilirsiniz:

uv venv
source .venv/bin/activate  # Unix/macOS üzerinde
.venv\Scripts\activate     # Windows üzerinde
uv pip install -e .

Test

Proje, işlevselliği sağlayan ve regressyonları önlemeye yardımcı olan kapsamlı bir test paketini içerir.

Testleri pytest ile çalıştırın:

# Geliştirme bağımlılıklarını yükleyin
uv pip install -e ".[dev]"

# Testleri çalıştırın
pytest

# Kapsam raporu ile çalıştırın
pytest --cov=src --cov-report=term-missing

Yeni özellikler eklerken, lütfen karşılık gelen testleri de ekleyin.

Lisans

MIT


Benzer MCP sunucuları

Daha fazla: Databases →