Skip to main content
Glama

impact_of

Read-only

Trace every symbol that can reach a named definition through call hops, nearest first by shortest distance, to gauge how far a code change may propagate.

Instructions

What could break if I change this? Lists every symbol that reaches the definitions matching name through calls in at most depth hops, once each at its shortest distance (hops), nearest first, with the repository, path and line range. Use it to gauge the reach of a change; for just the direct call sites and their lines, use find_callers. At most 200 rows; truncated is true when more exist. Next step: get_symbol on the nearest symbols to see how they use it.

Input Schema

NameRequiredDescriptionDefault
nameYesA bare name (url_for), which matches url_for and every Class.url_for, or a qualified name (Flask.url_for), which matches only that definition. Case-sensitive.
repoNoLook only in this registered repository, for example flask. list_repositories gives the valid names. Default: all repositories.
depthNoHow many call hops to follow, 1 to 5. Default 3. 1 gives only the direct callers.

Output Schema

NameRequiredDescriptionDefault
reasonYes
statusYes
resultsYes
truncatedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.4.2

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond readOnlyHint=true, it discloses result ordering (shortest distance first), deduplication (once each at its shortest distance), a hard cap of 200 rows, and that truncated=true signals more exist. These are exactly the behaviors an agent needs to interpret output and avoid mistaking truncation for completeness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the motivating question and the core behavior, then routes to alternatives and next steps. The middle sentence is a dense clause stack ('once each at its shortest distance... path and line range') that takes effort to parse, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, yet the description still adds the ordering and truncation semantics that matter for interpreting results. Combined with the depth parameter rationale and sibling routing, an agent has everything needed to call and read it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so name, repo and depth are already fully documented in the schema. The description restates the depth-hop semantics and nearest-first ordering, which adds a little framing but no format or edge-case detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a concrete question and then states a precise verb and resource: lists every symbol that reaches the definitions matching name via call chains, nearest first. It explicitly contrasts with find_callers, so an agent can distinguish it from the closest sibling without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the exact use case ('gauge the reach of a change') and names the alternative plus the condition that selects it ('for just the direct call sites and their lines, use find_callers'). It also prescribes a follow-up step (get_symbol on nearest symbols), leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.