Skip to main content

summary

Quick codebase snapshot: file count, languages, symbol count, and index health. Use it first when orienting in an unfamiliar repository — the answer comes back in a single call, without reading any source files.

Parameters

None.

Returns

A JSON object with aggregate counts. Fields include, at minimum:

  • Total files indexed, grouped by language.
  • Total chunk and symbol counts.
  • Embedding status — how many chunks have vector embeddings (useful for deciding whether semantic search is available).

Exact shape is produced by core.GetSummary and may grow over time; treat it as a loose schema.

When to use

  • First call in a new repo. Before you search, you want to know what's even there.
  • Health check before running a long chain of queries — confirms the daemon is reachable and the index is populated.
  • Sizing calls. If the repo has 8 languages, your query needs to be more specific than in a pure-Go repo.

When summary isn't the right tool

  • Looking up a specific symbol — use symbols.
  • Checking whether the embedding backend is catching up — use enrichment_status, which carries the circuit-breaker state and pending-job count.

Source of truth

  • Tool registration: internal/mcp/tools.gosummaryToolDef / summaryHandler.
  • Aggregation: core.GetSummary.