recon is a token-lean code intelligence MCP server for AI coding agents. It replaces Read, Grep, and Glob with symbol-aware tools that deliver a 15–30× token reduction on typical exploration tasks — without losing a single useful detail.
…. About 10× compression vs. full read.type:rust !test.// agent wants to understand render_map Read("crates/recon-search/src/map.rs") → 412 lines · ~6,800 tokens Grep("render_map", "crates/**") → 34 matches · ~2,100 tokens Read("crates/recon-search/src/page_rank.rs") → 218 lines · ~3,600 tokens subtotal ≈ 109,000 tokens
// same question, symbol-first code_find_symbol("render_map") → 1 hit, 3 ranked callers · ~140 tokens code_read_symbol("…/map.rs", "render_map") → body + 7 call sites · ~780 tokens code_skeleton("…/page_rank.rs") → signatures + docs · ~340 tokens subtotal ≈ 3,100 tokens
Everything tree-sitter can name is a first-class citizen. Everything else is noise the agent should never pay for.
Every tool response is one of five canonical shapes in recon-core::shapes. Predictable for the model, cheap to parse.
gix ColdStart skips reparse on unchanged HEAD. A blake3 Merkle tree reindexes only what moved. First keystroke to queryable: under a second.
Every tool response passes through secret redaction — AWS keys, PEM blocks, API tokens are stripped before they reach the agent. Per-key tenant isolation.
Sign up at recon.dev and generate a server key for your workspace. Takes about 15 seconds.
# your key looks like this RECON_KEY=rk_live_9f2c…
Drop this into your agent's MCP config. That's the whole setup — no local indexing, no watcher, no build step.
{
"mcpServers": {
"recon": {
"url": "https://mcp.recon.dev/v1",
"headers": {
"Authorization": "Bearer $RECON_KEY"
}
}
}
}
One line in your agent's system prompt reorders its habits toward the code_* tools.
# agent rules Use code_* tools (outline, skeleton, find_symbol, search, repo_map) before Read/Grep/Glob when exploring code.
Use rr — the open-source CLI client — to query your repos from the terminal. Or let your MCP agent handle it.
# install the public CLI cargo install rr # query your hosted repos rr find TyCtxt rr map --budget 2000 rr outline src/main.rs
“The agent should spend its tokens thinking, not reading. recon gives back the context window — and most of the wall-clock — that Read and Grep quietly took.”