🔧

MCP Jenkins

Updated June 2026Trust grade A94/100

The MCP Jenkins, built by lanbaoshen (Community), provides a Python MCP server for Jenkins (lanbaoshen/mcp-jenkins, published to PyPI as mcp-jenkins) and the alternative to the official Jenkins MCP plugin: where the plugin has to be installed into the controller from the update centre, this one runs beside Jenkins and talks to it over the ordinary REST API, so you can point it at a Jenkins you do not administer. It is community-built and best for DevOps & CI/CD.

by lanbaoshen (Community)

About

a Python MCP server for Jenkins (lanbaoshen/mcp-jenkins, published to PyPI as mcp-jenkins) and the alternative to the official Jenkins MCP plugin: where the plugin has to be installed into the controller from the update centre, this one runs beside Jenkins and talks to it over the ordinary REST API, so you can point it at a Jenkins you do not administer. Install it with uvx mcp-jenkins, pip install mcp-jenkins, or the ghcr.io/lanbaoshen/mcp-jenkins container. Credentials go in as --jenkins-url, --jenkins-username and --jenkins-password (an API token works in place of the password), and on the HTTP transport the same three can be supplied per-connection as the x-jenkins-url, x-jenkins-username and x-jenkins-password headers, which is what lets one running instance serve several Jenkins controllers. Three transports are available via --transport: stdio (the default), sse, and streamable-http, which listens on 0.0.0.0:9887 unless --host and --port say otherwise. The tool set is wider than most Jenkins integrations. Jobs and pipelines: get_item, get_item_config, get_item_parameters, get_all_items, query_items for pattern search, and build_item to trigger. Builds: get_build, get_build_console_output, get_build_parameters, get_build_test_report, get_build_scripts, get_running_builds and stop_build, plus get_all_build_artifacts, get_build_artifact and get_build_artifact_url for pulling artifacts out of a finished run. Queue: get_all_queue_items, get_queue_item, cancel_queue_item. Agents: get_all_nodes, get_node, get_node_config. The plugin tools are the part with no equivalent elsewhere — get_all_plugins, get_plugin, get_plugins_with_updates, get_plugins_with_backup, get_plugin_dependency_graph (Graphviz output), and get_plugins_with_problems, which reports missing dependencies and version mismatches and turns a plugin upgrade audit into one question. Two flags matter for safety. run_groovy_script executes arbitrary Groovy on the controller, which is full remote code execution against your CI; --read-only disables it along with every other mutating tool and is the right default for an agent that only needs to read build state. --jenkins-timeout defaults to 5 seconds, which is often too short for a large get_all_items on a busy controller.

A
Reliable94/100
low confidence · 1 measured signal

Grade A (94/100, reliable) from 1 measured signal, based on repository evidence. Only one signal stands behind it, so treat the grade as provisional.

What was measured

  • Repository maintenance100/100 · weight 20

    The repository has been pushed to or released within the last six months. — last push 2026-06-22, last release 2026-05-26 (v3.4.0).

  • Source verification100/100 · weight 25

    The repository URL was confirmed to resolve against the live GitHub API and is not archived.

  • Provenance65/100 · weight 10

    Community-built. That is not a mark against it — most of the ecosystem is community-built — but there is no vendor accountable for keeping it working.

  • Listing ↔ repository match100/100 · weight 5

    The listing name lines up with the linked repository lanbaoshen/mcp-jenkins.

What could not be measured

These contributed nothing to the score — not a penalty, not a zero. They are why the confidence reads the way it does.

  • Live MCP handshakeunknown

    No remote endpoint to handshake — this server installs and runs locally over stdio, so there is nothing to probe from the outside.

  • Measured uptimeunknown

    No probe history recorded for this server yet.

  • Tool-schema stabilityunknown

    Drift is a difference between two successive checks, and this server has none recorded.

Installation

pip
uvx mcp-jenkins

There are two ways to give an assistant access to Jenkins and they differ in where the code runs. The official Jenkins MCP plugin installs into the controller from the update centre, which means the controller starts answering MCP itself — excellent if you administer Jenkins, impossible if you do not. This one, lanbaoshen/mcp-jenkins, runs beside Jenkins as an ordinary Python process and talks to it over the REST API with your own credentials, so you can point it at a controller you have no admin rights on. It is also the wider of the two tool surfaces, and the only one that can read your plugin inventory.

