graphlens-mcp gives Claude Code, Cursor, and compatible clients a typed graph of your code, so they ask "who calls create_order?" and get one small answer instead of reading half the codebase. Below: how the engine works, what a 936-run benchmark says about when it actually pays off, and the five-minute install.

I've been building graphlens in the open. The full story is three posts on Habr — the engine, a benchmark, the product — but this version stands on its own; I've folded in what matters. Links at the end.

The loop everyone knows

Picture a big project. A few hundred thousand lines, Python on the backend, TypeScript on the front, a legacy corner nobody wants to touch. You point a coding agent at it and ask something ordinary: "how does auth work here?" or "what breaks if I change this method's signature?"

The agent can't see the whole repo at once. So it does the only thing it can: grep a name, open a file, read it, follow an import, grep again. It reads a dozen files, every one of them lands in the context window, and every one gets re-billed on the next turn.