Context engine for AI coding agents

Semantic code search MCP
for Claude Code. Fewer tokens.

A context engine for your repo: search by meaning, return exact snippets, and keep the rest out of context.

No config · any MCP client

The problem

Your agent reads too much codeto find too little

Grep matches text, not intent. So agents guess, open file after file, and burn thousands of tokens before they find the function they actually needed. Finder indexes your repo once — embeddings plus a call graph — and answers with exact locations.

~10× less context sent to the model — snippets instead of whole files
21 languages with tree-sitter symbols and call edges
0.95 recall on our retrieval benchmark, ~770 ms median — see the numbers

Context engine

What is a context engine?The layer between your agent and your code

A context engine is the layer between your AI agent and your codebase — it decides which code reaches the model's context window. Instead of dumping whole files into the prompt, it indexes the repo, retrieves only the relevant snippets, and assembles them into context the model can actually use.

Index Map the repo once — symbols, embeddings, and call edges instead of raw text.
Retrieve Find code by meaning, then expand through the call graph to callers and callees.
Assemble Return path#Lstart-end snippets — the model never pays for the other 99% of the file.

The tools

MCP toolsthat do the reading for you

Instead of your AI client crawling the repo, it calls Finder — one tool per kind of question, each returning bounded, read-only, cited evidence.

finder

Maps unknown code, by meaning

Semantic search expanded through the call graph and framework edges (React, Express, Django, Spring, Gin). Returns an evidence-graded context pack — code, dependencies, data flows, impact, tests — every item marked proven or inferred with file:line citations, and gaps listed as gaps.

file-finder

Returns only the lines that matter

When the file is known but the range isn't, it hands back path#Lstart-end with numbered lines — the exact snippet. The model never sees the other 99% of the file.

context

Everything about one symbol

Definition, callers, callees, snippets and tests for a known function or class. Pure local graph analysis — no embedding call, no credits, and ambiguous names return candidates instead of a guess.

impact

Blast radius before you edit

Which files, symbols and tests a change to a symbol touches, with the traversal that proves it. Your agent checks impact before editing instead of finding out in CI.

Plus housekeeping your agent uses on its own: index-status for readiness and freshness, list-repos for multi-repo setups, and approve-indexing — nothing gets indexed until you approve that exact folder. Opt-in power tools: repo-overview, detect-changes, rename (dry-run plan), checks and graph-query.

The kit

A workflow kittuned for this MCP

Finder ships finder-kit: skills that teach your AI how to work with the index at every stage of a task — explore, frame, plan, implement, test, review — so each phase costs the fewest tokens possible.

Plan
Map the repo and scope the change before writing a line — entrypoints, modules, and boundaries with citations.
Explore
One broad query frames the whole codebase. Trace any feature flow across files without opening them.
Implement
Edit with the exact snippets and callers in context — no re-reading, no guessing at impact.
Test
Find where tests live and what covers your change, straight from the call graph.
Frame
When scope is fuzzy, pin down assumptions and acceptance boundaries before any code moves.
Review
Changed behavior, impacted callers, invariants and missing tests — findings with a verdict for a fixed scope.

And zero setup for your tools — one click auto-configures the MCP server and prompt files for your agent harness:

Claude CodeCodexCursorVS CodeGemini CLIOpencodeWindsurfKiroClineRoo CodeZedAntigravityGrokPiOh My Pi

How it works

Index onceAnswer in milliseconds

Index once

Finder reads your repo and builds a semantic map of the code.

Ask in plain words

Your agent asks a question — no need to know file names or paths.

Get the exact snippet

Only the relevant lines come back. The rest of the repo never touches your context.

finding-mcp MCP ● idle

            
finder
214
6 files
11,480
−98% tokens

Benchmark

With Finder, without MCPand against code graphs

8 ground-truth questions on a real Rust + TypeScript repo. Recall = share of the right files found.

SetupRecallMain fileTokens to readSpeed
No MCP
grep + read files
0.292/8~143,000~16 tool calls
Finder 1.0.00.768/8~6,0000.7 s new
40 ms repeated
GitNexus0.274/8~1,230175 ms
CodeGraph0.434/8~6,240161 ms
vs no MCP

~24× fewer tokens

Grep plus reading the top files cost ~143k tokens and ~16 tool calls per question — and still missed the main file on 6 of 8. Finder answered in one call, ~6k tokens, main file 8/8.

where Finder wins

Questions in plain words

"How does the web UI get live indexing progress?" — the code never says that. Graph tools match names, so they scored 0 here; Finder matches meaning and found 3 of the 4 files. Overall recall 0.76 vs 0.27–0.43.

where graph tools win

Speed and short answers

GitNexus and CodeGraph answer in 0.16–0.18 s from a local graph vs ~0.7 s for a never-seen Finder query (one remote embedding call), and GitNexus returns ~1.2k tokens against Finder's ~6k. When the question uses the code's own names, they match or beat Finder.

read before trusting

Honest caveats

Our questions, our repo, and Finder was tuned on them — treat the gap as an upper bound. Only each tool's discovery call was tested. The no-MCP arm is a grep-and-read script, not a model run.

Apple M1 Pro · Finder 1.0.0 and GitNexus 1.6.9 re-run Oct 10 · CodeGraph 1.6.1 row is from the Oct 4 run · Finder new-question time is from the Oct 9 run · method and script (written up for 0.0.11)

Against another local context-engine MCP server, October 9: Finder 1.0.0, both on default settings.

SetupNew questionRepeatRecallMemory
Finder 1.0.0
Flutter app, 4 questions
484 ms33 ms0.85181 MB
Other engine
Flutter app, 4 questions
650 ms729 ms0.82227 MB
Finder 1.0.0
Rust repo, 8 questions
708 ms37 ms0.73139 MB
Other engine
Rust repo, 8 questions
954 ms1,135 ms0.73237 MB

Apple M1 Pro · mean latency · recall is level on the Rust repo, and Finder was slower on 2 of 12 first asks · Finder output 21 KB vs 48 KB · full results, CPU, cold start and caveats

Languages

Symbols and call edgesfor 21 languages

PythonJavaScriptTypeScriptTSXRustGoJavaCC++C#PHPRubyObjective-CSwiftKotlinDartLuaLuauSveltePascalLiquid + any text file, embedded

FAQ

Questions people askbefore they install

What is Finder?

A context engine for AI coding agents. It indexes your repository with embeddings and a call graph, then answers your agent's questions over MCP with exact snippets and file:line citations instead of whole files.

Which AI tools does it work with?

Any MCP client. One click configures 15 agent harnesses, including Claude Code, Codex, Cursor, VS Code, Gemini CLI, Windsurf, Cline and Zed.

Does my code leave my machine?

The index and call graph are built and stored on your machine, only for folders you approve. To search by meaning, Finder sends code snippets and your questions through our gateway to an embedding provider. The gateway does not store those request bodies, and we do not train on your code. The privacy policy has the details.

How do credits work?

Indexing and queries use credits based on the tokens processed. As a guide, indexing one mid-size project takes about 36 credits and a typical query about 0.54. These are estimates, not fixed quotas; the pricing page shows what each pack covers.

Is it a subscription?

No. Packs are one-time purchases and nothing renews automatically. Credits are valid for 1 month after activation, and top-ups made within that month share the same expiry date.

Can I get a refund?

Yes. Ask within 14 days of purchase and we refund a pack whose credits have not been used. See the refund policy.

How do I get help?

Email [email protected] or message the support bot on Telegram. We reply within 3 business days.

Stop paying for tokensyour agent didn't need

Run the server, point your MCP client at it, and let Finder do the reading.