Zuul MCP server
Zuul CI — build failure analysis, log search, pipeline status, and job configuration
21 stars72 downloads/wk
Reviews
Write oneNobody has reviewed Zuul yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Zuul tools (49, 3 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
autohold_createwrite actionCreate an autohold request — hold nodes after a job failure for debugging.
autohold_deletewrite actionDelete an autohold request.
batch_diagnoseClassify multiple failed builds in one call — returns a triage table.
browse_build_logsBrowse or fetch files from a build's log directory.
check_healthTest Zuul API connectivity and auth status.
dequeuewrite actionRemove a change or ref from a pipeline.
diagnose_and_testOne-call diagnosis + test results — combines diagnose_build and get_build_test_results.
diagnose_buildOne-call failure diagnosis — structured failures + relevant log context.
enqueueEnqueue a change or ref into a pipeline for testing.
find_flaky_jobsDetect flaky jobs by analyzing recent build history for intermittent failures.
get_autoholdGet details of a specific autohold request.
get_badgeGet a status badge URL (SVG) for a project's latest buildset result.
get_buildGet build details — log URL, nodeset, artifacts, timing, error detail.
get_build_anomaliesDetect anomalous log lines using LogJuicer ML-based analysis.
get_build_failuresAnalyze a failed build — which task failed, on which host, with error message.
get_build_logRead, search, and navigate build log files with grep, line ranges, and error summary.
get_build_test_resultsParse JUnit XML test results from a build's log directory.
get_build_timesBuild duration trends — compute avg/min/max to detect performance regressions.
get_buildsetGet buildset details — result, pipeline, project, change.
get_change_statusPipeline status for a specific change or PR/MR.
get_componentsShow Zuul system components — schedulers, executors, mergers, web servers.
get_config_errorsGet Zuul configuration errors — broken configs, missing refs, syntax errors.
get_connectionsList configured source connections — Gerrit, GitHub, GitLab instances.
get_freeze_jobGet fully-resolved job configuration after inheritance.
get_freeze_jobsGet the resolved job graph for a pipeline/project/branch.
get_jobGet job configuration — parent, nodeset, timeout, branches, and all variants.
get_job_durationsGet avg/min/max duration for multiple jobs in a single call.
get_projectGet project configuration — which pipelines and jobs are configured.
get_statusLive pipeline status showing what's currently queued/running.
get_tenant_infoGet tenant capabilities, auth config, and websocket URL.
investigate_changeOne-call investigation — builds + diagnosis + autohold status for a change.
list_autoholdsList autohold requests — nodes held after failure for debugging.
list_buildsSearch builds with filters. Returns compact build summaries.
list_buildsetsSearch buildsets (groups of builds triggered by a single event).
list_imagesList nodepool disk images with build status and upload artifacts.
list_jobsList all jobs in a tenant. Optionally filter by name substring.
list_labelsList available nodepool labels (node types that jobs can request).
list_nodesList nodepool nodes — available, in-use, or provisioning.
list_pipelinesList all pipelines with their trigger types.
list_projectsList all projects in a tenant. Optionally filter by name substring.
list_providersList nodepool cloud providers with flavors and images.
list_semaphoresList semaphores — resource locks that limit concurrent job execution.
list_system_eventsList system events — config updates, reconfigurations, pipeline changes.
list_tenantsList all Zuul tenants with project and queue counts.
mainpromotePromote changes to the top of a pipeline queue.
reenqueue_buildsetRe-enqueue a buildset — re-triggers a previous buildset's pipeline run.
stream_build_consoleRead live console output from a RUNNING build via WebSocket.
tail_build_logGet the last N lines of a build log — fastest way to see why a build failed.
Public scan report
scanner v0.1.9 · 2026-09-23 · same rubric, same numbers if you re-run it
- Code scan29 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 4 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the Zuul repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.imatza-rh/mcp-zuul -->
mcp-zuul
Debug build failures by asking questions, not clicking through web UIs. An MCP server for Zuul CI.
If mcp-zuul saves you a debugging session, a ⭐ star helps others find it.
One command, no install:
claude mcp add zuul -e ZUUL_URL=https://your-zuul.example.com -- uvx mcp-zuul48 tools, 5 prompts, 3 resources — covering builds, logs, pipelines, jobs, infrastructure, and live status. Works with Claude Code, Claude Desktop, Cursor, Codex, Windsurf, and any MCP-compatible client.
Why mcp-zuul?
Quick Start
uvx (no install, recommended):
claude mcp add zuul \
-e ZUUL_URL=https://softwarefactory-project.io/zuul \
-e ZUUL_DEFAULT_TENANT=rdoproject.org \
-- uvx mcp-zuulpip:
pip install mcp-zuulDocker:
docker build -t mcp-zuul .LobeHub — send this to your AI agent:
Read https://lobehub.com/mcp/imatza-rh-mcp-zuul/skill.md and follow the instructions to install the MCP server.See Setup for full configuration options including Kerberos and multi-instance.
Features
Structured failure analysis — getbuildfailures parses Zuul's job-output.json and returns exactly which Ansible task failed, on which host, with error message, return code, and stderr. No log scrolling needed.
Read any log file — getbuildlog isn't limited to job-output.txt. Pass logname to read any file in the build's log directory (ciscript logs, ansible.log, deployment logs) with full grep, tail, and line-range support.
Precise log navigation — Jump to exact line ranges with startline/endline. After finding an error at line 6148, read lines 6130-6160 instead of scrolling through 200-line chunks.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
claude mcp add mcp-zuul -- uvx mcp-zuul
Zuul: common questions
- Is Zuul MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Zuul safety report
- How do I install Zuul?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Zuul need an API key?
- No secret keys are declared. It reads 7 settings from the environment.
- Is Zuul maintained?
- The last commit was 6 days ago (2026-09-19). The latest release is v0.11.0.
- What can I use instead of Zuul?
- Servers from other publishers that do the same job: ellmos ServerCommander MCP server, Gitlab MCP server and walkerOS Flow MCP server. Compare all Zuul alternatives.
Alternatives to Zuul
Same job from other publishers: the closest match first, then the best rated.
- ellmos ServerCommanderServer operations MCP: HTTP health checks, log analysis, deploy dry-runs, mail diagnostics.not reviewedGrowingA
- GitlabGitLab MCP server for projects, merge requests, issues, pipelines, wiki, releases, and more.not reviewedWidely usedB
walkerOS FlowBuild, validate, simulate, and deploy walkerOS event pipelinesnot reviewedEstablishedB- MockzillaMock OpenAPI specs locally, or log in to deploy hosted mocks on mockzilla.org from your MCP client.not reviewedGrowingC
- GitlabMCP server for GitLab API — projects, MRs, pipelines, CI/CD, approvals, issues, code review.not reviewedGrowingB