Setting up MCP Jenkins

  1. 1.Install the server

    Published to PyPI as mcp-jenkins. uvx is the recommended route because it needs no virtualenv of your own; pip and a prebuilt container image are both supported alternatives.

    shell
    # recommended
    uvx mcp-jenkins
    
    # or
    pip install mcp-jenkins && mcp-jenkins
    
    # or
    docker run -p 9887:9887 --rm ghcr.io/lanbaoshen/mcp-jenkins:latest --transport streamable-http
  2. 2.Create a Jenkins API token

    Under your Jenkins user page, Security → API Token. Pass it as --jenkins-password; the server treats a token and a password identically, and a token is revocable without changing your login. The permissions of that Jenkins user are the real boundary — the server adds none of its own.

  3. 3.Point your client at it

    stdio is the default transport and takes the connection details as command-line arguments. This shape works in Claude Desktop, Cursor, VS Code Copilot Chat and JetBrains Copilot alike.

    claude_desktop_config.json
    {
      "mcpServers": {
        "jenkins": {
          "command": "uvx",
          "args": [
            "mcp-jenkins",
            "--jenkins-url=https://jenkins.example.com",
            "--jenkins-username=you",
            "--jenkins-password=<api-token>",
            "--read-only"
          ]
        }
      }
    }
  4. 4.Optional — run it once for several controllers

    With --transport streamable-http the server listens on 0.0.0.0:9887 (override with --host and --port) and accepts the connection details per request as the x-jenkins-url, x-jenkins-username and x-jenkins-password headers. That is what lets one running instance serve several Jenkins controllers instead of one process each. sse is available too, for clients that still want it.

    shell
    uvx mcp-jenkins --transport streamable-http

What the server can do

Jobs, builds, the queue, agents, and — uniquely — the plugin inventory. build_item, stop_build, cancel_queue_item and run_groovy_script mutate; --read-only removes all of them.

get_all_items / get_item / query_items

List jobs, fetch one, or search by pattern. query_items is how you find a job without knowing its exact path.

get_item_config / get_item_parameters

A job’s config XML and its declared build parameters.

build_item

Trigger a build, with parameters. Mutating.

get_build / get_build_console_output

Build metadata and full console log — the pair behind almost every "why did this fail" question.

get_build_test_report / get_build_parameters / get_build_scripts

Test results, the parameters a build actually ran with, and its pipeline scripts.

get_running_builds / stop_build

See what is executing now and stop it. stop_build mutates.

get_all_build_artifacts / get_build_artifact / get_build_artifact_url

List, download, or link an artifact from a finished build.

get_all_queue_items / get_queue_item / cancel_queue_item

The build queue, including why an item is stuck waiting for an executor.

get_all_nodes / get_node / get_node_config

Agent inventory and configuration — where offline-executor problems surface.

get_plugins_with_problems

Plugins with missing dependencies or version mismatches. The tool with no equivalent in the official plugin, and the one that turns an upgrade audit into a single question.

get_all_plugins / get_plugin / get_plugins_with_updates / get_plugins_with_backup

Full plugin inventory, available updates, and which ones can be rolled back.

get_plugin_dependency_graph

A plugin’s dependency graph in Graphviz format.

run_groovy_script

Executes arbitrary Groovy on the controller. This is remote code execution against your CI — see the gotcha below.

What people use it for

Explain a red build without opening Jenkins

The nightly-integration job failed on its last run. Pull the console output and the test report and tell me which test broke and why.

get_build_console_output plus get_build_test_report is the whole answer, and both are read-only — this is the case that justifies running the server with --read-only permanently.

Plan a plugin upgrade

List the plugins on this controller that have problems, then the ones with available updates, and flag any where updating would break a dependency.

get_plugins_with_problems, get_plugins_with_updates and get_plugin_dependency_graph together answer a question that otherwise means clicking through the Jenkins plugin manager page by page.

