Skip to content
For developers Free for 3 projects No card required

Like upgrading your model — without the bill.

Your AI assistant is only as good as what it can see. Give it a real map of your codebase and it stops guessing, stops re-reading the same files, and stops burning your token budget rebuilding context it should already have.

Free account → instant download from your dashboard. No card.

Up to 80%
smaller tool output in compact mode
One call
replaces dozens of grep + re-reads
~200ms
median search across 400k LOC

Put through real sessions by coding agents from Anthropic, OpenAI and Google — their verbatim notes, no fabricated testimonials. Read what they said →

The problem

Grepping isn’t free.
You pay in compute and clarity.

It was never about repo size. Your agent can’t see structure, so every time you ask “what breaks if I touch this?” it rebuilds the answer the only way it can — grep, re-read, infer. That works, and that’s the trap: the cost is invisible. It burns tokens reconstructing the call graph from scratch, then reasons under that load — and drifts: it cross-wires a frontend handler with a same-named backend one, hallucinates an import, loses the thread three files deep. On a small repo the degradation just hides better. The bill is always there.

codeindexer removes the bill. It decomposes any codebase — 500 lines or 500k — into functions, callers, callees, references and imports, and stores them in a real graph database, so queries come back in milliseconds, not regex scans. The graph runs deeper than a single-language AST — it stitches calls across the seams a plain parser stops at: a REST or gRPC hop, a queue from producer to consumer, an FFI bridge, a GraphQL schema to its resolvers — so the agent follows a frontend call toward the backend that serves it instead of grepping blind across the boundary. A PageRank-style ranking surfaces your load-bearing functions; review_diff maps a change to its real callers and scores the blast radius high, medium, or low. And it won’t cross-wire a frontend symbol with a same-named backend one.

Then it remembers. The decision, the gotcha, the fix you recorded last week survive across sessions and across every MCP client you run, so the next agent starts where the last one stopped instead of paying the rediscovery tax again. The model stops reconstructing your codebase and starts querying it.

$ that's codeindexer.

What you get

Four things you feel on day one.

No new workflow to learn. You keep your editor and your AI client — they just get a lot smarter.

Sharper answers, fewer wrong turns

Your agent reasons over a real call graph instead of guessing from grep hits. Ask "what breaks if I change this?" and it answers from actual callers — across files, across repos, across service boundaries. Fewer hallucinated imports, fewer cross-wired functions, fewer dead ends.

call graph blast radius cross-repo

Precise chunks, not whole files

Instead of dumping whole files into context, your agent pulls the exact chunk it needs in one indexed query. On broad scans, compact mode trims that tool output up to 80% — the difference between a bloated, noisy context and a tight, focused one.

compact mode precise chunks focused context

It finally remembers

Decisions, gotchas, fixes and to-dos persist across sessions and across every AI client you run. Stop re-explaining your architecture twice a day — the next session starts where the last one stopped. And it stays yours: memory is plain files on your disk, exportable to markdown you can commit to your repo.

memory cards solutions persistent

100% local, 100% yours

Everything runs on localhost — indexing, search, memory. No cloud, no telemetry on your source, no training on your code. We literally cannot see it. Works fully offline on a 16 GB laptop.

localhost no telemetry offline
Common question

“Isn't this just an LSP?”

Fair question — your IDE already does go-to-definition. Short answer: different layer, different job. An LSP serves a human typing in an editor. codeindexer serves an agent reasoning about the whole codebase. They sit side by side.

Language server (LSP)

Built for the cursor.

  • Serves a human typing — hover, autocomplete, go-to-definition
  • One symbol at a time, usually one language per server
  • Exact resolve only — no "find the payment retry logic" in plain English
  • Scoped to one project; stops at the service boundary
  • No memory — forgets everything between sessions
  • Speaks the editor protocol, not MCP — most agents can't use it directly

codeindexer

Built for the agent.

  • Serves an AI agent reasoning over the whole repo
  • Semantic + symbolic + exact search in one cascade
  • Ask in plain language (any of 100+) and get the right chunk
  • Cross-repo, cross-language, across REST / gRPC / queue / FFI seams
  • Persistent memory — decisions, gotchas and fixes survive sessions
  • Speaks MCP — works in Cursor, Claude Code, Copilot, Windsurf, more

It doesn't replace your LSP. Keep your autocomplete and go-to-definition — for a single-language jump, the compiler-exact resolve of a language server is still the sharpest tool. codeindexer lives one layer up: it gives the agent graph-wide reach, semantic recall and memory that an LSP was never built to provide.

How it works

Connected to your agent in 60 seconds.

STEP 01

Download, install, run

Grab the binary for macOS, Linux or Windows from your account dashboard — no Node.js, no Python, no Docker required.

Drop it into a folder on your $PATH (on macOS typically /opt/homebrew/bin/), then start the server:

bash
codeindexer serve

The server boots on http://127.0.0.1:8978/ — open it in your browser for the dashboard.

STEP 02

Index your project

First-time index of a 200k-line repo runs in 1–3 min. After that, only changed files re-index — under a second on save.

bash
cd ~/code/my-app
codeindexer index [projectname]
STEP 03

Connect your AI client

Wire codeindexer into your AI client over MCP. Example below uses Claude Code:

bash
claude mcp add --transport http codeindexer \
  --scope user http://127.0.0.1:8978/mcp

See /docs#integrations for Cursor, Windsurf, Copilot, Codex CLI, Claude Desktop, and Gemini / Antigravity recipes.

>_ Ask your agent “what tools do you have?” — it’ll list everything codeindexer just gave it. Done.

Comparison

How we compare.

Different tools, different trade-offs. Here's the honest version.

codeindexer

us
  • Runs locally
  • Works with every MCP client
  • Semantic + symbolic + exact search All three
  • Real call graph (callers, callees, chains)
  • Security audit pipeline 47-step
  • Persistent memory across sessions
  • Free tier Up to 3
  • Languages with full parsing 19
  • Document formats (PDF/DOCX/XLSX)
  • Open standard (MCP) — no lock-in

Cursor built-in

  • Runs locally
  • Works with every MCP client Cursor only
  • Semantic + symbolic + exact search Partial
  • Real call graph (callers, callees, chains)
  • Security audit pipeline
  • Persistent memory across sessions
  • Free tier Free + paid
  • Languages with full parsing ~10
  • Document formats (PDF/DOCX/XLSX)
  • Open standard (MCP) — no lock-in

Greptile

  • Runs locally
  • Works with every MCP client Web UI / API
  • Semantic + symbolic + exact search
  • Real call graph (callers, callees, chains) Partial
  • Security audit pipeline Review only
  • Persistent memory across sessions
  • Free tier Paid
  • Languages with full parsing ~10
  • Document formats (PDF/DOCX/XLSX)
  • Open standard (MCP) — no lock-in

GitHub Copilot

  • Runs locally
  • Works with every MCP client Copilot only
  • Semantic + symbolic + exact search Partial
  • Real call graph (callers, callees, chains)
  • Security audit pipeline
  • Persistent memory across sessions
  • Free tier Paid
  • Languages with full parsing ~20
  • Document formats (PDF/DOCX/XLSX)
  • Open standard (MCP) — no lock-in

Bottom line: if you only use one AI client and never plan to switch, the built-in indexer is fine for small repos. If you use multiple AI tools, work on larger codebases, care about privacy, or need anything beyond search — graph, audit, memory — that's why codeindexer exists. Either way, your context layer stays yours: switch IDE, model or vendor, and the index, the graph and the memory move with you.

Straight answers

Four hard questions, answered straight.

The questions a good CTO asks before letting a new tool anywhere near the team. Here are ours — answered the way we’d want them answered.

Commoditization

“Won’t Cursor and Copilot just build this in?”

They’re building retrieval — inside their own walls.

  • A built-in index belongs to the tool, not to you. Switch IDE, model or vendor and your context stays behind. codeindexer sits a layer above your tools — move from Claude to Gemini to a local model and keep the graph, the search, the memory.
  • An IDE vendor profits from lock-in, so portable context is the one feature they won’t ship. Building on an open standard (MCP) is the opposite bet.
  • Built-in retrieval is embedding search. A cross-language call graph, blast radius, persistent memory and a security audit are a different category of tool.
  • And if they do catch up? You’ve lost nothing — see the next card.

Dependency risk

“Isn’t this another dependency we can’t see into?”

It never enters your dependency tree.

  • Not in package.json, not in Cargo.toml, not in CI, not in production. Your build — and your users — cannot be affected by it.
  • Everything it produces is plain files on your disk: the index, the embeddings, the memory. Inspect them, back them up, delete them.
  • The Free tier makes no network calls at all — there’s nothing to audit on the wire.
  • Switching it off tomorrow costs you convenience, not a broken build. Uninstall is rm, not a migration project.

Knowledge ownership

“Shouldn’t our decisions live in our repo, not in a tool?”

They do. That’s the design.

  • Memory is files on your machine — and decisions, cards and reports export to plain markdown you can commit right next to your code.
  • The index is derived data. Your repo stays the single source of truth; codeindexer just makes it queryable for the agent.
  • It’s memory for the agent, not a replacement for your docs — the agent reads it so your team stops re-explaining the architecture every session.

The honest one

“Do we actually need it?”

Maybe not. Honestly.

  • Small repo, one AI client, an agent that never gets lost, nobody re-solving solved problems? Skip it — you’re fine.
  • It starts paying when the codebase outgrows the context window, the agent greps in circles and re-reads the same files, you run more than one AI tool or model, or the same architecture gets re-explained every week.
  • Free for 3 projects, no card, no cloud — the cheapest way to find out is to point it at your gnarliest repo for a day.
Pricing

Free to start. $16/mo when you're hooked.

Free forever for solo work and side projects. Upgrade to Pro the day you want the call graph, cascade search and unlimited projects.

Free

$0 forever

For solo work and side projects.

  • Up to 3 indexed projects
  • Symbol, semantic & exact search
  • Memory, roadmap, solutions & skills within limits
  • Works with every AI client
Download for free
Most popular

Pro

$16/mo annual

Everything serious devs need. $20 monthly.

  • Unlimited projects, cards & reports
  • Cascade search + full call graph
  • Dead code, complexity, coverage
  • History + analytics
Upgrade your AI now
Get started

Your next session, minus the guesswork.

Download free, point your AI client at your repo, and feel the difference on the very first prompt. Up to 3 projects, no card, no cloud.

We use a couple of small first-party cookies to keep the site working and remember your theme preference. No tracking, no ads. Learn more.