Open source · Apache-2.0
Sonde iconSonde

Give coding agents the structure, without giving away the context window.

Sonde maps a repository into a local symbol graph and exposes focused MCP tools for callers, dependencies, related tests, and impact—packed to the token budget the agent actually has.

impact.tsgetImpactRadius
server.tsqueryGraph
traverse.tscallersOf
impact.test.tsTESTS
rank.tsREFERENCES
schema.sqlSTORES

The same structural answers for a fraction of the search loop.

On a real 19,409-line TypeScript repository, both Sonde and an agentic search baseline found the required structural evidence. Sonde did it with fewer calls, less context, and a bounded response.

1.00
recall on measured structural tasks
Matched the baseline
fewer tool calls
1.0 vs 8.0
~3×
less context used
1,262 vs 3,621 tokens
~147×
less measured latency
263 ms vs 38,602 ms

Ask the graph the question you actually have.

find_symbols

Find the right symbol

Locate functions, classes, types, and modules without sending whole files through the context window.

query_graph

Trace relationships

Follow callers, callees, imports, dependencies, and structurally related tests from a named symbol.

get_impact_radius

See the blast radius

Start from a symbol or working-tree diff and receive ranked, evidence-labelled downstream impact.

A graph that tells you how sure it is.

Every edge is labelled by how it was found—from exact compiler evidence to lexical, heuristic, external, or unresolved. Source bytes are rechecked before they are returned, and structural drift is reported rather than hidden.

TypeScriptPythonSwiftSQLiteMCP

Designed with a visible edge

Sonde is for structural questions such as “who calls this?” and “what could this change affect?” Behavioural questions with no shared vocabulary can still be better served by an agentic search loop; the project documents that boundary plainly.

Let the repository explain itself.

Node.js 22+ · local SQLite index · one command indexes the repository and registers the MCP server.

npm install -g @cheppulabs/sonde