MCP Server Plugin for Jenkins

A plugin that turns Jenkins into an MCP server so an agent can inspect jobs and build logs, trigger builds and read test results.

  • 119 ★ on the repository
  • Last commit
MCP serverOfficial

Extended access

Why this level

  • The agent can start and cancel builds, create pipelines and replay a build with a modified script.
  • Access follows the rights of the API token owner.
All reasons and checks

jenkinsci/mcp-server-plugin

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/mcp-server-plugin-for-jenkins

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The agent can start and cancel builds, create pipelines and replay a build with a modified script.
  • Access follows the rights of the API token owner.

This is third-party code. Review the repository files before installing.

What it does

MCP Server Plugin embeds the server side of the Model Context Protocol in Jenkins. Once installed, the plugin sets up endpoints itself: streamable HTTP `/mcp-server/mcp`, SSE `/mcp-server/sse` and sessionless `/mcp-server/stateless`. Clients such as Claude Code, Cursor, Cline and Windsurf connect with a Jenkins API token in a Basic header. Built-in tools come in groups. For jobs: `getJobs`, `triggerBuild`, `cancelBuild`, `createPipeline`. For builds: `getBuildLog`, `searchBuildLog`, `rebuildBuild`, `replayBuild`, `getTestResults`, `getFlakyFailures`. For repositories: `getJobScm`, `getBuildChangeSets`. For diagnostics: `getStatus`, `getSystemLog`. Custom tools are added through the `McpServerExtension` interface and the `@Tool` annotation.

Who it is for. Jenkins administrators and CI engineers who triage failed builds and start jobs through an agent instead of the web UI.

Good fit when

  • A build failed and the agent must find the cause in the log by pattern or regular expression.
  • You need to know which tests were flaky in the latest build.
  • A parameterised job is started from chat with `BRANCH` and other values.
  • The team has custom CI logic that is added as an extra tool through a plugin.

Not a fit when

  • Jenkins is reachable by browsers and anonymous users and token checks cannot be enforced.
  • The agent must not trigger builds or change pipelines.
  • The job needs file parameters, which are not supported through MCP.

Example request

Find the first error in the last build log of `my-job`, show the failing tests and suggest what to fix.

MCP

Transport
http, sse
Authentication
API key

Limitations

The plugin is installed in Jenkins itself and the README has no install command: once installed through the Update Center it works without configuration. The agent gets the same rights as the token owner, and `triggerBuild`, `createPipeline` and `replayBuild` change server state. The `allowUnauthenticatedMcp=true` property weakens CSRF protection and suits local development only. SSE behind a proxy needs timeout tuning. File upload through parameters is not supported.

How to disable. Remove the client MCP entry, revoke the API token in the Jenkins profile and disable or uninstall the plugin. Individual transports are switched off with `disableMcpSse`, `disableMcpStreamable` and `disableMcpStateless`.

FAQ

Which address does the client use?

For streamable HTTP `<jenkins-url>/mcp-server/mcp`. For SSE `<jenkins-url>/mcp-server/sse`, and for sessionless mode `<jenkins-url>/mcp-server/stateless`.

How does authentication work?

Create an API token in the Jenkins profile and pass the user:token pair base64-encoded in the `Authorization` header using the Basic scheme.

Which transport should I choose?

The README recommends streamable HTTP for ordinary requests. SSE keeps a long connection open and is sensitive to proxy timeouts.

How do I restrict a tool by permission?

Set `permissions` in `@Tool`. The caller must hold at least one listed permission, otherwise the tool is hidden from `tools/list` and rejected when called.

What if SSE drops behind a proxy?

Choose streamable HTTP or raise the proxy timeouts. For SSE the server sends keep-alive every 30 seconds, and the `keepAliveInterval` property sets the interval.

Discussion

No questions or reviews yet.

A local stdio MCP server for self-hosted Jira, Confluence, Bitbucket Server and Jenkins, with mTLS support and write tools disabled by default

MCP serverExtended access1Repository stars

A self-hosted gateway that merges several MCP servers into one endpoint with auth and tool selection

MCP serverBroad access2.8KRepository stars

Buildkite MCP Server

buildkite-mcp-server

Official

Official Buildkite MCP server: pipelines, builds, jobs, logs and test results for the agent

MCP serverExtended access56Repository stars

An SSH MCP server: the agent runs commands, reads and writes files over SFTP, transfers files and starts long jobs while credentials stay with you

MCP serverBroad access1KRepository stars

A Bitbucket Cloud MCP server with six generic tools that reach any repository or pull request REST API path

MCP serverBroad access164Repository stars

A Node.js manager for MCP servers: it starts local servers, connects remote ones and gives a client one address, with a REST API for control

MCP serverBroad access526Repository stars

README in short

The plugin validates the `Origin` header against the Jenkins root URL, keeps SSE alive, reclaims idle sessions and exposes health and metrics endpoints.

README badge

Report a problem

Foxx AIMCP Server Plugin for Jenkins
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.