vouchfx-mcp
A local stdio Model Context Protocol server that wraps the packaged vouchfx CLI —
eighteen tools, two documentation resources, and an error-catalogue resource family, so an agent
works with .e2e.yaml
integration-test suites directly, instead of shelling out and parsing console output by hand.
Wraps the published vouchfx CLI pinned in
ENGINE_PIN
· current engine release v1.0.0-rc.5 ·
early prerelease — feature-complete, not yet published to NuGet.org
Everything a call away
Every tool returns a structured result — success or a typed failure — so an agent never has to parse free-form text to know what happened.
Validates an .e2e.yaml suite against the engine's JSON Schema, without running it. Runs isolated in a killable child process.
Lists all 25 Core provider step types, grouped by family — derived straight from the embedded schema.
Returns one step type's full required/optional field contract.
Free-text search over the vendored language reference and recipes, with deep links to vouchfx.io.
Runs the engine's Planner: a read-only coverage-and-gap analysis over a declared suite set and event history. Every gap finding carries a suggested step type/id for scaffold_suite.
Generates a machine-drafted, schema-valid .e2e.yaml skeleton from structured step types and ids — never free text.
Runs a suite through the installed vouchfx CLI and reports its taxonomy-faithful verdict — pass / fail / environment error / inconclusive.
Diagnoses a completed run purely by reading its JSON Lines event stream — never re-running anything.
Adds Fail-only Healer patch proposals to a run's diagnosis. Environment errors get infrastructure guidance only, never a YAML rewrite — proposals are never auto-applied.
Looks up one catalogued VFX-D-####/VFX-E-#### code and returns its title, explanation, common causes, and fixes — fully offline, no CLI required.
Returns the language's own composed JSON Schema — the whole document, one section, or one step type — as a schema document or a capped markdown digest. Offline-first; cross-verified against the pinned CLI when one is installed.
Returns a suite's canonical formatting — schema-derived key order, one quoting and layout style — alongside its full validation result. The server never writes the file; your host decides whether and where to. Comments are dropped, so it is opt-in.
Pages a run's raw JSON Lines events exactly as the engine wrote them — wire tokens, unknown fields and all — filtered by type and step before paging, with an opaque cursor. Build your own timeline instead of consuming a summary.
One run's current lifecycle state from the persisted registry — status, verdict, timestamps, the suites it covered, its event stream and its labels. The same record the diagnosis tools resolve a runId through, so it can never disagree with them.
Stops an in-flight run through exactly the mechanism run_suite already uses — stdin closed for a graceful engine shutdown, force-kill only after the grace period. A cancelled run is Inconclusive, never Fail.
Pages the run registry newest first, filtered by label or start time, with the same opaque cursor contract get_run_events uses. Find a runId you no longer hold, or correlate runs by whatever triggered them.
One step's complete RETRY attempt timeline, from the same event stream explain_run reads. Where explain_run's size tiers throw the attempt list away first, this one keeps every attempt and drops evidence text instead.
What a finished run left behind: its event-stream artefact, plus whatever environment resources the run's own events named. Honestly partial — every result says which fields are still gated on the engine's artifacts directory, and why.
Plus two documentation resources and an error catalogue
Read directly as MCP resources. The language reference and recipes are also searchable
through search_docs; the error catalogue is also reachable through
explain_diagnostic.
Get started
No arguments or environment variables to configure — the server locates its own engine pin and vendored documentation relative to wherever it is installed.
The dotnet tool install command, the .mcp.json snippet, and what run_suite additionally needs on PATH.
The full picture: what it wraps, its honest prerelease status, secret hygiene, and the engine pin.
CLI pin mismatches, Docker unavailability, timeouts and cancellation, and where explain_run fits in.
Honest status
Eighteen tools, two vendored documentation resources, an error-catalogue resource family, one taxonomy-faithful verdict every time.