🐍 🏠 🍎 🪟 🐧 - Jenkins CI/CD: job management, build status tracking, pipeline monitoring, artifact and queue…
Jenkins MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An enterprise-grade MCP (Model Context Protocol) server for Jenkins CI/CD integration with advanced features including multi-tier caching, pipeline monitoring, artifact management, and batch operations.
Features
Core Capabilities
- **Job Management**: Trigger, list, search, and monitor Jenkins jobs with folder support
- **Build Status**: Real-time build status tracking and console log streaming
- **Pipeline Support**: Stage-by-stage pipeline execution monitoring with detailed logs
- **Artifact Management**: List, download, and search build artifacts across builds
- **Batch Operations**: Parallel job execution with priority queuing
- **Advanced Filtering**: Filter jobs by status, results, dates, and more with regex support
Performance & Reliability
- **Multi-Tier Caching System**: 5-tier intelligent caching (static, semi-static, dynamic, short-lived, permanent)
- **Retry Logic**: Built-in exponential backoff for improved reliability
- **CSRF Protection**: Automatic crumb token handling
- **Input Validation**: Robust Pydantic-based validation
Enterprise Features
- **Nested Job Support**: Full support for Jenkins folder structures
- **2FA Compatible**: Works with Jenkins two-factor authentication
- **Queue Management**: Real-time build queue monitoring
- **Transport Flexibility**: Supports STDIO and Streamable HTTP transports
Prerequisites
- **Node.js**: 14.0.0 or higher
- **Python**: 3.12 or higher
- **Jenkins**: 2.401+ (recommended)
- **Jenkins API Token**: Required for authentication
Installation
Clone and Install
Dependencies
**Python packages** (automatically installed):
- mcp[cli]>=1.11.0 - Model Context Protocol
- requests>=2.32.4 - HTTP library
- cachetools>=5.5.0 - Caching utilities
- python-dotenv - Environment variable management
- pydantic - Data validation
- fastapi - HTTP transport support
Configuration
Environment Variables
Create a .env file in your working directory:
Getting a Jenkins API Token
1. Log into your Jenkins server
2. Click on your username → **Configure**
3. Under **API Token** section, click **Add new Token**
4. Give it a name and click **Generate**
5. Copy the generated token (you won't be able to see it again)
Usage
Claude Desktop Integration
Add to your claude_desktop_config.json:
Command Line
Transport Modes
**STDIO Mode** (default):
- Standard input/output communication
- Best for Claude Desktop integration
- No network ports required
**Streamable HTTP Mode**:
- HTTP-based communication
- Useful for MCP Gateway or remote connections
- Requires port configuration
Available Tools
The server exposes 21 MCP tools for Jenkins interaction:
Job Management
trigger_job
Trigger a Jenkins job with optional parameters.
**Parameters:**
- job_name (string): Job name or path (e.g., "my-job" or "folder/my-job")
- params (object, optional): Job parameters as key-value pairs
**Example:**
get_job_info
Get detailed information about a Jenkins job.
**Parameters:**
- job_name (string): Job name or path
- auto_search (boolean, default: true): Perform pattern search if direct lookup fails
**Returns:** Job configuration, parameters, last build info, and health status
list_jobs
List Jenkins jobs with advanced filtering.
**Parameters:**
- recursive (boolean, default: true): Include jobs in subfolders
- max_depth (integer, default: 10): Maximum folder depth
- include_folders (boolean, default: false): Include folder items
- status_filter (string, optional): Filter by color (e.g., "blue", "red")
- last_build_result (string, optional): Filter by result ("SUCCESS", "FAILURE", "UNSTABLE")
- days_since_last_build (integer, optional): Filter by days since last build
- enabled_only (boolean, optional): Show only enabled jobs
**Returns:** Hierarchical list of jobs with statistics
search_jobs
Search for Jenkins jobs by pattern.
**Parameters:**
- pattern (string): Search pattern (supports wildcards)