mcp-jenkins-server
3.5
The MCP Jenkins Server is a protocol server designed to integrate with Jenkins, offering tools for job management and information retrieval. It supports Python 3.10+, and requires Jenkins API access for operation.
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 build information and console output
- Manage Jenkins views
- Trigger specific job builds
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:
{
"mcpServers": {
"mcp-jenkins-server": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\Dean.Li\\Documents\\Cline\\MCP\\mcp-jenkins-server",
"run",
"server.py"
],
"env": {
"JENKINS_URL": "https://your-jenkins-server/",
"JENKINS_USERNAME": "your-username",
"JENKINS_PASSWORD": "your-password"
},
"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_build_info
Get 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
trriger_llm_demo_job_build
Trigger the "LLM_Demo" job build
- Parameters:
user
: User name to pass as build parameter
Example Usage
from mcp.client import Client
client = Client("http://localhost:8000") # MCP server URL
response = client.call_tool("list_jobs")
print(response)
License
MIT