
Jenkins MCP Server, the official Jenkins plugin
Lets Claude, Cursor or Copilot read Jenkins jobs, builds, logs and test results, and start or cancel builds.
This is the official MCP Server plugin from the Jenkins project. You install it on your Jenkins controller, and your AI assistant connects to your own Jenkins address with your Jenkins API token. It can then read jobs, build logs, test results and code changes, and trigger, rebuild, replay or cancel builds. It acts with your full Jenkins permissions, so connect with an account that can only reach the jobs you want it to touch.
Good for
- Developers who want the assistant to read a failed build's log and tests and explain what broke
- DevOps engineers who trigger, rebuild or cancel Jenkins builds from their editor
- Teams tracking flaky tests across builds
- Jenkins admins who check controller health and system logs from a chat
Works in
5 supported · 1 with issues · 6 should work
Tap an app to see how to set it up and any known problems.
The plugin's README covers it: one claude mcp add command with your Jenkins address and token header. GitHub
The plugin's README covers it: add your Jenkins address and token header to mcp.json. GitHub
The README covers Copilot in VS Code and says the maintainer tested it with the status tool. GitHub
The plugin's README covers it, connecting through the mcp-remote helper with your token header. GitHub
The plugin's README covers it with a ready-made config using your Jenkins address and token header. GitHub
Users report trouble with the older SSE address from IntelliJ's Copilot client; use the address ending in /mcp-server/mcp.
Known problems
- Open
Connecting through the older SSE address failed on the first message
Workaround: Use the Streamable HTTP address ending in /mcp-server/mcp.
Since Aug 2026 · GitHub
Supports hosted MCP servers.
A user reports a working Codex setup with the /mcp-server/mcp address and an Authorization header in config.toml. GitHub
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Client does not support this transport.
Client does not support this transport.
Install Jenkins MCP Server plugin
Claude Code
- 1
Copy this prompt.
Add the Jenkins MCP Server plugin server to Claude Code. Run this command: claude mcp add jenkins http://jenkins-host/mcp-server/mcp --transport http --header "Authorization: Basic <user:token base64>" Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Jenkins 2.541.3 or newer with the MCP Server plugin installed, A Jenkins API token.
Read-only mode: No read-only switch. Use the API token of a Jenkins user who can view jobs but not build, create or configure them.
First install the MCP Server plugin on your Jenkins controller from the plugin manager; it needs no setup. Then create an API token under your Jenkins user's Security page and base64-encode username:token (for example echo -n "user:token" | base64) to replace <user:token base64>. Replace jenkins-host with your Jenkins address. Use a Jenkins account limited to the jobs the assistant should touch.
From the project README. Source.
Tools
Lists your Jenkins jobs, a page at a time
Returns a list of jobs, sorted by name and split into pages, optionally inside a folder.
Try: “List all jobs in the payments folder”
Read ·
getJobsShows one job's details and its latest builds
Fetches a job by its full path, with its status and recent build info.
Try: “Show me the details of the deploy-prod job”
Read ·
getJobFinds jobs that build from a given Git repository
Searches for jobs whose source settings point at the Git repository address you give.
Try: “Which Jenkins jobs build github.com/acme/api?”
Read ·
findJobsWithScmUrlShows a build's result, timing and details
Retrieves a specific build, or the last build, of a job, with its result and key details.
Try: “Did the last build of my-service pass?”
Read ·
getBuildReads a build's console log, page by page
Returns lines from a build's log, from the start or the end, and can keep reading as a running build writes more.
Try: “Show the last 200 lines of the log for build 512 of my-service”
Read ·
getBuildLogSearches a build's log for a word or pattern
Finds log lines that match text or a regular expression, and returns quickly even while the build is still running.
Try: “Search the last build log of my-service for OutOfMemoryError”
Read ·
searchBuildLogSummarizes a build's test results and failing tests
Returns pass, fail and skip counts plus each failing test with its message and how many builds in a row it has failed. Can return full records on request.
Try: “Which tests failed in the last build of my-service?”
Read ·
getTestResultsLists tests that failed and then passed on retry
Returns the flaky tests from a build: those that failed at least once and passed on a later attempt, with each failure's message.
Try: “Which tests were flaky in yesterday's nightly build?”
Read ·
getFlakyFailuresShows the code changes that went into a build
Retrieves the commits and change log included in a specific build.
Try: “What commits went into build 512 of my-service?”
Read ·
getBuildChangeSetsShows a job's source code settings
Returns the repository and branch settings configured for a job.
Try: “Which repository and branch does the release job use?”
Read ·
getJobScmShows the source code settings used by one build
Returns the repository settings recorded for a specific build.
Try: “Which branch did build 512 check out?”
Read ·
getBuildScmChecks a queued build's status by its ID
Looks up an item in the build queue, for example to see whether a build you just triggered has started.
Try: “Has the build I just queued started yet?”
Read ·
getQueueItemStarts a build of a job, with parameters if needed
Schedules a new build of a job and returns its place in the queue. Parameterized jobs accept values such as branch or environment; file parameters are not supported.
Try: “Run the deploy-staging job with BRANCH=main”
Runs code ·
triggerBuildRuns a build again with the same parameters
Re-runs a build, by default the last one, using the same parameters; Pipeline jobs reuse the original script.
Try: “Rebuild the last failed build of my-service”
Runs code ·
rebuildBuildShows the Pipeline script a build ran
Returns the main and loaded scripts of a replayable Pipeline build, so they can be inspected or changed before a replay.
Try: “Show me the Pipeline script used by build 88 of release”
Read ·
getReplayScriptsRe-runs a Pipeline build with a changed script
Runs a Pipeline build again using a modified script you provide, if replay is allowed for you.
Try: “Replay the last release build with the test stage skipped”
Runs code ·
replayBuildStops a running build or removes one from the queue
Cancels a build that is running or waiting in the queue.
Try: “Cancel the running build of deploy-prod”
Write ·
cancelBuildCreates a new Pipeline job from a script
Makes a new sandboxed Pipeline job with the name and Pipeline script you give; the folder must already exist.
Try: “Create a Pipeline job called lint-check that runs npm run lint”
Write ·
createPipelineChanges a build's display name or description
Updates the name shown for a build and its description.
Try: “Add the description 'hotfix for ticket 4521' to build 512”
Write ·
updateBuildChecks whether your Jenkins is healthy and ready
Reports the health and readiness of the Jenkins instance, beyond a simple up or down.
Try: “Is our Jenkins healthy right now?”
Read ·
getStatusReads recent entries from the Jenkins system log
Returns the newest system log entries, optionally from a named log recorder or above a minimum level. Needs system read permission.
Try: “Show recent warnings from the Jenkins system log”
Read ·
getSystemLogLists the log recorders set up in Jenkins
Returns the names of configured log recorders, for use when reading the system log. Needs system read permission.
Try: “Which log recorders are configured?”
Read ·
getLogRecordersUsed by the assistant behind the scenes
Shows which Jenkins user the assistant is acting as
Returns details about the current user, useful to check the token is working.
Try: “Which Jenkins user are you connected as?”
Read ·
whoAmI
Read from the source code
Pros and cons
Good
- Official plugin from the Jenkins project, free under the MIT license.
- Runs inside your Jenkins, so there is no separate server to host.
- Respects each user's Jenkins permissions.
- Reads build logs page by page and searches them, even while a build runs.
- Test results come back as a short summary of failures and flaky tests.
- Setup examples for Claude Code, Cursor, VS Code, Cline, Windsurf and Goose.
Watch out
- Needs a recent Jenkins: the current plugin requires 2.541.3 or newer.
- No read-only switch; limit access through Jenkins permissions instead.
- Your client config holds a token that is only base64 encoded.
- Listing jobs can hang on very large Jenkins instances.
- Slow tool calls behind a proxy can time out unless you raise its timeout.
- File parameters cannot be passed when triggering a build.
Permissions
high risk · 5 things to watch · 2 advisories
High risk
The assistant can start, replay and cancel builds and create Pipeline jobs with whatever Jenkins permissions your token has. Connect with a Jenkins account limited to the jobs it needs, and keep the plugin up to date.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can run builds and Pipeline code
It can trigger, rebuild and cancel builds, replay a Pipeline with a changed script and create Pipeline jobs. Use a Jenkins account limited to the jobs it needs. github.com
It acts with your full Jenkins permissions
Every tool runs as the user whose API token you give it, so an admin token gives the assistant admin reach. github.com
Keep the plugin updated
Older versions skipped permission checks on several tools. Update to the latest plugin version. jenkins.io
Don't allow anonymous MCP access
The allowUnauthenticatedMcp setting weakens CSRF protection. Leave it off on any controller people reach in a browser. github.com
The token header is only encoded
The header is your username and token in base64, which anyone can decode. Treat the config file like a password. github.com
Security advisories
2 known advisories, all fixed in a newer version.
Technical details
| Turning on read-only | No read-only switch in the plugin. Tools run with the Jenkins permissions of the token's user, so a user without Item/Build, Item/Create and Item/Configure cannot trigger builds or create jobs. |
|---|---|
| Talks to | Your own Jenkins controller |
| Sign-in and keys | Base64 of your Jenkins username and API token in an Authorization header in your client config. |
Alternatives
Use the official plugin if you can install plugins on a recent Jenkins. Pick lanbaoshen's mcp-jenkins if you cannot touch the controller or want a read-only switch.
| Server | Official | Runs | Read-only option | GitHub stars |
|---|---|---|---|---|
| Jenkins MCP Server pluginThis page | Official | Jenkins plugin | No | 119 |
| mcp-jenkins | Community | Local | Yes | 157 |
| @kud/mcp-jenkins | Community | Local | – | 19 |
Questions
Is the Jenkins MCP server free?
Yes. It is a free, MIT-licensed plugin you install from the Jenkins plugin manager.
What is the Jenkins MCP server URL?
There is no shared address; it runs on your own Jenkins. Use <your-jenkins-url>/mcp-server/mcp. Older SSE clients can use /mcp-server/sse, and there is also a /mcp-server/stateless address.
Which Jenkins version do I need?
The current plugin needs Jenkins 2.541.3 or newer. If you cannot upgrade, a community server that runs on your computer, such as mcp-jenkins, talks to Jenkins over its normal API instead.
How do I sign in?
Create an API token under your Jenkins user's Security page. Your AI app then sends your username and that token, base64 encoded, in a Basic Authorization header.
Can it start or cancel builds?
Yes. It can trigger builds with parameters, rebuild, replay a Pipeline with a changed script, cancel builds and create Pipeline jobs, as far as your Jenkins permissions allow.
Can I make it read-only?
Not with a switch. Use the token of a Jenkins user that can view jobs but not build, create or configure them, and the build tools will be refused.
Why do tool calls say I'm anonymous?
Some users see tools run as anonymous even with a correct header, and the bug is still open. Check that your app sends the header in the format its own docs use; one user reports Codex working with the header set in config.toml.
Why does a tool call time out behind nginx?
A slow call, such as triggering a build, can run past a short proxy timeout and return a 504. Raise the proxy's read timeout for the MCP addresses, as the README shows.
Is it safe?
It is as safe as the token you give it. Older versions had two permission-check bugs that are now fixed, so keep the plugin updated and use a limited account.
Examples
Information
updated Nov 2, 2026
- Publisher
- Jenkins (official)
- Transport
- Streamable HTTP, SSE
- Auth
- API key
- License
- MIT
- Last commit
- Oct 28, 2026
- Open issues
- 20
Other Jenkins MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 11Hide
- github.com · github.com
- github.com · github.com
- MCP Server plugin · plugins.jenkins.io
- Tool source · github.com
- jenkins.io · jenkins.io
- jenkins.io · jenkins.io
- plugins.jenkins.io · plugins.jenkins.io
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com