Jenkins MCP server
JSON →Read-first Jenkins MCP server in Go for agent-driven build debugging. 20 tools including compare_builds, flaky-test detection, JUnit/Ginkgo failure parsing, and disk-cached console logs with on-disk path handoff. Write tools (trigger/stop/cancel) gated by JENKINS_MCP_READONLY env var.
Tools · 20
- health_check Validate the server's setup: Jenkins reachability and version, authenticated user, CSRF crumb issuer, Pipeline/JUnit plugin presence, online/offline node counts, clock skew, and the effective config the process is running with.
- list_jobs Enumerate jobs and folders under a path (or root). Optional recursion and case-insensitive RE2 name filter; capped at 500 entries.
- list_branches Enumerate the branches of a WorkflowMultiBranchProject with per-branch last-build number, result, duration, and timestamp. Optional name_filter (RE2) and healthy_only.
- get_console_log Tail the build's /consoleText. Defaults to last 500 lines; pass tail_lines: -1 for the full log.
- get_console_log_path Force-cache the full log for a completed build and return its on-disk path so the agent can Read/Grep/Bash it natively.
- search_console_log RE2 regex search over the console log with line-number-aware context windows.
- get_build_info Pretty-printed build summary: result, duration, parameters, change set.
- get_scm_context Per-commit history for one build: commit id, author, timestamp, message subject, and each commit's touched paths with A/M/D edit codes. Pipeline change sets are flattened with per-set headers. Optional RE2 path_filter.
- compare_builds Diff two builds of the same job across result, duration, parameters, SCM commits, pipeline stages, and JUnit tests. The agent answers 'what changed between A and B?' in one call.
- get_pipeline_stages List Declarative/Scripted Pipeline stages via /wfapi/describe with status and duration.
- get_stage_log Fetch a single pipeline stage's log via /execution/node/<id>/wfapi/log.
- get_test_report Structured JUnit results from /testReport/api/json, with failed cases and head+tail of stack traces.
- get_flaky_candidates Rank flaky tests across the latest N completed builds of one job by counting pass↔fail flips. Returns a sorted table of test name, flip count, pass/fail tallies, and last-seen build.
- get_failure_summary Parse Ginkgo's Summarizing N Failure block and surface the first [ERROR] tagged with each spec name.
- list_nodes List Jenkins agents/nodes with status, executor counts, labels, and monitor summaries.
- get_node Per-node detail: status, per-executor idle state, labels, full monitor data.
- list_queue List pending Jenkins queue items with the block reason for each.
- cancel_queue_item Drop a pending queue item by id. Mutating; suppressed when JENKINS_MCP_READONLY is set.
- trigger_build Queue a build, optionally with parameters; can block until the build is assigned a number. Mutating.
- stop_build Abort a running build. Mutating.
Environment variables
JENKINS_URLJENKINS_API_TOKEN
Links
★ 3 GitHub stars