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:30
parameters
(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.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Enables comprehensive Jenkins automation through MCP interface, allowing users to manage builds, jobs, artifacts, and queues with natural language commands. Supports build triggering, monitoring, artifact retrieval, and system status checks with automatic CSRF protection and authentication.