get_symbol
Look up a symbol by name to find its definition, callers, and callees with resolution-based matching, enabling reliable navigation and refactoring.
Instructions
Look up a single symbol by name in the local corbel index and return where it is defined (file, line, signature), everything that calls it (callers), and everything it calls (callees). Every caller and callee comes with a resolution field (e.g. same-file, scoped, global-unique) naming which index-wide lookup found the definition, rather than a guess from text matching — this is what makes the result trustworthy for navigation and refactoring, unlike a grep/text search which can't tell you if a match is actually the same symbol. scoped and global-unique both mean a single matching definition was found index-wide; the difference is only whether the caller's file imports that name (see docs/mcp-tools.md for details). Use this tool when you need to jump to a function's or type's definition, inspect its signature, or see who calls it and what it calls, before editing it. If name (optionally narrowed by file) still matches more than one symbol — e.g. overloaded declarations in the same file — pass line as well; the find tool's results already carry the exact name/file/line triple needed to pin down one match. The response can be truncated to fit within a token budget; when it is, truncated is set to true and truncated_count reports how many additional callers and callees together were left out. The budget is divided evenly across every matched symbol first (so if name is ambiguous and returns several results, no single match can consume the whole budget and starve the others), then each match's own share is split evenly between its callers and its callees (so a hot function's huge caller list can't crowd out its callees, or vice versa). The index is built ahead of time by corbel index and only reflects the state of the repository as of the last index run.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Optional file path to disambiguate when multiple symbols share this name. | |
| line | No | Optional definition line to disambiguate further, for when `name` and `file` alone still match more than one symbol (e.g. overloaded declarations in the same file). Requires `file` to also be set. | |
| name | Yes | The symbol name to look up (function, method, type, etc.). | |
| token_budget | No | Optional cap on the size of the response, in estimated tokens. Divided evenly across every matched symbol first, then each match's share is split evenly between its callers and callees. Defaults to corbel's built-in budget if omitted. |