MCP Zuul logo

MCP Zuul

Unclaimed

by imatza-rh

MCP server for Zuul CI - debug build failures, search logs, manage pipelines, and monitor jobs from Claude, Cursor, or any MCP client

Install

$claude mcp add zuul -e ZUUL_URL=https://your-zuul.example.com -- uvx mcp-zuul

Set up this server

This server needs project-specific setup. Follow the project instructions; no reusable public launch command is available yet.

Project instructions
ansibleci-cddevopsmcpmcp-servermodel-context-protocolzuulzuul-ci

More in Search & Web

Browse the full directory

Unclaimed listing

Is this your MCP server?

This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.

Claim this server

Security profile

Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works

40 of 40 tools

Documented tools (40)

From project documentation. A server handshake does not verify each tool’s description or behavior.

browse_build_logs

List log directory contents or fetch specific files (inventory, artifacts, must-gather). Max 512KB per file. Accepts url or uuid.

check_health

Test API connectivity, auth status, and config. Triggers re-auth automatically if the Kerberos session expired.

diagnose_build

One-call failure diagnosis. Combines structured failures from job-output.json with targeted log context (fatal/FAILED lines with surrounding context from job-output.txt). Use instead of calling getbuildfailures + getbuildlog separately. Accepts url or uuid.

enqueue

Enqueue a change or ref into a pipeline. Supports both change-based (check/gate) and ref-based (periodic) enqueue.

find_flaky_jobs

Analyze recent build history for intermittent failures. Computes pass/fail rate and flags jobs as flaky (>20% failure with mixed results).

get_autohold

Full details of a specific autohold request — held nodes, timing, project/job.

get_badge

CI status badge URL (SVG) for a project — embeddable in READMEs with Markdown snippet.

get_build

Full build details — nodeset, log URL, artifacts, error detail. Accepts url or uuid.

get_build_failures

Start here for failures. Structured task-level data from job-output.json — failed play, task, host, msg, rc, stderr/stdout. Accepts url or uuid.

get_build_log

Read and search log files. Modes: summary (tail + error lines), full (paginated), grep (regex + context), startline/endline (exact range). Supports logname for any file. Accepts url or uuid.

get_build_times

Build duration trends with avg/min/max stats. Detect performance regressions or timeout-prone jobs.

get_buildset

Full buildset with all builds and events. Accepts url or uuid.

get_change_status

Status for a change/PR/MR. In pipeline: live jobs with elapsed times. Not in pipeline: auto-fetches latest completed buildset. Accepts url or change.

get_components

System components — schedulers, executors, mergers, web servers with state and version.

get_config_errors

Check this when jobs aren't running. Configuration errors, missing refs, broken configs. Filterable by project.

get_connections

Configured source connections — Gerrit, GitHub, GitLab instances with driver and hostname.

get_freeze_job

Resolved job config after inheritance. Final merged nodeset, playbooks, variables, and timeout for a specific job. Answers "what will this job actually do?"

get_freeze_jobs

Resolved job dependency graph for a pipeline/project/branch. Shows exactly which jobs will run with inheritance resolved.

get_job

Job configuration — parent, nodeset, timeout, variants, source project.

get_job_durations

Batch avg/min/max duration for multiple jobs in one call. Designed for monitoring an entire pipeline chain without N separate calls.

get_project

Which pipelines and jobs are configured for a project.

get_status

Live pipeline status — what's queued, running, with job progress and ETA. Filterable by pipeline and project.

get_tenant_info

Tenant capabilities — auth realms, job history support, websocket URL.

list_autoholds

Active autohold requests — nodes held after failure for debugging.

list_builds

Search builds by project, pipeline, job, change, result. Includes buildsetuuid for cross-referencing.

list_buildsets

Search buildsets. Use includebuilds=true to inline full build details (saves round-trips).

list_images

Nodepool disk images with build status and provider upload state.

list_jobs

List jobs with optional name filter.

list_labels

Available nodepool labels — what node types jobs can request.

list_nodes

Nodepool nodes with state (ready, in-use, building), provider, and label. Includes state summary.

list_pipelines

All pipelines with their trigger types.

list_projects

List all projects in a tenant with optional name filter.

list_providers

Nodepool cloud providers with flavors (VM sizes), images, and labels.

list_semaphores

Resource locks with current holders and max capacity. Check when jobs wait unexpectedly.

list_system_events

System events — config updates, reconfigurations, pipeline changes. Useful for "why did my job stop running?"

list_tenants

All tenants with project counts.

promote

Promote changes to the top of a pipeline queue. Use for urgent fixes when gate has a long queue.

reenqueue_buildset

Re-enqueue a buildset — reads project/pipeline/ref from a previous buildset and enqueues it again.

stream_build_console

Live console from RUNNING builds. Connects to Zuul WebSocket, returns last N lines (tail). For completed builds, use tailbuildlog. Optional — requires pip install mcp-zuul[console].

tail_build_log

Fastest failure check. Last N lines of a log (default 50, max 500). More token-efficient than getbuildlog summary mode. Accepts url or uuid.

Tool change history

Compared across complete checks of the same configuration. Tools were listed, not invoked. Input-schema changes are not measured here.

No complete tool checks yet.

FAQ

Questions about MCP Zuul MCP Server

How do I connect MCP Zuul MCP Server to Claude?
The listing records `claude mcp add zuul -e ZUUL_URL=https://your-zuul.example.com -- uvx mcp-zuul` as its setup step. Run it, then follow the repository's instructions for the client configuration; the listing names Claude Desktop, Claude Code, Cursor as compatible clients.
Is MCP Zuul MCP Server free?
The listed licence is Apache-2.0. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
What can MCP Zuul MCP Server do?
MCP Zuul MCP Server documents 40 tools to the agent, including browse_build_logs, check_health, diagnose_build. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.