Find out why nothing is building

Show me the current build queue and the node list, and tell me whether anything is blocked because no executor matches its label.

Queue items carry the reason they are waiting and the node list carries the labels; pairing them is the standard diagnosis for a stalled controller.

Which one should you use?

Jenkins MCP Server (official plugin)

When you administer the controller. It installs from the update centre, needs no separate process, and reaches internals this server cannot — replayBuild, searchBuildLog, and SCM-aware lookups.

GitHub MCP

When your pipelines are moving to GitHub Actions, or when the fix for a failing build is a code change rather than a Jenkins operation.

Every command, environment variable, and endpoint above was read from the project’s own documentation on 2026-08-21: lanbaoshen/mcp-jenkins README, mcp-jenkins on PyPI.

Browse all MCP server setup guides.

Frequently Asked Questions

Is run_groovy_script safe to leave enabled?
No. Groovy on the Jenkins controller runs with the controller’s privileges — it can read credentials, alter jobs, and reach anything the controller can reach. Exposing it to a model that also reads untrusted input (pull request descriptions, build logs, issue text) is a remote code execution path. Pass --read-only, which disables run_groovy_script along with every other mutating tool, unless you have a specific reason not to.
Large requests time out. What do I change?
--jenkins-timeout defaults to 5 seconds, which is often too short for get_all_items or get_build_console_output against a busy controller with many jobs. Raise it before concluding the server is broken.
Should I use this or the official Jenkins MCP plugin?
Use the plugin if you administer the controller and want MCP served by Jenkins itself with no extra process — it reuses Jenkins credentials directly and exposes operational tools like replayBuild and searchBuildLog. Use this one if you cannot install plugins, want to reach several controllers from one process, want the plugin-inventory tools, or want a --read-only mode that is enforced outside Jenkins.
Can one instance serve more than one Jenkins?
Yes, on the HTTP transports. --jenkins-url, --jenkins-username and --jenkins-password are all optional, and the same three values can arrive per request as x-jenkins-url, x-jenkins-username and x-jenkins-password headers. Note that --host defaults to 0.0.0.0 for streamable-http, so bind it deliberately and put authentication in front of it.
What is MCP Jenkins?
MCP Jenkins is an MCP server built by lanbaoshen (Community). A Python MCP server for Jenkins (lanbaoshen/mcp-jenkins, published to PyPI as mcp-jenkins) and the alternative to the official Jenkins MCP plugin: where the plugin has to be installed into the controller from the update centre, this one runs beside Jenkins and talks to it over the ordinary REST API, so you can point it at a Jenkins you do not administer. Install it with uvx mcp-jenkins, pip install mcp-jenkins, or the ghcr.io/lanbaoshen/mcp-jenkins container. Credentials go in as --jenkins-url, --jenkins-username and --jenkins-password (an API token works in place of the password), and on the HTTP transport the same three can be supplied per-connection as the x-jenkins-url, x-jenkins-username and x-jenkins-password headers, which is what lets one running instance serve several Jenkins controllers. Three transports are available via --transport: stdio (the default), sse, and streamable-http, which listens on 0.0.0.0:9887 unless --host and --port say otherwise. The tool set is wider than most Jenkins integrations. Jobs and pipelines: get_item, get_item_config, get_item_parameters, get_all_items, query_items for pattern search, and build_item to trigger. Builds: get_build, get_build_console_output, get_build_parameters, get_build_test_report, get_build_scripts, get_running_builds and stop_build, plus get_all_build_artifacts, get_build_artifact and get_build_artifact_url for pulling artifacts out of a finished run. Queue: get_all_queue_items, get_queue_item, cancel_queue_item. Agents: get_all_nodes, get_node, get_node_config. The plugin tools are the part with no equivalent elsewhere — get_all_plugins, get_plugin, get_plugins_with_updates, get_plugins_with_backup, get_plugin_dependency_graph (Graphviz output), and get_plugins_with_problems, which reports missing dependencies and version mismatches and turns a plugin upgrade audit into one question. Two flags matter for safety. run_groovy_script executes arbitrary Groovy on the controller, which is full remote code execution against your CI; --read-only disables it along with every other mutating tool and is the right default for an agent that only needs to read build state. --jenkins-timeout defaults to 5 seconds, which is often too short for a large get_all_items on a busy controller.
Who built MCP Jenkins?
MCP Jenkins was built by lanbaoshen (Community).
Is MCP Jenkins free?
Yes, MCP Jenkins has a free option. This MCP server is free and open-source. Check the GitHub repository for details.
How do I install MCP Jenkins?
Install MCP Jenkins with pip: uvx mcp-jenkins
What does MCP Jenkins integrate with?
MCP Jenkins integrates with Claude Desktop, Cursor, VS Code, Windsurf, Cline.

