Jenkins-Mcp-Server
The MCP Jenkins Server is a Model Context Protocol server that integrates with Jenkins to provide tools for managing Jenkins jobs and builds. It offers functionalities like retrieving Jenkins server information, managing jobs and views, and triggering builds.
MCP Jenkins Server
A Model Context Protocol (MCP) server that provides Jenkins integration tools.
Features
- Get Jenkins server information
- List and inspect Jenkins jobs
- Get recent builds and their summaries
- Get build information and console output
- Manage Jenkins views
- Trigger job builds with parameters
Requirements
- Python 3.10+
- Jenkins server with API access
- Jenkins API token for authentication
Installation
- Clone this repository
- Install dependencies:
pip install -r requirements.txt
Configuration
Create a .env
file with your Jenkins credentials:
JENKINS_URL=https://your-jenkins-server
JENKINS_USER=your-username
JENKINS_TOKEN=your-api-token
CLI Configuration
To add this MCP server to your CLI, use the following configuration: Change 'Support/Claude/claude_desktop_config.json' file content to :
{
"mcpServers": {
"mcp-jenkins-server": {
"command": "/Users/username/.local/bin/uv -> //uv full path",
"args": [
"--directory",
"/Users/username/Desktop/mcp-jenkins-server -> //project path ",
"run",
"server.py"
],
"env": {
"JENKINS_URL": "http://localhost:8080",
"JENKINS_USERNAME": "xx",
"JENKINS_PASSWORD": "xx"
},
"disabled": false,
"autoApprove": []
}
}
}
Available Tools
This MCP server provides the following tools:
get_jenkins_info
Get Jenkins server information
list_jobs
List all Jenkins jobs
get_job_info
Get information about a specific job
- Parameters:
job_name
: Name of the job to inspect
get_last_builds
Get a summary of the most recent builds for a job
- Parameters:
job_name
: Name of the jobcount
(optional): Number of recent builds to retrieve (default: 3)
get_build_info
Get detailed information about a specific build
- Parameters:
job_name
: Name of the jobbuild_number
: Build number to inspect
get_build_console_output
Get console output for a specific build
- Parameters:
job_name
: Name of the jobbuild_number
: Build number to inspect
get_views
List all Jenkins views
trigger_job_build
Trigger a Jenkins job build with optional parameters
- Parameters:
job_name
: Name of the jobparameters
(optional): Dictionary of parameters to pass to the job