CodeMesh turns your repository into a live knowledge graph — files, classes, functions, imports and call edges — and serves answers to your AI tools over MCP instead of making them read source files to find out what's in them.
Set up in minutes · No credit card · Your code never leaves your infrastructure
Connects to the tools you already use
Why this matters
An agent that doesn't know your codebase has exactly one way to learn it: read files. Every design decision below exists to make that unnecessary.
A context window is a budget, not a hard drive. Every token spent pasting in a file the model didn't need to see is a token not spent reasoning about your actual problem — and long, file-dump-heavy contexts measurably degrade a model's recall of what's in them. Reading five files to answer “who calls this function” doesn't just cost money; it crowds out the part of the context window doing the actual thinking. Answering the same question in 200 tokens instead of 2,000 means the other 1,800 tokens are still available when the agent needs them three tool-calls later.
91% fewer tokens, median · see the data
A single coding task can involve twenty or fifty tool calls chained in sequence: search, read, search again, check a caller, read again. A 3-second lookup is invisible once; paid fifty times in a row, it's the difference between an agent that feels instant and one you stop trusting to work unsupervised. CodeMesh's query path now answers in about a millisecond — measurably faster than the grep-and-read fallback it replaces — so the tax on every one of those calls is close to zero instead of compounding across the whole task.
Faster than grep, measured · see the data
None of the above matters if the graph describes last week's code. An agent that queries a stale index doesn't know it's wrong; it just gives a fluent, confident answer about a function you already refactored. That's why ingestion speed isn't a secondary metric — it's what makes the first two numbers trustworthy. A blake3 manifest means only what actually changed gets re-parsed, so saving one file costs one file's worth of work, and the graph stays seconds behind your last keystroke instead of hours behind your last full re-index.
Sub-second incremental sync, every save
How it works
No pipelines to configure, no re-indexing to remember. The graph tracks your working tree as you type.
One click in VS Code or Cursor. It ships its own sync engine — no runtime to install, no PATH to configure.
Every git repo you open connects itself and starts syncing. Save a file and the graph updates in about a second.
Paste one URL into Claude or Cursor, approve once, and your assistant can search and read your real code.
In practice
Built for real repositories
A blake3 manifest means only what actually changed is re-parsed. Saving one file costs one file's worth of work, not a re-index of your monorepo.
tree-sitter parses Python, TypeScript, JavaScript, Go, Rust and Java deterministically. The same input always produces the same graph.
Call edges, imports, class membership — resolved at ingest, not guessed at query time.
Switch branches and the graph follows. Commit history, authors and file changes come along too.
The extension bundles its own engine. Install, sign in, done.
Every query is scoped to your organization by the credential itself — never by anything the client sends. Your machine never holds a database credential: the sync engine cannot reach the graph directly even if it wanted to. Agent access is granted per scope, audited, and revocable in one click.
Pricing
Every plan gets the same graph engine and the same token/speed advantage above. Plans differ on team size and database isolation, not on what the graph can do.
Security
Access is scoped by the credential, never by anything the client sends — so a compromised agent can only ever see what it was granted.
Install the extension, open a repo, and ask your assistant something it could never have answered before.