Supports containerized deployment for easy integration, allowing the MCP to be run as a Docker container with configuration and token management via environment variables and mounted volumes.
Provides tools for managing multiple Jenkins servers, supporting job search, parameterized build management, real-time build monitoring, and job creation from Jenkinsfiles. Enables automation of common DevOps scenarios like user permission sync, application deployment, and container image sync.
Uses Python 3.11+ as its runtime environment, providing a foundation for the server's implementation and supporting both local development and containerized deployment options.
Jenkins MCP Tool
๐ Introduction
Jenkins MCP is an multi-Jenkins server management and automation tool developed based on the FastMCP framework, designed for DevOps processes. It supports intelligent scenario mapping, multi-server management, complete CI/CD lifecycle operations, and dynamic job creation.
โจ Core Features
๐ข Multi-Server Management
Dynamic Configuration: Supports configuration and dynamic addition/removal of multiple Jenkins servers
Environment Isolation: Supports management of multiple environments such as development, testing, and production
Secure Authentication: Supports token and environment variable-based authentication
๐ฏ Intelligent Scenario Mapping
Pre-configured Scenarios: Built-in common DevOps scenarios (user permission sync, app deployment, image sync)
Smart Recommendation: Automatically selects server and job path based on scenario
Personalized Guidance: Each scenario provides customized operation guidance
โ๏ธ Full CI/CD Support
Job Search: Supports fuzzy and exact search across multi-level directories
Parameterized Build: Automatically detects and validates required parameters
Real-time Monitoring: Build status query and log retrieval
Build Control: Supports build trigger, stop, and management
Job Creation: Create/update Jenkins jobs from Jenkinsfile with automatic directory management
๐ง Developer Friendly
MCP Standard: Complies with Model Context Protocol specification
Dockerized: Containerized deployment for easy integration
Multiple Operation Modes: Supports stdio, SSE, and HTTP transport modes
โ๏ธ Configuration Guide
๐ Config File Structure
Create a config.yaml
file to configure Jenkins servers and application scenarios:
๐ Security Configuration
Recommended: Use environment variables to manage sensitive information
Configuration Priority:
Environment variable (variable name specified by
tokenEnv
)Direct configuration (
token
field)Interactive input (if neither is configured)
๐ Quick Start
๐ณ Docker Method (Recommended)
1. Build Image
2. Prepare Configuration
Create a config.yaml
file (refer to the configuration guide above)
3. Run Container
๐จ MCP Client Integration
Cursor Integration
Set Environment Variables:
export JENKINS_TOKEN="your-jenkins-token"Create Config File: Create
jenkins-config.yaml
in the project root:servers: - name: your-jenkins uri: https://your-jenkins.company.com user: your-username tokenEnv: JENKINS_TOKEN scenarios: "Deploy Application": description: "Application deployment scenario" server: "your-jenkins" job_path: "deploy/"Configure Cursor MCP Settings: Add to Cursor's MCP config:
{ "mcpServers": { "jenkins": { "command": "docker", "args": [ "run", "--rm", "-i", "-v", "/path/to/your/jenkins-config.yaml:/app/config.yaml", "-e", "JENKINS_TOKEN=${JENKINS_TOKEN}", "docker.io/mpan083/jenkins-mcp" ], "env": { "JENKINS_TOKEN": "your-jenkins-token" } } } }Usage Example: In Cursor, ask:
"Get the list of available Jenkins scenarios" "Trigger a build for Deploy Application" "Check the status of the latest build" "Create a new test job from Jenkinsfile"
Method 2: Local Installation
Install Dependencies:
cd mcps/jenkins pip install -e .Configure Cursor MCP Settings:
{ "mcpServers": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "~/.jenkinscliconfig:/app/config.yaml", "docker.io/mpan083/jenkins-mcp" ] } } }
๐ง Command Line Arguments
Jenkins MCP supports the following command line arguments:
๐ง Traditional Startup
๐ Available Tools (11)
๐ง Server Management
Tool | Description | Params |
| Get the list of all available Jenkins servers | None |
| Validate the integrity of Jenkins config | None |
๐ฏ Intelligent Scenarios (Recommended Workflow)
Tool | Description | Params |
| Get all available scenarios | None |
| Search Jenkins jobs by scenario |
: scenario name |
๐ Job Search and Management
Tool | Description | Params |
| Search Jenkins jobs on a server |
: server name
: search term |
| Get job parameter definitions |
: server name
: job name |
โ๏ธ Build Management
Tool | Description | Params |
| Trigger Jenkins build |
: server name
: job name
: build params (optional) |
| Get build status |
: server name
: job name
: build number |
| Stop Jenkins build |
: server name
: job name
: build number |
| Get build log |
: server name
: job name
: build number |
๐ Job Creation and Management
Tool | Description | Params |
| Create or update Jenkins job from Jenkinsfile |
: server name
: job name
: Jenkinsfile content
: job description (optional)
: folder path (optional) |
๐ Recommended Workflow
Scenario-based Deployment (Recommended)
General Job Search
Job Creation Workflow
๐ก Usage Examples
Scenario-based Deployment Example
Direct Operation Example
Job Creation Example
๐ Enhanced Job Information
When searching or getting job information, the following details are returned:
Basic Info: Job name, full name, URL, description
Status: Buildable status, color indicator, parameterization status
Build History: Last build number, last build URL
Parameters: Complete parameter definitions with types and default values
๐๏ธ Job Creation Features
Automatic Directory Management
User Organization: All created jobs are organized under
MCPS/{username}/
directoryUsername Extraction: Automatically extracts username from Jenkins server configuration (handles email formats)
Folder Creation: Automatically creates necessary folder structure
Nested Folders: Supports creating jobs in nested folder paths
Job Creation Process
Folder Structure: Jobs are created in
MCPS/{username}/{optional_folder_path}/
Conflict Handling: Automatically detects existing jobs and updates configuration
Pipeline Jobs: Creates pipeline jobs with sandbox security enabled
Error Recovery: Robust error handling for folder creation and job updates
๐ฏ Pre-configured Scenarios
Jenkins MCP comes with 3 common DevOps scenarios:
Scenario | Description | Server | Job Path |
Sync User Permissions | User permission sync scenario | shlab |
|
Deploy Application | Application deployment, supports diff/sync/build | maglev-sre |
|
Sync Image to mldc | Sync container image to mldc environment | shlab |
|
๐จ Custom Scenario Configuration
๐ Scenario File Support
Jenkins MCP supports multiple ways to configure custom scenarios:
Standalone Scenario File (Recommended):
# Create custom scenario file cp scenarios.example.yaml scenarios.yaml # Specify scenario file at startup jenkins --scenarios scenarios.yamlEnvironment Variable:
export JENKINS_MCP_SCENARIOS_FILE="/path/to/my-scenarios.yaml" jenkinsConfigure in config.yaml:
scenarios: "Custom Deployment": description: "Custom application deployment scenario" server: "your-jenkins" job_path: "custom/deploy/" prompt_template: "Execute custom deployment task. Please confirm deployment parameters?"
๐ Scenario Merge Rules
Default Scenarios: Load built-in scenarios from
scenarios.default.yaml
User Scenarios: Load from custom scenario file
Merge Strategy: User scenarios take precedence, same-name scenarios override defaults
๐ Scenario File Example
Create a scenarios.yaml
file:
๐งช Testing
Unit Tests
Docker Test
MCP Inspector Testing
๐ง Development
Local Development Environment
Contribution Guide
Fork this repository
Create a feature branch (
git checkout -b feature/amazing-feature
)Commit your changes (
git commit -m 'Add amazing feature'
)Push to the branch (
git push origin feature/amazing-feature
)Open a Pull Request
๐ Documentation
Tool Documentation - Complete tool list and usage
FastMCP Documentation - MCP framework docs
Model Context Protocol - MCP protocol standard
๐ Troubleshooting
Common Issues
Q: Failed to connect to Jenkins server?
A: Check network, URL, and authentication info. Use validate_jenkins_config()
to validate config.
Q: Build parameter validation failed?
A: Use get_job_parameters()
to check required parameters and ensure all are provided.
Q: Docker container failed to start?
A: Check config file mount path and environment variable settings.
Q: Job creation failed with 500 error?
A: Check Jenkins permissions and CSRF settings. The tool automatically handles CSRF tokens.
Q: Cannot create job in specified folder?
A: Ensure you have permission to create folders and jobs. Jobs are automatically organized under MCPS/{username}/
.
Log Debugging
Performance Optimization
Multi-level Directory Support: Efficiently handles nested Jenkins folders
Intelligent Parameter Detection: Reduces API calls through smart caching
CSRF Token Management: Automatic token handling for secure Jenkins instances
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ค Support
If you have questions or suggestions:
Check known issues in Issues
Create a new Issue to report problems
Contact the development team for support
Jenkins MCP - Make Jenkins automation easier ๐
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
A multi-Jenkins server management and automation tool that enables intelligent scenario mapping, multi-server management, and complete CI/CD lifecycle operations through natural language interactions.
Related MCP Servers
- AsecurityAlicenseAqualityEnables managing Jenkins operations like listing jobs, triggering builds, and checking build statuses through a configurable MCP server.Last updated -8Apache 2.0
- 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 -313MIT License
- -securityFlicense-qualityAn integration tool that allows interaction with Jenkins CI/CD servers through a Model Context Protocol interface, enabling users to view server info, manage jobs, inspect builds, and trigger builds with parameters.Last updated -
- -securityFlicense-qualityA natural language-based server analysis and monitoring system that automatically processes user queries about server status and provides detailed responses with visualizations.Last updated -