Ask the graph. It already knows.
modgraph loads a Bazel module or target graph once, freezes it, and serves concurrent lock-free reads over gRPC. A change's blast radius is a reverse-dependency traversal of the real edges — not a guess from folder names — and the MCP layer federates it across a whole module constellation.
available
Load once, freeze, serve lock-free concurrent readsdeps · rdeps · somepath · kind · stats over gRPCHot-swaps a fresh frozen snapshot on git-syncBlast radius = reverse-dependencies, from the real graphMCP layer federates queries across a module constellation
the query surface
The same queries the console runs are agent tools.
Read-only by construction. Each replica loads its own frozen graph, so you scale replicas freely for throughput.
| tool | call | result |
|---|---|---|
| rdeps | //lib:greet | 6 targets — the blast radius |
| deps | //app:server | 128 targets |
| somepath | //lib:greet → //app:server | path of length 3 |
| stats | — | 5,142 targets · 18,903 edges |
graph: git-pinned per repo@ref, hot-swapped on sync
One graph, from source to build.
modgraph is one of 6 services in the tbzl.dev source & build layer — open at the edges, yours at the core.