Skip to main content
Glama

mcp_jenkins

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

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

説明

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

Related MCP server: mcp-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

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