CLI tool and MCP server for investigating .NET CI failures in Helix and Azure DevOps
概览
An increasingly inaccurately named CLI and MCP server for AI agents investigating .NET CI/CD failures across Helix and Azure DevOps. hlx works as a standalone CLI — dnx lewing.helix.mcp (zero-install) or dotnet tool install -g lewing.helix.mcp. See the CLI reference. AI agents investigating CI failures in dotnet repos (runtime, sdk, aspnetcore, etc.) hit two problems: 1. A single Helix console log can be megabytes. The Azure DevOps build timeline returns hundreds of records. Dumping this into a context window wastes tokens and drowns the signal. 2. When multiple agents — or the same agent across tool calls — inspect the same build, each one repeats the same API calls and downloads. - Tools like helix_search and azdo_search_log search in place and return only matching lines with context — agents never download a full log. helix_status returns structured failure summaries instead of raw JSON.
README
以下为原文 README 节选,完整内容请查看原文。
helix.mcp
An increasingly inaccurately named CLI and MCP server for AI agents investigating .NET CI/CD failures across Helix and Azure DevOps.
No MCP needed.
hlxworks as a standalone CLI —dnx lewing.helix.mcp(zero-install) ordotnet tool install -g lewing.helix.mcp. See the CLI reference.
Built with Squad — meet the squad.
Why?
AI agents investigating CI failures in dotnet repos (runtime, sdk, aspnetcore, etc.) hit two problems:
- Raw APIs return too much data. A single Helix console log can be megabytes. The Azure DevOps build timeline returns hundreds of records. Dumping this into a context window wastes tokens and drowns the signal.
- Every agent starts from scratch. When multiple agents — or the same agent across tool calls — inspect the same build, each one repeats the same API calls and downloads.
hlx solves both:
- Return less, return better. Tools like
helix_searchandazdo_search_logsearch in place and return only matching lines with context — agents never download a full log.helix_statusreturns structured failure summaries instead of raw JSON. Defaulttaillimits (500 lines),filterparameters (failedby default), andmaxMatchescaps keep responses focused. - Cache everything, share across processes. A local SQLite cache sits between agents and the APIs. Different MCP server instances (one per IDE window/terminal) share the same cache, so the second agent to inspect a job gets instant results. Smart TTLs track job lifecycle — running jobs cache briefly (15–30s), completed jobs cache for hours.
Zero config — public dotnet CI works out of the box. Install and go.
Context-Efficient Design
Every tool is designed to minimize token consumption in agent context windows:
| Technique | How it helps |
|---|---|
| Tail limits | helix_logs and azdo_log return the last N lines (default 500), not the full log |
| Complete collection on demand | CLI list commands such as azdo test-runs --all and azdo test-results --all populate complete-list cache keys for deterministic scanner snapshots while MCP defaults stay capped |
| Pattern search | helix_search and azdo_search_log search outside agent context and return matching lines with configurable context — no full ingestion |
| Failure-first defaults | helix_status, azdo_timeline, azdo_test_results default to showing only failures |
| Structured JSON | Failure summaries, test results, and timeline data come pre-parsed — no agent-side text extraction |
| Batch operations | helix_batch_status checks up to 50 jobs in one call; helix_find_files scans N work items instead of N+1 API calls |
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →