Builds a structural graph of codebases across 13 languages to help AI assistants navigate by code relationships and flows.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Repo Graph.
orientThe first call on a repo: node/edge counts, detected kinds, entry points, and a **blind-spots** note flagging which languages/edges are under-linked (so you grep those deliberately). `seed=<node>` โ scoped map; `full=true` โ whole-repo dense map
findTurn any text into the ranked nodes that matter โ a symbol/keyword, or a pasted stacktrace / failing-test id / diff (resolved to the code it implicates). `expand=true` fans out to the surrounding neighbourhood. Every row carries `path:line
impactBlast radius: what a change affects (`forward`) or depends on / is used by (`backward`), as a ranked, located closure โ each row with the edge `via` reason and a `โ` when the engine finds it unreachable (likely dead). Pass several nodes for a whole-diff radius
traceOne arg: a feature end-to-end across the stack, each hop labelled with its mechanism (call / HTTP / queue / event) and cross-service hops marked. Two args: the shortest path between two nodes
readA node's exact source, sliced from its file by the graph's line span, plus a `context:` footer (HTTP method, cross-stack callers, covering tests, governing docs). Comma-separate to batch-read a ranked set
refreshRebuild the graph (incremental by default โ only changed files re-parse). `repo_path` retargets a different path or git URL; `full=true` forces a clean reparse. Routine edits are auto-picked-up by the file watcher
Structural graph memory for AI coding assistants. Map your codebase. Navigate by structure. Read only what matters.
repo-graph gives LLMs a map of your codebase โ entities, relationships, and flows โ so they can navigate to the right files without reading everything first.
Instead of flooding an LLM's context window with your entire codebase (or hoping it guesses right), repo-graph builds a lightweight graph of what exists, how things connect, and where the entry points are. The LLM queries the graph, finds the minimal set of files it needs, and reads only those.
It pays off most where that's hardest to do by hand: large repos, monorepos that span several languages, and multi-service systems where a feature's path crosses files, stacks, and service boundaries. On a small single-language project a model can just read the files โ see Where it fits best for the honest sweet spot.
Install in one click:
Or one command in your terminal wires up every agent you have: uvx mcp-repo-graph install (see Install).
https://github.com/user-attachments/assets/a1e4171b-b225-40d4-9210-39453e14b76a
https://github.com/user-attachments/assets/fc3191e5-fc35-4bd7-8372-72af55995883
Same bug, same model, same prompt โ the only difference is whether repo-graph is installed.
The task: fix a reversed comparison operator in a Go + Angular monorepo (566 nodes, 620 edges).
| Without repo-graph | With repo-graph | |
|---|---|---|
| Tokens used | 75,308 | 29,838 |
| Time to fix | 4m 36s | ~30s |
| Files explored | ~15 (grep, read, grep, read...) | 2 (trace lookup + handler file) |
| Outcome | Found and fixed the bug | Found and fixed the bug |
2.5x fewer tokens. ~9x faster. Same correct fix.
Both runs used identical conditions to keep the comparison fair:
/clear with no prior conversationgroup_controller.go:57 on its ownWithout repo-graph, Claude greps for keywords, reads files, greps again, reads more files, and eventually narrows down to the bug. With repo-graph, Claude calls trace("groups"), gets back the exact handler function and file, reads it, and fixes it.
Browse pre-generated examples for FastAPI, Gin, Hono, and NestJS โ real graph output you can inspect without installing anything.
LLMs working on code waste most of their context on orientation:
This is expensive, slow, and gets worse as codebases grow.
repo-graph scans your codebase once and builds a graph of:
Then it exposes 6 MCP tools that let the LLM:
The LLM gets structural context in a few hundred tokens instead of reading thousands of lines.
repo-graph earns its keep when a codebase is bigger or more tangled than the model can hold in its head at once. The payoff scales with three things:
Strong fits:
--repo at the monorepo root and a single graph spans every project. (The demo above is exactly this: Go + Angular in one repo.)--repo at it; the graph traces a feature across service boundaries in one call.Where it doesn't pull its weight: a small, single-language repo with a clear task. The model can just read the files โ grep wins and the graph is overhead. Don't reach for it to shave tokens, either: the MCP layer is a fixed per-turn cost, so on easy tasks it can cost more. The token win shows up only when it heads off a grep-read-grep spiral (like the demo above). What it reliably buys you is correct, complete, cross-boundary answers in a few calls on code too big or too interconnected to fit in context โ yours or the model's. (Don't want the MCP layer at all? Skip it and call the engine directly.)
The MCP server is the zero-config path, but the graph isn't tied to it. The engine ships as a plain Python wheel โ pip install repo-graph-py โ so you can build the graph and call the same answer primitives directly, from a script or your own tooling, with none of the per-turn MCP cost:
Same graph, same answers โ just without the tool schemas in your context. It's the same Rust engine (glia) the MCP server wraps; repo-graph-py is its published wheel. Good for CI checks, batch analysis, or wiring the graph into your own agent.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/james-chahwan-repo-graph)<a href="https://allmcps.com/mcp/james-chahwan-repo-graph"><img src="https://allmcps.com/api/badge/james-chahwan-repo-graph?style=directory" alt="Repo Graph on AllMCPs" /></a>