MCP Zuul
概要
作者による説明(英語の原文)
Zuul CI — build failure analysis, log search, pipeline status, and job configuration
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい↓ 59/週 · ★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 検索・AIの記憶
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:1項目中1項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- 自分で入力するもの:
ZUUL_URL,ZUUL_DEFAULT_TENANT,ZUUL_AUTH_TOKEN,ZUUL_USE_KERBEROS,MCP_TRANSPORT,ZUUL_ENABLED_TOOLS,ZUUL_DISABLED_TOOLS
必要なもの
- PyPIPythonのuvのインストール(uvxコマンドに必要)
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"zuul": {
"command": "uvx",
"args": [
"mcp-zuul"
],
"env": {
"ZUUL_URL": "your-value",
"ZUUL_DEFAULT_TENANT": "your-value",
"ZUUL_AUTH_TOKEN": "your-value",
"ZUUL_USE_KERBEROS": "your-value",
"MCP_TRANSPORT": "your-value",
"ZUUL_ENABLED_TOOLS": "your-value",
"ZUUL_DISABLED_TOOLS": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add zuul --env ZUUL_URL=your-value --env ZUUL_DEFAULT_TENANT=your-value --env ZUUL_AUTH_TOKEN=your-value --env ZUUL_USE_KERBEROS=your-value --env MCP_TRANSPORT=your-value --env ZUUL_ENABLED_TOOLS=your-value --env ZUUL_DISABLED_TOOLS=your-value -- uvx mcp-zuul動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"zuul": {
"command": "uvx",
"args": [
"mcp-zuul"
],
"env": {
"ZUUL_URL": "your-value",
"ZUUL_DEFAULT_TENANT": "your-value",
"ZUUL_AUTH_TOKEN": "your-value",
"ZUUL_USE_KERBEROS": "your-value",
"MCP_TRANSPORT": "your-value",
"ZUUL_ENABLED_TOOLS": "your-value",
"ZUUL_DISABLED_TOOLS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"zuul": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-zuul"
],
"env": {
"ZUUL_URL": "your-value",
"ZUUL_DEFAULT_TENANT": "your-value",
"ZUUL_AUTH_TOKEN": "your-value",
"ZUUL_USE_KERBEROS": "your-value",
"MCP_TRANSPORT": "your-value",
"ZUUL_ENABLED_TOOLS": "your-value",
"ZUUL_DISABLED_TOOLS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
ZUUL_URLenvZuul base URL (e.g. https://softwarefactory-project.io/zuul)ZUUL_DEFAULT_TENANTenvDefault tenant nameZUUL_AUTH_TOKENenvBearer token for authenticated instancesZUUL_USE_KERBEROSenvEnable Kerberos/SPNEGO authentication (true/false)MCP_TRANSPORTenvTransport mode: stdio, sse, or streamable-http (default: stdio)ZUUL_ENABLED_TOOLSenvComma-separated list of tools to enable (disables all others)ZUUL_DISABLED_TOOLSenvComma-separated list of tools to disable
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント imatza-rh で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5689件のうち0%よりスターが多い
- このカテゴリのほかの5689件のうち31%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5689件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
MCP Zuulは安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(0.11.0)がレジストリに届いたのは3 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Exa
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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-zuul
48 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?
| mcp-zuul | Raw Zuul API | Zuul web UI | |
|---|---|---|---|
| Failure analysis | Structured — task, host, error, rc | Raw JSON, parse yourself | Click through log pages |
| Log search | Regex + context lines + line ranges | Not available | Browser Ctrl+F |
| Flaky detection | Automatic pass/fail statistics | Manual query + calculate | Not available |
| Test results | Parsed JUnit XML with failure details | Not available | External link |
| Anomaly detection | ML-based via LogJuicer | Not available | Not available |
| Live status | Job progress, ETA, pre-failure alerts | Polling API | Manual refresh |
| Multi-instance | One config entry per Zuul | Different base URLs | Different browser tabs |
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-zuul
pip:
pip install mcp-zuul
Docker:
docker build -t mcp-zuul .
[LobeHub](https://lobehub.com/mcp/imatza-rh-mcp-zuul) — 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 — get_build_failures 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 — get_build_log isn't limited to job-output.txt. Pass log_name to read any file in the build's log directory (ci_script logs, ansible.log, deployment logs) with full grep, tail, and line-range support.
Precise log navigation — Jump to exact line ranges with start_line/end_line. After finding an error at line 6148, read lines 6130-6160 instead of scrolling through 200-line chunks.
Smart grep — Regex search with context lines. Auto-converts common shell-grep \| syntax to Python regex | so patterns like error\|failed\|timeout just work.
Live pipeline awareness — get_change_status returns live job progress with elapsed times, estimated completion, and pre-failure detection (pre_fail field). When the change isn't in pipeline, automatically fetches the latest completed buildset.
Tool filtering — Reduce LLM tool-selection noise with ZUUL_ENABLED_TOOLS or ZUUL_DISABLED_TOOLS. Only expose the tools your workflow needs — the rest are removed from the server entirely.
URL-based input — Paste a Zuul build URL directly. Tools auto-parse the tenant and UUID from URLs like https://zuul.example.com/t/tenant/build/abc123 — no manual extraction needed.
Flaky job detection — find_flaky_jobs analyzes recent build history and computes pass/fail statistics to identify intermittent failures automatically.
Job dependency graph — get_freeze_jobs returns the fully-resolved job graph for a pipeline/project/branch, showing all jobs with their dependencies after inheritance resolution.
Kerberos/SPNEGO auth — First-class support for Zuul instances behind OIDC + Kerberos. Drives the full SPNEGO redirect chain automatically. Session cookies persist and re-authenticate transparently on expiry.
Streamable HTTP transport — Run as a persistent HTTP server with MCP_TRANSPORT=streamable-http for remote/shared deployment. Supports stdio (default), SSE, and streamable-http.
Write operations — Enqueue/dequeue/promote changes and re-enqueue buildsets. Pipeline-affecting tools are disabled by default (ZUUL_READ_ONLY=true) and removed from the server entirely so LLMs don't even see them. Autohold management (create/delete) is always available since it doesn't affect running pipelines.
LogJuicer integration — get_build_anomalies uses ML-based log analysis to find unusual lines by comparing failed logs against successful baselines. Optional — requires LOGJUICER_URL.
Token-efficient output — All responses strip None values and use compact formatters. tail_build_log returns just the last N lines — the fastest way to check why a build failed.
Error handling — All tools return JSON, errors included. Network failures, auth issues, and invalid parameters produce {"error": "descriptive message"}. Tools never raise unhandled exceptions.
Tools
Builds & Failures
| Tool | What it does |
|---|---|
list_builds | Search builds by project, pipeline, job, change, result. Includes buildset_uuid for cross-referencing. |
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. |
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 get_build_failures + get_build_log separately. Accepts url or uuid. |
get_build_log | Read and search log files. Modes: summary (tail + error lines), full (paginated), grep (regex + context), start_line/end_line (exact range). Supports log_name for any file. Accepts url or uuid. |
tail_build_log | Fastest failure check. Last N lines of a log (default 50, max 500). More token-efficient than get_build_log summary mode. Accepts url or uuid. |
browse_build_logs | List log directory contents or fetch specific files (inventory, artifacts, must-gather). Max 512KB per file. Accepts url or uuid. |
stream_build_console | Live console from RUNNING builds. Connects to Zuul WebSocket, returns last N lines (tail). For completed builds, use tail_build_log. Optional — requires pip install mcp-zuul[console]. |
Buildsets
| Tool | What it does |
|---|---|
list_buildsets | Search buildsets. Use include_builds=true to inline full build details (saves round-trips). |
get_buildset | Full buildset with all builds and events. Accepts url or uuid. |
Pipeline & Status
| Tool | What it does |
|---|---|
get_status | Live pipeline status — what's queued, running, with job progress and ETA. Filterable by pipeline and project. |
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. |
list_pipelines | All pipelines with their trigger types. |
Jobs & Projects
| Tool | What it does |
|---|---|
list_tenants | All tenants with project counts. |
list_jobs | List jobs with optional name filter. |
get_job | Job configuration — parent, nodeset, timeout, variants, source project. |
get_project | Which pipelines and jobs are configured for a project. |
list_projects | List all projects in a tenant with optional name filter. |
get_config_errors | Check this when jobs aren't running. Configuration errors, missing refs, broken configs. Filterable by project. |
get_freeze_jobs | Resolved job dependency graph for a pipeline/project/branch. Shows exactly which jobs will run with inheritance resolved. |
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?" |
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_build_times | Build duration trends with avg/min/max stats. Detect performance regressions or timeout-prone jobs. |
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. |
check_health | Test API connectivity, auth status, and config. Triggers re-auth automatically if the Kerberos session expired. |
get_tenant_info | Tenant capabilities — auth realms, job history support, websocket URL. |
Infrastructure
| Tool | What it does |
|---|---|
list_nodes | Nodepool nodes with state (ready, in-use, building), provider, and label. Includes state summary. |
list_labels | Available nodepool labels — what node types jobs can request. |
list_semaphores | Resource locks with current holders and max capacity. Check when jobs wait unexpectedly. |
list_autoholds | Active autohold requests — nodes held after failure for debugging. |
get_autohold | Full details of a specific autohold request — held nodes, timing, project/job. |
list_providers | Nodepool cloud providers with flavors (VM sizes), images, and labels. |
list_images | Nodepool disk images with build status and provider upload state. |
list_system_events | System events — config updates, reconfigurations, pipeline changes. Useful for "why did my job stop running?" |
get_badge | CI status badge URL (SVG) for a project — embeddable in READMEs with Markdown snippet. |
get_connections | Configured source connections — Gerrit, GitHub, GitLab instances with driver and hostname. |
get_components | System components — schedulers, executors, mergers, web servers with state and version. |
Write Operations
Pipeline-affecting operations — disabled by default (ZUUL_READ_ONLY=true). Set ZUUL_READ_ONLY=false to enable. Requires auth token or Kerberos. Autohold management (create/delete) is always available since it doesn't affect running pipelines.
| Tool | What it does |
|---|---|
enqueue | Enqueue a change or ref into a pipeline. Supports both change-based (check/gate) and ref-based (periodic) enqueue. |
| promote | Promote changes to the top of a
冒頭だけを表示しています。続きはリポジトリで読めます