Repo Health

Actively maintained

Local/stdio install — runs on your machine, so there is no remote endpoint to verify live. Trust signal below is from the source repo.

Last commit
2mo ago
Last release
v3.4.0 · 3mo ago
Install
npm

Quick Info

Install Type
pip
Author
lanbaoshen (Community)
Categories
2
Integrations
5

Related Servers

💻

Git

Tools to read, search, and manipulate Git repositories. Full Git operations support.

Local
💻

GitHub MCP Server

authenticated access to the whole GitHub platform — repositories, files, branches, issues, pull requests, Actions runs, security alerts, discussions and notifications — from Claude, Cursor, VS Code, Copilot CLI and any other MCP host. There is no npm package for this server, and that trips up most people who try to install it: `@github/mcp-server` is not published to the npm registry, so any `npx` line you find for it will fail. GitHub ships it three other ways. The easiest is the hosted remote server at https://api.githubcopilot.com/mcp/, which needs no install at all — point an HTTP-transport MCP client at that URL and log in with OAuth (VS Code 1.101+, Claude Desktop, Claude Code, Cursor and Windsurf all support this). The second is the official Docker image ghcr.io/github/github-mcp-server, which is what the copy-paste command on this page runs; on github.com it now performs a browser-based OAuth login on first use and keeps the token in memory only, which is why the published Docker configs map a fixed loopback callback port (-p 127.0.0.1:8085:8085 with GITHUB_OAUTH_CALLBACK_PORT=8085) so the container can receive the callback. Prefer a token? Set GITHUB_PERSONAL_ACCESS_TOKEN instead — it takes precedence over OAuth, and the minimum useful scopes are repo, read:org and read:packages. The third is the native Go binary from the repository's releases, which needs no fixed port for the OAuth flow. GitHub Enterprise Server has no hosted option: use the local server with --gh-host or GITHUB_HOST set to your instance (include the https:// scheme — it defaults to http://, which GHES rejects). Toolsets can be narrowed with GITHUB_TOOLSETS, and an insiders channel is available at /mcp/insiders or via the X-MCP-Insiders header.

Auth required📘
💻

GitLab MCP Server

a first-party MCP endpoint built into the GitLab instance itself — there is no package to install, because the server ships inside GitLab and answers at https://<your-gitlab>/api/v4/mcp (gitlab.com exposes the same path, so https://gitlab.com/api/v4/mcp works for SaaS projects). It landed as an experiment in GitLab 18.3 and moved to beta in 18.6. Authentication is the part that makes it different from every community GitLab server: it uses OAuth 2.0 Dynamic Client Registration, so the first time a client connects it registers itself as an OAuth application on your instance and is issued an access token — no personal access token pasted into a config file. Administrators who do not want one OAuth application per tool can pre-create a shared application instead. Three prerequisites are what actually block most first connections: GitLab Duo must be set to Always on or On by default, beta and experimental features must be enabled, and MCP access must be switched on at the group or instance level. The tool surface covers issues and merge requests (create_issue, get_issue, create_merge_request, get_merge_request, list_merge_requests, get_merge_request_commits, get_merge_request_diffs, get_merge_request_pipelines, create_merge_request_note, get_merge_request_notes), CI/CD (manage_pipeline for list/create/delete/retry/cancel, get_pipeline_jobs, get_job_log), work items (create_workitem_note, get_workitem_notes, link_work_items, get_saved_view_work_items), search (search across the instance, search_labels, semantic_code_search), list_wiki_pages, and attach_scan_profile. HTTP is the recommended transport — claude mcp add --transport http GitLab https://gitlab.com/api/v4/mcp — and clients that only speak stdio can wrap it with npx mcp-remote <url> on Node 20+. Send the X-Gitlab-Mcp-Server-Tool-Name-Prefix header if generic names like search collide with another connected server. If your instance predates 18.3 or Duo is not available to you, the community alternative most teams land on is zereight/gitlab-mcp (1,889 stars as of 2026-08-16, npm @zereight/mcp-gitlab), which authenticates with a plain personal access token and ships 217 tools — including merge_merge_request, approve_merge_request, execute_graphql and full CI/CD variable management, none of which the built-in server exposes — behind GITLAB_PERMISSION_MODE=readonly/modify and GITLAB_TOOLSETS/GITLAB_TOOLS filtering. One further change worth noting: MCP server access moved from GitLab Premium to GitLab Free in 19.2 and became a setting of its own.

