原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

MCP Zuul

作者:imatza-rh版本 0.11.0i★ –i在你的电脑上运行
注册名称io.github.imatza-rh/mcp-zuul

安装

概览

作者提供的说明(英文原文)

Zuul CI — build failure analysis, log search, pipeline status, and job configuration

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 搜索与 AI 记忆

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: ZUUL_URL, ZUUL_DEFAULT_TENANT, ZUUL_AUTH_TOKEN, ZUUL_USE_KERBEROS, MCP_TRANSPORT, ZUUL_ENABLED_TOOLS, ZUUL_DISABLED_TOOLS

你需要

  • PyPI已安装 Python 的 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 中打开

或者自己复制设置

粘贴到项目中的 .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"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .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_URL env
    Zuul base URL (e.g. https://softwarefactory-project.io/zuul)
  • ZUUL_DEFAULT_TENANT env
    Default tenant name
  • ZUUL_AUTH_TOKEN env
    Bearer token for authenticated instances
  • ZUUL_USE_KERBEROS env
    Enable Kerberos/SPNEGO authentication (true/false)
  • MCP_TRANSPORT env
    Transport mode: stdio, sse, or streamable-http (default: stdio)
  • ZUUL_ENABLED_TOOLS env
    Comma-separated list of tools to enable (disables all others)
  • ZUUL_DISABLED_TOOLS env
    Comma-separated list of tools to disable

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 imatza-rh 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“搜索与 AI 记忆”中的其他服务器比较i

  • 星标数多于此分类中其他 5763 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 5763 个服务器的 31% 更新
  • 基础检查结果等于或优于此分类中其他 5763 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

MCP Zuul 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.11.0)于3个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。

有什么可以替代它?

同一分类中有:Context7, Codebase Memory, Exa

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Context7

Up-to-date docs for AI agents

作者:upstash广泛使用↓ 97.3万/周★ 6.4万3天前更新

电脑或云端

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

作者:DeusData广泛使用↓ 1.8万/周★ 4.8万23天前更新

在你的电脑上运行

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

作者:exa-labs广泛使用★ 52132个月前更新

在云端运行✓ exa.ai

作者的 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-zuulRaw Zuul APIZuul web UI
Failure analysisStructured — task, host, error, rcRaw JSON, parse yourselfClick through log pages
Log searchRegex + context lines + line rangesNot availableBrowser Ctrl+F
Flaky detectionAutomatic pass/fail statisticsManual query + calculateNot available
Test resultsParsed JUnit XML with failure detailsNot availableExternal link
Anomaly detectionML-based via LogJuicerNot availableNot available
Live statusJob progress, ETA, pre-failure alertsPolling APIManual refresh
Multi-instanceOne config entry per ZuulDifferent base URLsDifferent 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
ToolWhat it does
list_buildsSearch builds by project, pipeline, job, change, result. Includes buildset_uuid for cross-referencing.
get_buildFull build details — nodeset, log URL, artifacts, error detail. Accepts url or uuid.
get_build_failuresStart here for failures. Structured task-level data from job-output.json — failed play, task, host, msg, rc, stderr/stdout. Accepts url or uuid.
diagnose_buildOne-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_logRead 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_logFastest 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_logsList log directory contents or fetch specific files (inventory, artifacts, must-gather). Max 512KB per file. Accepts url or uuid.
stream_build_consoleLive 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
ToolWhat it does
list_buildsetsSearch buildsets. Use include_builds=true to inline full build details (saves round-trips).
get_buildsetFull buildset with all builds and events. Accepts url or uuid.
Pipeline & Status
ToolWhat it does
get_statusLive pipeline status — what's queued, running, with job progress and ETA. Filterable by pipeline and project.
get_change_statusStatus 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_pipelinesAll pipelines with their trigger types.
Jobs & Projects
ToolWhat it does
list_tenantsAll tenants with project counts.
list_jobsList jobs with optional name filter.
get_jobJob configuration — parent, nodeset, timeout, variants, source project.
get_projectWhich pipelines and jobs are configured for a project.
list_projectsList all projects in a tenant with optional name filter.
get_config_errorsCheck this when jobs aren't running. Configuration errors, missing refs, broken configs. Filterable by project.
get_freeze_jobsResolved job dependency graph for a pipeline/project/branch. Shows exactly which jobs will run with inheritance resolved.
get_freeze_jobResolved job config after inheritance. Final merged nodeset, playbooks, variables, and timeout for a specific job. Answers "what will this job actually do?"
find_flaky_jobsAnalyze recent build history for intermittent failures. Computes pass/fail rate and flags jobs as flaky (>20% failure with mixed results).
get_build_timesBuild duration trends with avg/min/max stats. Detect performance regressions or timeout-prone jobs.
get_job_durationsBatch avg/min/max duration for multiple jobs in one call. Designed for monitoring an entire pipeline chain without N separate calls.
check_healthTest API connectivity, auth status, and config. Triggers re-auth automatically if the Kerberos session expired.
get_tenant_infoTenant capabilities — auth realms, job history support, websocket URL.
Infrastructure
ToolWhat it does
list_nodesNodepool nodes with state (ready, in-use, building), provider, and label. Includes state summary.
list_labelsAvailable nodepool labels — what node types jobs can request.
list_semaphoresResource locks with current holders and max capacity. Check when jobs wait unexpectedly.
list_autoholdsActive autohold requests — nodes held after failure for debugging.
get_autoholdFull details of a specific autohold request — held nodes, timing, project/job.
list_providersNodepool cloud providers with flavors (VM sizes), images, and labels.
list_imagesNodepool disk images with build status and provider upload state.
list_system_eventsSystem events — config updates, reconfigurations, pipeline changes. Useful for "why did my job stop running?"
get_badgeCI status badge URL (SVG) for a project — embeddable in READMEs with Markdown snippet.
get_connectionsConfigured source connections — Gerrit, GitHub, GitLab instances with driver and hostname.
get_componentsSystem 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.

ToolWhat it does
enqueueEnqueue 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

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx