Skip to main content
Glama

Jenkins MCP Server

mcp_jenkins

Jenkins MCP サーバー。モデルコンテキストプロトコル (MCP) を使用すると、AI ツール (チャットボットなど) が Jenkins のセットアップと通信して制御し、情報を取得したり設定を変更したりできます。

**注:**これは MCP Jenkins サーバーの最小限の実験バージョンであり、現在は開発初期段階です。

説明

このプロジェクトは、Jenkinsと連携するためのモデルコンテキストプロトコル(MCP)サーバーを提供します。ユーザーはMCPインターフェースを介して、Jenkinsジョブのトリガー、ビルドステータスの取得、その他のJenkins関連操作を実行できます。

コンポーネント

  • server.py : コア MCP Jenkins サーバー アプリケーション。
  • functions_schema.md : MCP Jenkins サーバーによって公開される関数のスキーマを定義します。
  • client.py : MCP Jenkins サーバーと対話する方法を示すサンプル クライアント (参照のみを目的として提供されています)。
  • functional tests : MCP Jenkins サーバーの機能テストが含まれています。

インストール

パッケージをインストールするには、次のコマンドを実行します。

pip install .

使用法

一般的なワークフロー

サーバーの実行

MCP サーバーを実行するには:

./docker/run.server
サンプルクライアントの実行

サンプルクライアントを実行するには:

./docker/run.client

たとえば、特定のモデルを使用して「backups」という名前のジョブのビルドを一覧表示するには、次のコマンドを実行します。

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

注: パッケージがpip install .経由でインストールされている場合は、 mcp_jenkins_clientコンソール スクリプトも利用できます。

次のような出力が生成される場合があります:

Query: list builds backups Result: Recent builds for backups: - Build #1086: FAILURE (http://myjenkins:8080/job/backups/1086/)
Dockerを使ったビルドとテスト

開発とテストの一般的なワークフローは、最初に Docker イメージをビルドし、次にテストを実行することです。

  1. **Docker イメージをビルドする:**この手順では、テストに必要な環境を準備します。
    ./docker/build
  2. **テストの実行:**ビルドが完了したら、テストを実行します。
    ./docker/run.tests

このシーケンスにより、一貫した Docker 環境で最新のビルドに対してテストが実行されるようになります。

テスト環境の展開

ローカル Jenkins テスト インスタンスをデプロイするには (認証なし、機能テストのみ):

./docker/deploy.test.environment

既存のJenkinsインスタンスへの接続

既存の Jenkins インスタンスで MCP Jenkins サーバーを使用するには、次の環境変数を設定する必要があります。

  • JENKINS_URL : Jenkinsインスタンスの完全なURL(例: http://your-jenkins-host:8080 )。これは必須です。
  • JENKINS_USER : (オプション) 認証が必要な場合の Jenkins ユーザー名。
  • JENKINS_API_TOKEN : (オプション) Jenkins APIトークン。認証を使用する場合は、 JENKINS_USERと一緒に指定する必要があります。APIトークンは、Jenkinsユーザー設定ページ ( <Jenkins URL>/me/configure ) で生成できます。
  • MCP_API_KEY : このMCPサーバーを保護するための秘密APIキー。MCPサーバーへのリクエストでは、このキーをX-API-Keyヘッダーに含める必要があります。DEBUG_MODE DEBUG_MODE``trueに設定されていない限り、これは必須です。
  • DEBUG_MODE : trueに設定すると、MCP サーバーがデバッグモードで実行されます。これにより、 MCP_API_KEY要件が回避され、より詳細なログが出力されます。本番環境では使用しないでください。

設定例 (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

これらの環境変数が設定されると、Docker スクリプトを使用して MCP サーバーを実行できます。

./docker/run.server

その後、MCP サーバーは指定された Jenkins インスタンスへの接続を試みます。

OpenWebUI統合

ファイルopen-webui/open_webui_interface.pyは、この MCP Jenkins サーバーを OpenWebUI インスタンスと統合する方法の例が示されています。

使用するには:

  1. OpenWebUI インターフェースで、ツールを追加または構成するためのセクションに移動します。
  2. 新しいツールを作成します。
  3. open-webui/open_webui_interface.pyファイルの内容全体をコピーし、OpenWebUI のツール構成に貼り付けます。
  4. 重要: 貼り付けたコード内の接続パラメータを調整する必要があります。具体的には、次のとおりです。
    • MCP_JENKINS_SERVER_URL : OpenWebUI 環境でこの環境変数を、実行中の MCP Jenkins サーバーの URL (例: http://localhost:5000 ) に設定します。この変数が設定されていない場合、スクリプトはデフォルトでhttp://localhost:5000を使用します。
    • MCP_API_KEY : MCP Jenkins サーバーが API キーを要求するように設定されている場合、OpenWebUI 環境でこの環境変数が設定されていることを確認してください。このキーが見つからない場合、スクリプトは警告を表示しますが、リクエストの送信は試行されます。

設定が完了すると、 open_webui_interface.pyで定義されたツール (例: list_jobstrigger_buildget_build_status ) が OpenWebUI チャット インターフェース内で使用できるようになります。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています。

-
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.

チャットボットなどの AI ツールが Jenkins と対話して制御できるようにするモデル コンテキスト プロトコル (MCP) サーバー。これにより、ユーザーは自然言語を使用してジョブをトリガーしたり、ビルド ステータスを確認したり、その他の Jenkins 操作を実行したりできるようになります。

  1. 説明
    1. コンポーネント
      1. インストール
        1. 使用法
          1. 一般的なワークフロー
          2. 既存のJenkinsインスタンスへの接続
        2. OpenWebUI統合
          1. ライセンス

            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