Labsco
MCP SERVER

Recon

by jhm1909

Ask a symbol graph over your repository who calls this, what breaks if you change it, which tests go with it, and then rename it across every reference instead of grepping for the name.

Code Intelligence & Repository IndexingVerified
Summary
It answers the questions grep structurally cannot: who calls this symbol, what breaks if it changes, which tests cover it, and where the cross-language edges run.

The tools are laid out as a sequence rather than a menu — recon_map to orient, recon_find to locate, recon_explain for context, recon_impact before the edit, recon_changes after it — and each one names the call that follows, which makes the server navigable without reading documentation first. recon_rename writes to files and is meant to be run with dry_run before it is run for real; the difference between it and a find-and-replace is precisely that recon_rename works from the reference graph. recon_rules earns its place separately, since dead code, circular dependencies and unused exports are findings a graph produces cheaply and a reader of the source produces slowly.

What it is

A code-intelligence server that builds a symbol graph over a repository and answers architecture, impact, rename and code-quality questions from that graph rather than from a text match.

What you get
  • An orientation pass over an unfamiliar repository: recon_map returns the tech stack, packages, entry points and health for the repo you point it at.
  • Lookup that takes whatever you actually remember: recon_find accepts an exact name, a wildcard such as *Handler, or a natural-language query, narrowed by language, package and type and capped by limit.
  • The full surround of one symbol: recon_explain returns callers, callees, flows and cross-language links, resolved by name and file, walked to depth, with include_source pulling in the source itself.
  • Change safety before the edit and after it: recon_impact reports what breaks if you change a target symbol and which tests are affected, walked in direction to maxDepth; recon_changes takes the git diff against base within scope and maps it to affected symbols, a risk assessment and affected tests, with include_diagram attaching a diagram.
  • Renames that follow references rather than text: recon_rename rewrites a symbol across all files, with dry_run producing the plan before anything is written.
  • Something to paste into the review: recon_export generates a Mermaid diagram of package, symbol and file relationships around a target, scoped by scope and direction, walked to depth and capped by limit.
  • Codebase hygiene from the same graph: recon_rules flags dead code, circular dependencies and unused exports, selected by rule and narrowed by language and package.
Requirements

Nothing — no account, no key.

Setup effort

One command — npx recon-mcp serve