Release Readiness Triage Mcp

io.github.vola-trebla由 GitHub 帳號 vola-trebla 發布v0.2.0更新於 Oct 24, 2026

Aggregates CI failures, cross-references flakiness history, and outputs GO/NO_GO release verdicts.

已驗證STDIO僅桌面開發者工具資料與分析

概覽

AI 產生的概覽

彙整 CI 測試失敗、交叉比對不穩定歷史與程式碼變更,並給出 GO 或 NO_GO 的發布結論。

可以做什麼
提供多項工具:依正規化錯誤簽章將 CI 失敗分組,並歸類為斷言、逾時、網路或崩潰;依不穩定歷史為失敗評分;將變更檔案與失敗測試比對;辨識依時間出現的失敗模式。最後一項工具輸出帶風險權重的發布建議,包含信心分數、每個測試的領域、嚴重程度、風險貢獻與影響範圍,可選 markdown 格式用於 PR 留言或聊天。它也會掃描儲存庫中的版本化遷移檔案,標記阻礙回復的破壞性操作。
適用情境
當一次 CI 執行出現大量失敗,需要在發布前區分真實回歸與已知不穩定測試或基礎設施雜訊時適用。適合已維護不穩定歷史或受影響測試資料的團隊,讓助理快速完成故障分診。
執行需求
透過 stdio 在本機執行,通常以 npx 從 npm 套件 release-readiness-triage-mcp 啟動,因此需要 Node.js。未宣告任何帳號、API 金鑰、環境變數或標頭。CI 失敗、不穩定歷史與變更檔案等輸入由使用者或助理提供。
安裝前請注意
它會讀取儲存庫檔案(包括遷移檔案),並給出可能影響是否發布的建議,應視為參考而非最終結論。未宣告憑證或寫入操作,但請留意傳入的失敗日誌與儲存庫內容,其中可能包含敏感資訊。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Release Readiness Triage Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

🚦 release-readiness-triage-mcp

[npm] [CI] [License: MIT]

Stop reading CI logs. Start getting verdicts.

MCP server that aggregates test failures, cross-references flakiness history, and outputs a GO / CONDITIONAL_GO / NO_GO / INVESTIGATE release decision — so your AI agent can triage a broken CI run in seconds instead of asking you to read 3000 lines of logs.


🤔 The problem

In any real codebase, CI always has something failing. The hard question isn't "are there failures?" — it's "are these failures real regressions, or just the usual noise?"

Answering that requires correlating three signals at once:

  • 🔍 Error signatures — is this the same failure repeated 12 times, or 12 different problems?
  • 📊 Flakiness history — is this test known to be unreliable?
  • 🔗 Code changes — is the failing test actually related to what changed?

An AI agent can't do this without structured tools. Raw CI logs are thousands of lines. Flakiness databases are external. Code→test mapping requires AST analysis. Without this MCP, the agent just guesses.


🛠️ Tools

aggregate_suite_failures

Groups failures by normalized error signature, deduplicates repeated errors, categorizes as assertion / timeout / network / crash. Pass customInfraPatterns for cloud-specific errors.

cross_reference_flakiness

Scores each failure against your flakiness history: KNOWN FLAKY, MILDLY FLAKY, or NO HISTORY.

correlate_code_changes

Matches changed files against failing tests. Works standalone or with pre-computed affected test lists from ast-impact-mapper-mcp.

generate_release_recommendation

The final step. Outputs a risk-weighted verdict with confidence score and full breakdown. Supports format: "markdown" for GitHub PR comments and Slack.

Verdict levels:

  • NO_GO — regression in a critical domain (payment, auth, billing, checkout, security)
  • CONDITIONAL_GO — regression in a low/medium-risk domain (analytics, docs, admin); review before releasing
  • GO — all failures are known flaky or infrastructure noise
  • INVESTIGATE — too many unknowns to decide

Output includes:

  • aggregate_risk_score — 0.0–1.0, probability union across all regression risk contributions
  • failing_tests_analysis[] — per-regression breakdown with domain, severity (HIGH/MEDIUM/LOW), risk_contribution, blast_radius

detect_temporal_failure_patterns

Analyzes historical failures with timestamps to identify chronometric artifacts — failures that only appear at the same UTC hour, weekday, day of month, or during DST transitions. When a pattern is found, the failure is a time artifact, not a code regression.

Output includes:

  • temporal_pattern_detected — boolean
  • clusters[] — per-test: pattern_type (hourly | daily | monthly | timezone_shift), cluster_times, confidence_score

analyze_rollback_readiness

Scans a repository for versioned migration files (Flyway V*.sql, Prisma migration.sql, Liquibase XML/YAML) and classifies each operation as additive (rollback safe) or destructive (forward-fix only).

Detected destructive operations: DROP TABLE, DROP COLUMN, ALTER COLUMN TYPE, MODIFY COLUMN, TRUNCATE

Output includes:

  • rollback_eligible — boolean
  • blocking_migrations[] — each with file, line, operation, reason
  • deployment_strategy — standard | forward_fix_only

🧪 What it looks like in practice

5 failures in CI. What's real, what's noise?

failures:  - Auth Suite > login with expired token   → "Expected status 200, got 401"  - API Suite > health check                → "connect ECONNREFUSED 127.0.0.1:3000"  - Button Suite > renders button correctly → "Expected null, got <button>Submit</button>"  - Search Suite > debounce timing          → "Expected 42, received 43"  - Storage Suite > upload avatar           → "GCP quota exceeded for this project"
changedFiles: ["src/components/Button.tsx"]affectedTests: ["renders button correctly"]customInfraPatterns: ["GCP quota exceeded"]format: "markdown"

Output:

markdown
## 🔴 Release Recommendation: NO_GO (75% confidence)
> 1 confirmed regression(s) in critical domain(s) [payment]. Do not release.
**Aggregate risk score:** 1.0
| Category            | Count || ------------------- | ----- || Total failures      | 5     || 🔴 Real regressions | 1     || 🟡 Known flaky      | 2     || ⚪ Infra blips      | 2     || ❓ Unknown          | 0     |
### Risk Breakdown
| Test                                   | Domain | Severity | Risk | Blast Radius || -------------------------------------- | ------ | -------- | ---- | ------------ || Button Suite::renders button correctly | core   | MEDIUM   | 0.5  | 1            |
### Blockers (must fix before release)
**Button Suite > renders button correctly**
- Test is directly affected by code changes in this commit- `Expected null, got <button>Submit</button>`
### Safe to ignore
- ~~Auth Suite > login with expired token~~ — Historically flaky: 73% failure rate in history- ~~API Suite > health check~~ — Error pattern matches infrastructure issues (network)- ~~Search Suite > debounce timing~~ — Mildly flaky: 22% historical failure rate- ~~Storage Suite > upload avatar~~ — Error pattern matches infrastructure issues (network)

One tool call. One verdict. Go fix Button.tsx.


⚡ Setup

json
{  "mcpServers": {    "release-readiness-triage": {      "command": "npx",      "args": ["-y", "release-readiness-triage-mcp"]    }  }}

🚀 Usage

"Here are the failures from our CI run, our flakiness database, and the files changed in this PR. Is it safe to release?"

The agent calls generate_release_recommendation and returns a verdict with a full breakdown — ready to paste into a PR comment or Slack.

Works standalone, or as a meta-orchestrator on top of:


📦 Links

License

MIT

來源:README.md,提交 8e5ef77

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分