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 サーバーの機能テストが含まれています。
インストール
パッケージをインストールするには、次のコマンドを実行します。
使用法
一般的なワークフロー
サーバーの実行
MCP サーバーを実行するには:
サンプルクライアントの実行
サンプルクライアントを実行するには:
たとえば、特定のモデルを使用して「backups」という名前のジョブのビルドを一覧表示するには、次のコマンドを実行します。
注: パッケージがpip install .
経由でインストールされている場合は、 mcp_jenkins_client
コンソール スクリプトも利用できます。
次のような出力が生成される場合があります:
Dockerを使ったビルドとテスト
開発とテストの一般的なワークフローは、最初に Docker イメージをビルドし、次にテストを実行することです。
- **Docker イメージをビルドする:**この手順では、テストに必要な環境を準備します。
- **テストの実行:**ビルドが完了したら、テストを実行します。
このシーケンスにより、一貫した 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 ライセンスに基づいてライセンスされています。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
チャットボットなどの AI ツールが Jenkins と対話して制御できるようにするモデル コンテキスト プロトコル (MCP) サーバー。これにより、ユーザーは自然言語を使用してジョブをトリガーしたり、ビルド ステータスを確認したり、その他の Jenkins 操作を実行したりできるようになります。
Related MCP Servers
- AsecurityAlicenseAqualityA 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 -38JavaScriptMIT License
- AsecurityAlicenseAqualityA server that uses the Model Context Protocol (MCP) to allow AI agents to safely execute shell commands on a host system.Last updated -1762TypeScriptMIT License
- -securityAlicense-qualityA 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 -1PythonApache 2.0
- -securityAlicense-qualityThe 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 -25PythonMIT License