Skip to content

BlazeDex MCP v0.1.0

Latest

Choose a tag to compare

@tomasfil tomasfil released this 23 Apr 10:50
· 4 commits to main since this release

[0.1.0] - 2026-04-13

Initial public release. BlazeDex MCP exposes 20 Blazor/Razor-aware tools
over stdio JSON-RPC, indexes a solution via Roslyn's MSBuildWorkspace,
and serves answers from an in-memory Tier 1 cache backed by an on-disk
Tier 2 SQLite warm-load store.

Added — Phase 1 (core MCP surface)

  • MSBuildLocator.RegisterDefaults() bootstrap, stdio transport,
    WithToolsFromAssembly() host wiring, structured error rows at every
    tool boundary.
  • find_component_usages — resolves a .razor:line:column anchor for
    every markup instantiation of a component via Razor #line
    directives and Location.GetMappedLineSpan().
  • list_razor_components, list_pages, find_handler_bindings,
    get_component_api — Phase 1 tool set verified end-to-end against the
    test corpus.
  • In-memory Tier 1 cache with per-call stat-based fingerprint
    revalidation; rebuild-on-drift; get_index_status diagnostic.
  • Tool-boundary try/catch discipline: exceptions become structured
    error rows in the response, never escape to the MCP client.

Added — Phase 2 (multi-project, Tier 2, watcher fast-path, partial rebuild)

  • Multi-project solution load via BLAZEDEX_SOLUTION; single-project
    fallback via BLAZEDEX_PROJECT.
  • Per-project ProjectSnapshot reshape (Layer 1 per-project rows + Layer
    2 union arrays for solution-wide queries).
  • ProjectDependencyGraph reverse-dep closure built and persisted in
    memory (drift logging today; partial rebuild path remains deferred —
    see Known Limitations in README.md).
  • Tier 2 on-disk SQLite cache (Microsoft.Data.Sqlite 10.0.5) with
    per-project write-back, warm-load (18–22 ms), corrupt-DB graceful
    degradation, schema v3.
  • Passive FileSystemWatcher dirty-hint fast path with sliding
    10-second / 3-failure recreation budget; BLAZEDEX_WATCHER and
    BLAZEDEX_VERIFIED_CLEAN_WINDOW_MS tunables; watcher health surfaced
    in get_index_status.
  • Phase 2 spec tools shipped end-to-end: find_components_injecting,
    find_route_definitions, find_component, find_parameter_passers,
    find_binding_targets, find_bind_inventory, get_component_tree,
    get_cascading_chain, find_unused_components,
    find_route_conflicts, find_render_mode_conflicts,
    find_dead_routes, add_parameter.
  • 13 new POCO row types and 13 new tools surfaced behind the same
    yellow-but-never-red discipline as Phase 1.
  • add_parameter — first edit tool; Roslyn SymbolEditor writes a new
    [Parameter] declaration into the code-behind partial class, runs
    dotnet format on the modified file, and surfaces the diff.

Fixed — cold-build / watcher-bootstrap race

  • Cold-build Tier 2 write-back is now awaited on the first tool call
    before the response is returned, eliminating the fire-and-forget
    partial-commit window where a process exiting before write-back drained
    could leave only a subset of projects on disk.
  • Live project-set validation on warm-load via
    DiscoverExpectedProjectPathsAsync — if the warm-loaded project set
    does not match what solution discovery returns today, the warm-load is
    discarded and BlazeDex falls through to a cold build. Matches the
    "validate before serve" freshness invariant.
  • Watcher bootstrap now sees the full project set on every warm-load,
    closing the latency-bounded drift window flagged in Step 4.

Added — publishing readiness

  • README.md — 10-section project README covering install, configure,
    first run, the 20-tool catalog, troubleshooting, known limitations,
    license, and architecture pointer.
  • docs/env.md — environment variable reference for BLAZEDEX_SOLUTION,
    BLAZEDEX_PROJECT, BLAZEDEX_WATCHER, and
    BLAZEDEX_VERIFIED_CLEAN_WINDOW_MS.
  • docs/mcp.json.example — consumer .mcp.json template.
  • LICENSE — Elastic License 2.0 (source-available); copyright
    Copyright (c) 2026 Tomáš Filip.
  • CHANGELOG.md — keep-a-changelog format.
  • v0.1.0 publish profile and scripts/release.sh for producing the
    release zip.
  • CI workflow (.github/workflows/ci.yml) enforcing dotnet format --verify-no-changes, dotnet build, and dotnet test on every
    push and pull request.
  • proj-verifier agent's format gate is now mandatory before any
    /commit invocation.
  • .mcp.json redacted of references to the internal test corpus prior
    to publish.
  • Build lock decoupled from the released DLL by publishing into
    artifacts/publish/BlazeDex.Mcp/ rather than the repo's bin/Release
    directory; CI uses -c Release consistently to avoid mixed-config
    artifacts.