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 サーバーの機能テストが含まれています。
インストール
パッケージをインストールするには、次のコマンドを実行します。
使用法
一般的なワークフロー
サーバーの実行
MCP サーバーを実行するには:
サンプルクライアントの実行
サンプルクライアントを実行するには:
たとえば、特定のモデルを使用して「backups」という名前のジョブのビルドを一覧表示するには、次のコマンドを実行します。
注: パッケージがpip install .経由でインストールされている場合は、 mcp_jenkins_clientコンソール スクリプトも利用できます。
次のような出力が生成される場合があります:
Dockerを使ったビルドとテスト
開発とテストの一般的なワークフローは、最初に Docker イメージをビルドし、次にテストを実行することです。
**Docker イメージをビルドする:**この手順では、テストに必要な環境を準備します。
./docker/build**テストの実行:**ビルドが完了したら、テストを実行します。
./docker/run.tests
このシーケンスにより、一貫した Docker 環境で最新のビルドに対してテストが実行されるようになります。
テスト環境の展開
ローカル Jenkins テスト インスタンスをデプロイするには (認証なし、機能テストのみ):
既存の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_MODEDEBUG_MODE``trueに設定されていない限り、これは必須です。DEBUG_MODE:trueに設定すると、MCP サーバーがデバッグモードで実行されます。これにより、MCP_API_KEY要件が回避され、より詳細なログが出力されます。本番環境では使用しないでください。
設定例 (Bash):
これらの環境変数が設定されると、Docker スクリプトを使用して MCP サーバーを実行できます。
その後、MCP サーバーは指定された Jenkins インスタンスへの接続を試みます。
OpenWebUI統合
ファイルopen-webui/open_webui_interface.pyは、この MCP Jenkins サーバーを OpenWebUI インスタンスと統合する方法の例が示されています。
使用するには:
OpenWebUI インターフェースで、ツールを追加または構成するためのセクションに移動します。
新しいツールを作成します。
open-webui/open_webui_interface.pyファイルの内容全体をコピーし、OpenWebUI のツール構成に貼り付けます。重要: 貼り付けたコード内の接続パラメータを調整する必要があります。具体的には、次のとおりです。
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_jobs 、 trigger_build 、 get_build_status ) が OpenWebUI チャット インターフェース内で使用できるようになります。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています。