Stop grepping.
Give agents a code graph.
Exact code references for AI coding agents, over MCP.
npx graph-indexer init - 99.7% grep 12.8%
- 12/12 9/12 without
- 16% cheaper than no index
Clean context. Better answers.
Because 99.7% of its references are real (grep: 12.8%), your agent's context is signal, not noise: fewer tokens, more accurate answers.
Powers your agent didn't have.
Know every real caller, see the blast radius before you edit, catch breakage before running, map callers and callees.
-
find_referencesEvery real use, nothing else -
change_impactBlast radius before you edit -
check_changesVerify edits without building -
call_graphCallers and callees, mapped
Exact. Cheaper. Instant.
More right answers, lower costs, instant lookups. Measured on real repos and Claude Code sessions.
- 12 of 12 code questions answered exactly in real Claude Code sessions on nestjs, against 9 of 12 without Graph Indexer.
- Code questions were about 16% cheaper with Graph Indexer than with no index, in 24 real Claude Code tasks.
- Graph Indexer indexes more than 45,000 lines of code per second: the 2.3 million line Twenty monorepo, 28,512 files, in 51 seconds.
- Graph questions such as find references, call graph and change impact are answered in under 4 milliseconds on nestjs (1.1 to 3.7 ms, median of 5 warm calls).
Four steps, nothing to set up.
Re-synced before every answer, so nothing is stale.
- Parse tree-sitter
- Bind exact refs
- Store SQLite
- Answer MCP
Measured, not claimed.
Scored against compilers and real Claude Code sessions.
| Repository | Language | grep | Graph Indexer |
|---|---|---|---|
| nestjs | TypeScript | 12.8% | 99.7% |
| Twenty | TypeScript | 0.9% | 99.9% |
| gin | Go | 23.8% | 100% |
| caddy | Go | 8.5% | 100% |
| nats-server | Go | 23.2% | 99.2% |
| petclinic | Java | 60.9% | 99.4% |
| jsoup | Java | 9% | 96% |
| commons-collections | Java | 1.5% | 95.5% |
It never phones home.
Your agent still sends what it reads to its model provider.
- No network
- No model
- Zero dependencies
- Read-only tools
One command. Ten agents.
npx graph-indexer init Now a Claude Code plugin.
- Add the marketplace
/plugin marketplace add MaquinaTech/ graph- indexer - Install the plugin
/plugin install graph- indexer@ graph- indexer
Bundles the MCP server, hooks and a structural helper sub-agent.
Plugin guideQuick answers.
How is it different from grep?
grep matches names; Graph Indexer binds each use to its definition. On 400 nestjs symbols, 99.7% of its references were real versus 12.8% for grep. Recall is slightly lower (96.2% vs 99.3%).
Does it use embeddings or an LLM?
No. Search is lexical plus graph, so no model is downloaded or called, and there are no embeddings or rerankers.
Which languages work?
16 bundled tree-sitter grammars: 15 languages plus TSX. Deepest support for TypeScript, JavaScript, Python, Go, Java, C# and Rust; accuracy is verified against the TypeScript, Go and Java type checkers.
Does my code leave my machine?
Graph Indexer makes no network calls and sends no telemetry. Your agent still sends what it reads to its model provider. The index is git-ignored; treat it like your repository.
Does it make agents cheaper?
On code questions and refactors, about 16% and 14% cheaper than no index in real Claude Code sessions. Fixing real issues showed no measurable saving. Samples are small.
What can't it do?
It is not a type checker: generics, reflection, any and dependency-injection tokens are only partly visible. Tools flag same-name call sites they could not bind. Java is the weakest language measured.