Tool
explore
Find anything. explore is where your agent starts when it does not yet know what
to read: one call searches the index exhaustively — lexical and semantic together — and comes back
with what exists, ranked by how well it answers the question. The first call also teaches the vocabulary
— the real class names and terms-of-art — that sharpens every call after it.
You ask your agent “where is gitignore matching implemented?” — this is what it sends. The same operation is a shell command, which is the form you script against.
Your agent calls — mcp
You call — cli
What comes back — the same on both surfaces
A handful of files named, ranked, and summarised for 657 tokens — and none of them opened. The north
star document ranked above the implementation because the question asked where, not how.
That footer line rides every response: what was spent, and whether the index was ready to be trusted.
Scripting against it? --json and --jsonl emit the matches structured instead of
rendered.
Parameters
| Parameter | What it does | |
|---|---|---|
| keywords | required | Class names, concepts, or short phrases — the probe. No filler words. |
| question | optional | Your intent, as a full sentence. Results are reordered by how well they answer it, not just match it. Skip it only when surveying. |
| uriGlob | optional | Where to search. file:///** is the right default; unscoped spans every imported repository too. |
| breadth | optional | Maximum results. 2 for a deep dive, 10 for a survey, 0 to let the server choose. |
| tokenBudget | optional | How much room the answer gets — and therefore how deep it goes. |
Budget decides depth
The budget is not a cap on a fixed answer — it chooses the representation. Around 800 tokens maps what exists in headlines; 3,000 adds structure and snippets; 10,000 expands the key symbols in full. A cheap exploratory call that comes back wrong costs almost nothing; the read it saves you costs a great deal.
When results come back weak
Suspect your vocabulary before the repository. Terms borrowed from another codebase rarely land, and
keywords exists to map them to the real local names.
This page names what exists. The depth behind every name ships inside the binary at help:///: the bounds, the failure modes, how they compose. It answers to explore and read exactly like your code does. Install it, and your agent has the manual.