Skip to main content
Glama

Jenkins MCP Server

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.

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Ein Model Context Protocol (MCP)-Server, der es KI-Tools wie Chatbots ermöglicht, mit Jenkins zu interagieren und es zu steuern, sodass Benutzer Jobs auslösen, Build-Status überprüfen und andere Jenkins-Operationen in natürlicher Sprache ausführen können.

  1. Beschreibung
    1. Komponenten
      1. Installation
        1. Verwendung
          1. Gängige Arbeitsabläufe
          2. Herstellen einer Verbindung zu einer vorhandenen Jenkins-Instanz
        2. OpenWebUI-Integration
          1. Lizenz

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol server that enables AI assistants to interact with Jenkins CI/CD servers, providing tools to check build statuses, trigger builds, and retrieve build logs.
              Last updated -
              3
              8
              JavaScript
              MIT License
              • Apple
            • A
              security
              A
              license
              A
              quality
              A server that uses the Model Context Protocol (MCP) to allow AI agents to safely execute shell commands on a host system.
              Last updated -
              1
              76
              2
              TypeScript
              MIT License
              • Linux
              • Apple
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol (MCP) server that enables real-time, interactive AI chat with Selector AI through a streaming-capable server and Docker-based client communicating via stdin/stdout.
              Last updated -
              1
              Python
              Apache 2.0
            • -
              security
              A
              license
              -
              quality
              The Model Context Protocol (MCP) Jenkins integration is an open-source implementation that bridges Jenkins with AI language models following Anthropic's MCP specification. This project enables secure, contextual AI interactions with Jenkins tools while maintaining data privacy and security.
              Last updated -
              25
              Python
              MIT License
              • Linux
              • Apple

            View all related MCP servers

            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