callers_of
Find all symbols that call a given Python symbol to trace callers and understand code dependencies.
Instructions
List symbols that call the given symbol.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
Find all symbols that call a given Python symbol to trace callers and understand code dependencies.
List symbols that call the given symbol.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
Changes observed during successful MCP inspections.
v0.1.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden. It does not state whether results are direct callers only or transitive, whether duplicates or external symbols appear, or even that this is a read-only operation — significant gaps for a tool whose value depends on call-graph semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, front-loading the action and result type. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an undocumented parameter, the description should compensate but does not. An agent still lacks the symbol naming convention and the direct-vs-transitive call semantics needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the sole required parameter 'symbol'. The description only restates it as 'the given symbol', giving no hint about expected format (fully qualified name, ID, path) or how to obtain a valid value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List symbols that call the given symbol.' This is precise enough to distinguish it from the inverse sibling callees_of by name alone, though it never explicitly references the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. The agent must infer that callees_of is the inverse relation and search_symbols is the way to resolve a symbol first; nothing in the description addresses this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.