Prometheus MCP Server

MIT License
63
  • Linux
  • Apple

Integrations

  • Provides access to Prometheus metrics and queries, allowing execution of PromQL queries, metrics discovery and exploration, viewing instant and range query results, and retrieving target information from a Prometheus server.

Prometheus MCP Server

Ein Model Context Protocol (MCP)-Server für Prometheus.

Dies ermöglicht den Zugriff auf Ihre Prometheus-Metriken und -Abfragen über standardisierte MCP-Schnittstellen, sodass KI-Assistenten PromQL-Abfragen ausführen und Ihre Metrikdaten analysieren können.

Merkmale

  • [x] PromQL-Abfragen gegen Prometheus ausführen
  • [x] Metriken entdecken und erkunden
    • [x] Liste der verfügbaren Metriken
    • [x] Metadaten für bestimmte Metriken abrufen
    • [x] Sofortige Abfrageergebnisse anzeigen
    • [x] Ergebnisse der Bereichsabfrage mit unterschiedlichen Schrittweiten anzeigen
  • [x] Authentifizierungsunterstützung
    • [x] Grundlegende Authentifizierung über Umgebungsvariablen
    • [x] Bearer-Token-Authentifizierung aus Umgebungsvariablen
  • [x] Unterstützung für Docker-Containerisierung
  • [x] Bereitstellung interaktiver Tools für KI-Assistenten

Die Liste der Tools ist konfigurierbar, sodass Sie auswählen können, welche Tools dem MCP-Client zur Verfügung gestellt werden sollen. Dies ist nützlich, wenn Sie bestimmte Funktionen nicht nutzen oder das Kontextfenster nicht zu sehr beanspruchen möchten.

Verwendung

  1. Stellen Sie sicher, dass Ihr Prometheus-Server von der Umgebung aus zugänglich ist, in der Sie diesen MCP-Server ausführen.
  2. Konfigurieren Sie die Umgebungsvariablen für Ihren Prometheus-Server, entweder über eine .env Datei oder über Systemumgebungsvariablen:
# Required: Prometheus configuration PROMETHEUS_URL=http://your-prometheus-server:9090 # Optional: Authentication credentials (if needed) # Choose one of the following authentication methods if required: # For basic auth PROMETHEUS_USERNAME=your_username PROMETHEUS_PASSWORD=your_password # For bearer token auth PROMETHEUS_TOKEN=your_token # Optional: For multi-tenant setups like Cortex, Mimir or Thanos ORG_ID=your_organization_id
  1. Fügen Sie die Serverkonfiguration zu Ihrer Client-Konfigurationsdatei hinzu. Beispiel für Claude Desktop:
{ "mcpServers": { "prometheus": { "command": "uv", "args": [ "--directory", "<full path to prometheus-mcp-server directory>", "run", "src/prometheus_mcp_server/main.py" ], "env": { "PROMETHEUS_URL": "http://your-prometheus-server:9090", "PROMETHEUS_USERNAME": "your_username", "PROMETHEUS_PASSWORD": "your_password" } } } }

Hinweis: Wenn in Claude Desktop Error: spawn uv ENOENT angezeigt wird, müssen Sie möglicherweise den vollständigen Pfad zu uv angeben oder die Umgebungsvariable NO_UV=1 in der Konfiguration festlegen.

Docker-Nutzung

Dieses Projekt umfasst Docker-Unterstützung für einfache Bereitstellung und Isolierung.

Erstellen des Docker-Images

Erstellen Sie das Docker-Image mit:

docker build -t prometheus-mcp-server .

Ausführen mit Docker

Sie können den Server mit Docker auf verschiedene Arten ausführen:

Docker Run direkt verwenden:
docker run -it --rm \ -e PROMETHEUS_URL=http://your-prometheus-server:9090 \ -e PROMETHEUS_USERNAME=your_username \ -e PROMETHEUS_PASSWORD=your_password \ prometheus-mcp-server
Verwenden von Docker-Compose:

Erstellen Sie eine .env Datei mit Ihren Prometheus-Anmeldeinformationen und führen Sie dann Folgendes aus:

docker-compose up

Ausführen mit Docker in Claude Desktop

Um den Containerserver mit Claude Desktop zu verwenden, aktualisieren Sie die Konfiguration zur Verwendung von Docker mit den Umgebungsvariablen:

{ "mcpServers": { "prometheus": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "PROMETHEUS_URL", "-e", "PROMETHEUS_USERNAME", "-e", "PROMETHEUS_PASSWORD", "prometheus-mcp-server" ], "env": { "PROMETHEUS_URL": "http://your-prometheus-server:9090", "PROMETHEUS_USERNAME": "your_username", "PROMETHEUS_PASSWORD": "your_password" } } } }

