The Jenkins MCP Server enables AI assistants to manage and monitor Jenkins CI/CD pipelines through natural language commands and programmatic tools.
Build Management: Trigger builds with optional parameters and file uploads, stop or force-kill running builds, schedule builds for future execution, and update build descriptions.
Job & Build Information: Retrieve detailed metadata for jobs and builds, get comprehensive build details, and list jobs with pagination and optional filtering by parent folder.
System Monitoring: Check Jenkins instance health status and identify the currently authenticated user.
Artifact Handling: List build artifacts and read their contents in text or base64 format.
Queue Management: View queued builds with optional job filtering and cancel pending builds (specific items or all for a given job).
Provides comprehensive tools for managing Jenkins builds, jobs, artifacts, and queue operations, including triggering builds, retrieving job information, monitoring system health, and handling build artifacts.
Jenkins MCP Server
π AI-powered Jenkins management via Model Context Protocol. Trigger builds, manage jobs, and monitor CI/CD pipelines through your favorite AI assistant.
οΏ½ Installation
Option 1: Global Installation (Recommended)
Option 2: Local Installation
Option 3: Use with npx (No Installation)
βοΈ Configuration
Set required environment variables:
Getting Jenkins API Token
Login to Jenkins β Click your username β Configure
Under "API Token" β Add new Token β Generate
Copy the token and use it as
JENKINS_API_TOKEN
π€ MCP Client Setup
GitHub Copilot (VS Code)
Add to mcp.json:
Claude Desktop
Add to claude_desktop_config.json:
π οΈ Available Tools
Each tool returns a JSON result with success plus additional fields. Provide arguments as an object when invoking via an MCP client.
Build Management
triggerBuild β Start a job build (supports file + regular parameters) Inputs:
jobFullName(string, required)parameters(object, optional) β Key/value map. Any value that is a valid local file path is uploaded as a file parameter.
File Parameter Security: By default, only relative file paths are allowed. To enable absolute file paths, set ALLOW_ABSOLUTE_FILE_PARAMS=1 in your environment variables.
Returns: { success, queueId, queueUrl, statusCode, message }
stopBuild β Stop (or force kill) the running build Inputs:
jobFullName(string, required)buildNumber(integer, optional) Returns:{ success, action: "stop"|"kill", buildNumber, buildUrl, message }
scheduleBuild β Schedule a build in the future Inputs:
jobFullName(string, required)scheduleTime(string, required) β e.g.22:15,10:30 PM, or2025-12-24 14:30parameters(object, optional)
File Parameter Security: By default, only relative file paths are allowed. To enable absolute file paths, set ALLOW_ABSOLUTE_FILE_PARAMS=1 in your environment variables.
Returns: { status, queueUrl }
updateBuild β Update build description (display name not supported via REST) Inputs:
jobFullName(string, required)buildNumber(integer, optional)description(string, optional)displayName(string, optional, ignored) Returns:{ success, buildNumber, updates: [ { field, success, ... } ] }
Job Information
getJob β Job metadata
Inputs: jobFullName (string, required)
getBuild β Build details (specific or last) Inputs:
jobFullName(string, required)buildNumber(integer, optional)
getJobs β Paginated job list Inputs:
parentFullName(string, optional)skip(integer, optional, default 0)limit(integer, optional, default 10, max 10)
System Monitoring
whoAmI β Current authenticated user Inputs: none
getStatus β Jenkins instance status / health Inputs: none
Artifact Management
listBuildArtifacts β List artifacts for build Inputs:
jobFullName(string, required)buildNumber(integer, optional)
readBuildArtifact β Read artifact content (text or base64) Inputs:
jobFullName(string, required)artifactPath(string, required)buildNumber(integer, optional)format(string, optional:text|base64)
Queue Operations
cancelQueuedBuild β Cancel queued item(s) Inputs:
jobFullName(string, required)queueId(integer, optional)
getQueueInfo β List queued builds (optionally filtered) Inputs:
jobFullName(string, optional)
Tip: Ask your AI assistant: "Trigger a build for job X with BRANCH=main" or "List artifacts for latest job X build".
β‘ Usage
After configuration, ask your AI assistant:
"Check my Jenkins server status"
"Trigger a build for my-app"
"Show me the latest build information"
"List all Jenkins jobs"
π License
MIT License - see LICENSE file for details.