bazel.run
Run an allowed Bazel command and receive a bounded, root-cause-first result.
Local MCP for Bazel
Run Bazel from coding agents without pouring build logs into the model. Get the root cause first and keep the complete evidence available locally.
brew install ewhauser/tap/bazel-mcpINFOAnalyzed target //app:server (84 packages loaded)
SUB[412 / 638] Compiling services/cache/cache.cc
SUB[529 / 638] Compiling services/api/router.cc
WARNwarning: option --remote_download_toplevel changed
ERRservices/api/router.cc:148:17: error: no matching function
SUBTarget //app:server failed to build
statefailed
target//app:server
services/api/router.cc:148:17more_availabletrue
A deliberately small interface
The public surface stays easy for agents to understand while the server handles process isolation, reduction, storage, and lifecycle details locally.
bazel.runRun an allowed Bazel command and receive a bounded, root-cause-first result.
bazel.inspectRetrieve only the diagnostics, test logs, artifacts, or query results needed next.
bazel.cancelCancel a queued or running invocation through the same durable lifecycle.
Compact does not mean lossy
Every result carries an invocation ID. If an agent needs more detail, it asks for a filtered, byte-bounded view instead of replaying the entire log into context.
Follow the evidence lifecycleRoot cause and invocation ID arrive inside the response budget.
Request a diagnostic, test log, artifact, query result, or raw log page.
Fix the code with evidence—not noise—occupying the model context.