Diese Konfiguration übergibt die Umgebungsvariablen von Claude Desktop an den Docker-Container, indem sie das Flag -e nur mit dem Variablennamen verwendet und die tatsächlichen Werte im env bereitstellt.

Hinweis zur Docker-Implementierung : Das Docker-Setup wurde aktualisiert und entspricht nun der Struktur des Chess-MCP-Projekts, das nachweislich mit Claude einwandfrei funktioniert. Die neue Implementierung verwendet einen mehrstufigen Build-Prozess und führt das Einstiegspunktskript direkt ohne zwischengeschaltetes Shell-Skript aus. Dieser Ansatz gewährleistet die korrekte Handhabung von stdin/stdout für die MCP-Kommunikation.

Entwicklung

Beiträge sind willkommen! Bitte melden Sie ein Problem oder senden Sie einen Pull Request, wenn Sie Vorschläge oder Verbesserungen haben.

Dieses Projekt verwendet uv zur Verwaltung von Abhängigkeiten. Installieren Sie uv gemäß den Anweisungen für Ihre Plattform:

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

Anschließend können Sie eine virtuelle Umgebung erstellen und die Abhängigkeiten mit folgendem Befehl installieren:

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

Projektstruktur

Das Projekt wurde mit einer src Verzeichnisstruktur organisiert:

prometheus-mcp-server/ ├── src/ │ └── prometheus_mcp_server/ │ ├── __init__.py # Package initialization │ ├── server.py # MCP server implementation │ ├── main.py # Main application logic ├── Dockerfile # Docker configuration ├── docker-compose.yml # Docker Compose configuration ├── .dockerignore # Docker ignore file ├── pyproject.toml # Project configuration └── README.md # This file

Testen

Das Projekt umfasst eine umfassende Testsuite, die die Funktionalität sicherstellt und hilft, Regressionen zu vermeiden.

Führen Sie die Tests mit pytest aus:

# Install development dependencies uv pip install -e ".[dev]" # Run the tests pytest # Run with coverage report pytest --cov=src --cov-report=term-missing

Die Tests sind wie folgt organisiert:

  • Konfigurationsvalidierungstests
  • Serverfunktionalitätstests
  • Fehlerbehandlungstests
  • Hauptanwendungstests

Wenn Sie neue Funktionen hinzufügen, fügen Sie bitte auch entsprechende Tests hinzu.

Werkzeuge

WerkzeugKategorieBeschreibung
execute_queryAbfrageFühren Sie eine PromQL-Sofortabfrage gegen Prometheus aus
execute_range_queryAbfrageFühren Sie eine PromQL-Bereichsabfrage mit Startzeit, Endzeit und Schrittintervall aus
list_metricsEntdeckungListen Sie alle verfügbaren Metriken in Prometheus auf
get_metric_metadataEntdeckungAbrufen von Metadaten für eine bestimmte Metrik
get_targetsEntdeckungErhalten Sie Informationen zu allen Scrape-Zielen

Lizenz

MIT


You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Bietet Zugriff auf Prometheus-Metriken und -Abfragen über standardisierte Model Context Protocol-Schnittstellen, sodass KI-Assistenten PromQL-Abfragen ausführen und Metrikdaten analysieren können.

  1. Merkmale
    1. Verwendung
      1. Docker-Nutzung
        1. Erstellen des Docker-Images
        2. Ausführen mit Docker
        3. Ausführen mit Docker in Claude Desktop
      2. Entwicklung
        1. Projektstruktur
          1. Testen
          2. Werkzeuge
        2. Lizenz

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            MCP server for interacting with Prometheus metrics and data.
            Last updated -
            8
            JavaScript
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            An MCP server that enables Large Language Models to retrieve, analyze, and query metric data from Prometheus databases through pre-defined routes.
            Last updated -
            24
            Python
            MIT License
            • Linux
            • Apple
          • A
            security
            A
            license
            A
            quality
            A proof-of-concept Prometheus MCP server, which likely enables Claude AI to interact with Prometheus monitoring systems through the Model Context Protocol.
            Last updated -
            2
            Python
            MIT License
          • -
            security
            F
            license
            -
            quality
            A tool that enables access to Prometheus metrics data through a Model Context Protocol server, allowing interaction with monitoring data using natural language.
            Last updated -
            Python

          View all related MCP servers

          ID: rwxokujcu0