Architecture
The architecture keeps MCP transport, Bazel execution, policy, evidence storage, and deterministic reduction separate.
Runtime flow
Section titled “Runtime flow”MCP client │ stdio JSON-RPC ▼bazel-mcp-server ── policy ── runner ── Bazel │ ┌────────────────┴──────────────┐ ▼ ▼ Build Event Protocol stdout/stderr │ │ └────────► local store ◄────────┘ │ ▼ deterministic reducers │ bounded run/inspect resultsOnly the server crate depends on the MCP implementation library. Domain types, policy, process management, storage, Build Event Protocol ingestion, and reducers remain usable without MCP transport concerns.
Production invocation storage is database-free filesystem storage. Raw evidence stays local while model-visible results, durable metadata, and telemetry pass through redaction and fixed byte budgets.
Design specifications
Section titled “Design specifications”The repository keeps detailed decisions as reviewable specifications:
- 001: Product requirements
- 002: Project architecture
- 003: Negotiated MCP task execution
- 004: Outcome-aware evidence retention
These are implementation records rather than a first-stop user guide. Start with how it works for the product model.