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.
Trust verdict
How grades are computed →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
uvx mcp-jenkinsThere 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.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-http2.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.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.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.
shelluvx 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_itemsList 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_parametersA job’s config XML and its declared build parameters.
build_itemTrigger a build, with parameters. Mutating.
get_build / get_build_console_outputBuild metadata and full console log — the pair behind almost every "why did this fail" question.
get_build_test_report / get_build_parameters / get_build_scriptsTest results, the parameters a build actually ran with, and its pipeline scripts.
get_running_builds / stop_buildSee what is executing now and stop it. stop_build mutates.
get_all_build_artifacts / get_build_artifact / get_build_artifact_urlList, download, or link an artifact from a finished build.
get_all_queue_items / get_queue_item / cancel_queue_itemThe build queue, including why an item is stuck waiting for an executor.
get_all_nodes / get_node / get_node_configAgent inventory and configuration — where offline-executor problems surface.
get_plugins_with_problemsPlugins 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_backupFull plugin inventory, available updates, and which ones can be rolled back.
get_plugin_dependency_graphA plugin’s dependency graph in Graphviz format.
run_groovy_scriptExecutes 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.
Categories
Frequently Asked Questions
Is run_groovy_script safe to leave enabled?
Large requests time out. What do I change?
Should I use this or the official Jenkins MCP plugin?
Can one instance serve more than one Jenkins?
What is MCP Jenkins?
Who built MCP Jenkins?
Is MCP Jenkins free?
How do I install MCP Jenkins?
What does MCP Jenkins integrate with?
Repo Health
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.
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.
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.
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.
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`.
Sponsored
Better Stack
Free PlanGet alerted when your APIs, browser tests, payment pipelines, or MCP server dependencies go down. Used by 100K+ developers.
Start monitoring free →