Auth required📘
☁️

AWS MCP Servers

AWS Labs maintains a monorepo of specialized, open-source MCP servers that bring AWS best practices directly into AI-assisted development workflows, spanning infrastructure, data, AI/ML, cost management, and healthcare/life-sciences domains. Rather than one monolithic server, the project ships dozens of focused servers you install individually depending on the task: the AWS Documentation MCP Server for real-time official docs and API references, dedicated servers for Terraform/CDK/CloudFormation infrastructure-as-code, container and serverless platforms (ECS, EKS, Lambda), SQL/NoSQL databases (DynamoDB, RDS, Aurora), search and analytics (OpenSearch), messaging (SQS/SNS), and cost/billing analysis. Most servers install via uvx with a package name like awslabs.aws-documentation-mcp-server, run locally over stdio, and use standard AWS credential chains (IAM roles, profiles, or access keys) rather than exposing raw account credentials to the model. AWS also now offers a managed, remote "AWS MCP Server" (in preview) that combines full API coverage with pre-built agent SOPs, syntactically validated API calls, and complete CloudTrail audit logging for teams that want centralized governance instead of running servers locally. The Getting Started with Kiro/Cursor/VS Code/Claude Code sections in the repo provide one-click install configs for each server, making it straightforward to wire up only the AWS services a given project actually touches.

Local
☁️

Cloudflare MCP Server

Cloudflare ships two different things under this name. The mcp-server-cloudflare repo provides 16 remote, domain-specific MCP servers rather than one monolith — Documentation, Workers Bindings (storage/AI/compute primitives), Workers Builds, Observability (logs/analytics), Container sandboxes, Browser Rendering (fetch pages, convert to markdown, screenshots), Logpush health, AI Gateway (prompt/response search), AI Search, Audit Logs, DNS Analytics, Digital Experience Monitoring, Cloudflare One CASB, Radar, GraphQL analytics and the Agents SDK docs server, each on its own `*.mcp.cloudflare.com/mcp` hostname. Separately, the Cloudflare API MCP server at mcp.cloudflare.com/mcp (repo: cloudflare/mcp) exposes the whole 2,500+ endpoint Cloudflare API through just two tools, `search` and `execute`, using the Code Mode pattern — model-written JavaScript runs in an isolated Dynamic Worker, costing ~1,000 tokens of context against the ~1.17M an equivalent native-tool server would need. Pick a domain server when you want a readable, curated tool list for one product area; pick the API server for breadth or for endpoints nobody wrote a tool for. All endpoints are Streamable HTTP on `/mcp` and support the MCP 2026-07-28 spec; the historical `/sse` URLs remain as aliases for the same Streamable HTTP handler but no longer serve the deprecated HTTP+SSE transport, so clients pinned to SSE must switch. Auth is OAuth on connect, or a scoped Cloudflare API token as a bearer header for CI. Clients without native remote-MCP support bridge via `npx mcp-remote https://<subdomain>.mcp.cloudflare.com/mcp`.

Live📘

Sponsored

Better Stack

Free Plan

Get alerted when your APIs, browser tests, payment pipelines, or MCP server dependencies go down. Used by 100K+ developers.

Start monitoring free →