Skip to main content
Glama

Jenkins MCP

Jenkins REST API に基づく MCP Server で、Jenkins 2.332.2、2.356 およびそれ以降のバージョンとの互換性を目指しています。

Jenkins プラグインをインストールしないため、公式の mcp-server プラグインの最小 Jenkins コアバージョン制限を受けません。1つの MCP Server で設定内の複数の Jenkins インスタンスを同時に管理でき、jenkins_name で対象インスタンスを選択できます。

実装済み機能

  • Jenkins のバージョンと互換性の照会

  • 現在の認証ユーザーの照会

  • ルートディレクトリまたは Folder 配下の Job の照会

  • Job と Build の照会

  • ビルドログの取得(返す行数を制限可能)

  • Queue、Queue Item、ノードの照会

  • ビルドのトリガー、ビルドの停止、キューイングされたビルドのキャンセル

  • ユーザー名 + API Token 認証

  • Jenkins CSRF Crumb の自動取得とリトライ

  • デフォルトは読み取り専用。書き込み操作には明示的な read_only: false の設定が必要

Related MCP server: Jenkins MCP Server

インストール

Python 3.10 以降を推奨します:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'

複数 Jenkins 設定

jenkins-mcp.json を作成:

{
  "instances": [
    {
      "name": "jenkins-233",
      "base_url": "https://jenkins-233.example.com",
      "username": "mcp-user",
      "api_token": "replace-me",
      "read_only": true,
      "verify_ssl": true,
      "timeout_seconds": 30,
      "max_log_lines": 2000
    },
    {
      "name": "jenkins-356",
      "base_url": "https://jenkins-356.example.com/jenkins",
      "username": "mcp-user",
      "api_token": "replace-me",
      "read_only": false
    }
  ],
  "server": {
    "transport": "stdio",
    "log_level": "INFO"
  }
}

起動:

jenkins-mcp --config jenkins-mcp.json

本番環境では、環境変数またはシークレット管理システムを使用して設定を注入し、API Token を Git にコミットしないことを推奨します。

単一 Jenkins 環境変数設定

以下の変数も使用できます:

export JENKINS_URL='https://jenkins.example.com'
export JENKINS_USERNAME='mcp-user'
export JENKINS_API_TOKEN='replace-me'
export JENKINS_READ_ONLY='true'
jenkins-mcp

複数インスタンスの場合は、JSON 配列を JENKINS_INSTANCES_JSON に設定するか、JENKINS_CONFIG_FILE を使用して JSON 設定ファイルを指定します。

MCP クライアント設定

stdio の例:

{
  "mcpServers": {
    "jenkins": {
      "command": "/absolute/path/to/.venv/bin/jenkins-mcp",
      "args": ["--config", "/absolute/path/to/jenkins-mcp.json"]
    }
  }
}

ツール呼び出し時には jenkins_name を使用します。例:

list_jobs(jenkins_name="jenkins-233")
get_build_log(jenkins_name="jenkins-356", job_name="team/app", build_number=123)

バージョン互換戦略

サービスは Jenkins の X-Jenkins レスポンスヘッダーでバージョンを検出します。2.332.2 が現在の最低互換ベースラインであり、2.356 は同じ基本 REST API 機能を使用します。バージョン関連の差異は versioning.py の機能モデルに配置され、MCP ツール層では直接バージョン判定を行いません。

基本 REST API は Jenkins プラグイン API よりもクロスバージョンでの使用に適していますが、プラグイン固有の機能、Pipeline の高度な情報、および資格情報管理は、現在のクロスバージョン保証の対象外です。

開発

pytest
ruff check .

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables managing Jenkins operations like listing jobs, triggering builds, and checking build statuses through a configurable MCP server.
    3
    10
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for interacting with a Jenkins CI/CD server. Allows you to trigger jobs, check build statuses, and manage your Jenkins instance through MCP.
    30 npm
    14
    Apache 2.0