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.