Labsco
MCP SERVER

Jenkins MCP Server

by akhilthomas236

Trigger, stop and inspect Jenkins builds from your editor's chat — job status, build info, console output, queue and agents, plus two prompts for reading failures.

Build Systems & CI/CD
Summary
The console log is the tool that matters.

Listing jobs and triggering builds is convenience; pulling a failed build's console output into the same window as the code is the thing that changes how a broken pipeline gets fixed. The two prompts push further in that direction — they exist to make the assistant read logs for causes rather than repeat the status you can already see. Note that triggering and stopping builds are real actions against a real CI server, so the token you hand it should have the reach you actually intend.

What it is

An MCP server for Jenkins that gives an assistant the operations you would otherwise click through the web UI: list jobs, start and stop builds, read build results and console output, and check the queue and the agents. Jobs are also exposed as resources under a `jenkins://` scheme, and two prompts steer the assistant through analysing them.

What you get
  • Every job listed with its status — `list-jobs`
  • One job in detail, including its recent builds — `get-job-details`
  • A build triggered by job name, with optional job parameters, returning the queue information — `trigger-build`
  • A running build halted by job name and build number — `stop-build`
  • Status, duration and details of a specific build — `get-build-info`
  • The console log of a specific build, which is where a failure is actually explained — `get-build-console`
  • The pending builds sitting in the queue — `get-queue-info`
  • The agents: all of them with status, or one node's configuration in detail — `list-nodes`, `get-node-info`
  • Two prompts for analysis rather than retrieval: `analyze-job-status` reviews all jobs at a brief or detailed level, and `analyze-build-logs` reads one job's build log for errors and warnings and suggests fixes
Requirements

A Jenkins server and credentials on it: `JENKINS_URL`, `JENKINS_USERNAME`, and either `JENKINS_TOKEN` (an API token, recommended) or `JENKINS_PASSWORD`. Install with `pip install jenkins-mcp-server==0.1.6` or `uv pip install jenkins-mcp-server==0.1.6`, then run `jenkins-mcp-server --verbose`; `uvx jenkins-mcp-server` works without a permanent install. The pyproject name is `jenkins-mcp-server` (0.1.6). Storing the token in your editor's settings keeps it out of a plain-text `.env`.