Skip to main content
Glama

mcp_jenkins

Ein Jenkins MCP-Server. Über das Model Context Protocol (MCP) können KI-Tools (wie Chatbots) mit Ihrem Jenkins-Setup kommunizieren und es steuern, d. h. Informationen abrufen und Einstellungen ändern.

Hinweis: Dies ist eine minimale experimentelle Version des MCP Jenkins-Servers und befindet sich derzeit in der frühen Entwicklungsphase.

Beschreibung

Dieses Projekt bietet einen Model Context Protocol (MCP)-Server für die Interaktion mit Jenkins. Es ermöglicht Benutzern, Jenkins-Jobs auszulösen, Build-Status abzurufen und andere Jenkins-bezogene Vorgänge über die MCP-Schnittstelle auszuführen.

Related MCP server: mcp-jenkins

Komponenten

  • server.py : Die zentrale MCP Jenkins-Serveranwendung.

  • functions_schema.md : Definiert das Schema für die vom MCP Jenkins-Server bereitgestellten Funktionen.

  • client.py : Ein Beispielclient, der die Interaktion mit dem MCP Jenkins-Server demonstriert (nur als Referenz bereitgestellt).

  • functional tests : Enthält Funktionstests für den MCP Jenkins-Server.

Installation

Um das Paket zu installieren, führen Sie Folgendes aus:

pip install .

Verwendung

Gängige Arbeitsabläufe

Ausführen des Servers

So führen Sie den MCP-Server aus:

./docker/run.server

Ausführen des Beispielclients

So führen Sie den Beispielclient aus:

./docker/run.client

Um beispielsweise Builds für einen Job namens „Backups“ unter Verwendung eines bestimmten Modells aufzulisten, können Sie Folgendes ausführen:

./docker/run.client --model gemini-2.0-flash-001 "list builds backups"

Hinweis: Wenn das Paket über pip install . installiert wird, ist auch das Konsolenskript mcp_jenkins_client verfügbar.

Dies könnte zu einer Ausgabe ähnlich der folgenden führen:

Query: list builds backups Result: Recent builds for backups: - Build #1086: FAILURE (http://myjenkins:8080/job/backups/1086/)

Erstellen und Testen mit Docker

Ein gängiger Arbeitsablauf für Entwicklung und Tests besteht darin, zuerst das Docker-Image zu erstellen und dann die Tests auszuführen:

  1. Erstellen Sie das Docker-Image: Dieser Schritt bereitet die zum Testen erforderliche Umgebung vor.

    ./docker/build
  2. Tests ausführen: Führen Sie die Tests aus, nachdem der Build abgeschlossen ist.

    ./docker/run.tests

Diese Reihenfolge stellt sicher, dass Tests mit dem neuesten Build in einer konsistenten Docker-Umgebung durchgeführt werden.

Bereitstellen einer Testumgebung

So stellen Sie eine lokale Jenkins-Testinstanz bereit (ohne Authentifizierung, nur für Funktionstests):

./docker/deploy.test.environment

Herstellen einer Verbindung zu einer vorhandenen Jenkins-Instanz

Um den MCP Jenkins-Server mit einer vorhandenen Jenkins-Instanz zu verwenden, müssen Sie die folgenden Umgebungsvariablen konfigurieren:

  • JENKINS_URL : Die vollständige URL Ihrer Jenkins-Instanz (z. http://your-jenkins-host:8080 ). Dies ist erforderlich .

  • JENKINS_USER : (Optional) Ihr Jenkins-Benutzername, falls eine Authentifizierung erforderlich ist.

  • JENKINS_API_TOKEN : (Optional) Ihr Jenkins-API-Token. Dieser muss zusammen mit JENKINS_USER angegeben werden, wenn Authentifizierung verwendet wird. Sie können einen API-Token auf der Konfigurationsseite Ihres Jenkins-Benutzers ( <Jenkins URL>/me/configure ) generieren.

  • MCP_API_KEY : Ein geheimer API-Schlüssel zur Sicherung dieses MCP-Servers. Anfragen an den MCP-Server müssen diesen Schlüssel im X-API-Key -Header enthalten. Dies ist erforderlich , sofern DEBUG_MODE nicht auf true gesetzt ist.

  • DEBUG_MODE : Auf true setzen, um den MCP-Server im Debug-Modus auszuführen. Dadurch wird die MCP_API_KEY -Anforderung umgangen und eine ausführlichere Protokollierung ermöglicht. Nicht in der Produktion verwenden.

Beispielkonfiguration (Bash):

export JENKINS_URL="http://your-jenkins-host:8080" export JENKINS_USER="your_jenkins_username" export JENKINS_API_TOKEN="your_jenkins_api_token" export MCP_API_KEY="your_mcp_secret_key" # export DEBUG_MODE="true" # Uncomment for development/testing without MCP_API_KEY

Sobald diese Umgebungsvariablen festgelegt sind, können Sie den MCP-Server mit dem Docker-Skript ausführen:

./docker/run.server

Der MCP-Server versucht dann, eine Verbindung zu Ihrer angegebenen Jenkins-Instanz herzustellen.

OpenWebUI-Integration

Die Datei open-webui/open_webui_interface.py bietet ein Beispiel für die Integration dieses MCP-Jenkins-Servers in eine OpenWebUI-Instanz.

So verwenden Sie es:

  1. Navigieren Sie in Ihrer OpenWebUI-Oberfläche zum Abschnitt zum Hinzufügen oder Konfigurieren von Tools.

  2. Erstellen Sie ein neues Werkzeug.

  3. Kopieren Sie den gesamten Inhalt der Datei open-webui/open_webui_interface.py und fügen Sie ihn in die Toolkonfiguration in OpenWebUI ein.

  4. Wichtig : Sie müssen die Verbindungsparameter im eingefügten Code anpassen, insbesondere:

    • MCP_JENKINS_SERVER_URL : Setzen Sie diese Umgebungsvariable in Ihrer OpenWebUI-Umgebung auf die URL Ihres laufenden MCP Jenkins-Servers (z. B. http://localhost:5000 ). Das Skript verwendet standardmäßig http://localhost:5000 wenn die Variable nicht gesetzt ist.

    • MCP_API_KEY : Wenn Ihr MCP-Jenkins-Server einen API-Schlüssel benötigt, stellen Sie sicher, dass diese Umgebungsvariable in Ihrer OpenWebUI-Umgebung gesetzt ist. Das Skript gibt eine Warnung aus, wenn der Schlüssel nicht gefunden wird, versucht aber trotzdem, Anfragen zu stellen.

Nach der Konfiguration sollten die in open_webui_interface.py definierten Tools (z. B. list_jobs , trigger_build , get_build_status ) für die Verwendung in Ihrer OpenWebUI-Chat-Schnittstelle verfügbar sein.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andreimatveyeu/mcp_jenkins'

If you have feedback or need assistance with the MCP directory API, please join our Discord server