ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

MCP Zuul

โดย imatza-rhรุ่น 0.11.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.imatza-rh/mcp-zuul

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

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

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): 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ติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "zuul": {
      "command": "uvx",
      "args": [
        "mcp-zuul"
      ],
      "env": {
        "ZUUL_URL": "ใส่ค่าของคุณ",
        "ZUUL_DEFAULT_TENANT": "ใส่ค่าของคุณ",
        "ZUUL_AUTH_TOKEN": "ใส่ค่าของคุณ",
        "ZUUL_USE_KERBEROS": "ใส่ค่าของคุณ",
        "MCP_TRANSPORT": "ใส่ค่าของคุณ",
        "ZUUL_ENABLED_TOOLS": "ใส่ค่าของคุณ",
        "ZUUL_DISABLED_TOOLS": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add zuul --env ZUUL_URL='ใส่ค่าของคุณ' --env ZUUL_DEFAULT_TENANT='ใส่ค่าของคุณ' --env ZUUL_AUTH_TOKEN='ใส่ค่าของคุณ' --env ZUUL_USE_KERBEROS='ใส่ค่าของคุณ' --env MCP_TRANSPORT='ใส่ค่าของคุณ' --env ZUUL_ENABLED_TOOLS='ใส่ค่าของคุณ' --env ZUUL_DISABLED_TOOLS='ใส่ค่าของคุณ' -- uvx mcp-zuul

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "zuul": {
      "command": "uvx",
      "args": [
        "mcp-zuul"
      ],
      "env": {
        "ZUUL_URL": "ใส่ค่าของคุณ",
        "ZUUL_DEFAULT_TENANT": "ใส่ค่าของคุณ",
        "ZUUL_AUTH_TOKEN": "ใส่ค่าของคุณ",
        "ZUUL_USE_KERBEROS": "ใส่ค่าของคุณ",
        "MCP_TRANSPORT": "ใส่ค่าของคุณ",
        "ZUUL_ENABLED_TOOLS": "ใส่ค่าของคุณ",
        "ZUUL_DISABLED_TOOLS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "zuul": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-zuul"
      ],
      "env": {
        "ZUUL_URL": "ใส่ค่าของคุณ",
        "ZUUL_DEFAULT_TENANT": "ใส่ค่าของคุณ",
        "ZUUL_AUTH_TOKEN": "ใส่ค่าของคุณ",
        "ZUUL_USE_KERBEROS": "ใส่ค่าของคุณ",
        "MCP_TRANSPORT": "ใส่ค่าของคุณ",
        "ZUUL_ENABLED_TOOLS": "ใส่ค่าของคุณ",
        "ZUUL_DISABLED_TOOLS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • 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

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub imatza-rh ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 0% ของอีก 5670 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 31% ของอีก 5670 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5670 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

MCP Zuul ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.11.0) เข้า registry 3 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

โดย upstash

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

บนเครื่องหรือคลาวด์★ 64,224MITอัปเดต เมื่อวาน
ติดตั้ง

Codebase Memory

โดย DeusData

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

รันบนเครื่อง★ 48,148MITอัปเดต 21 วันที่ผ่านมา
ติดตั้ง

Exa

โดย exa-labs

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

รันบนคลาวด์★ 5,213MITอัปเดต 2 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx