Skip to main content
Glama

Code calls

code_calls
Read-only

Who calls a class, method or function, or what it calls, to a depth of up to 3 — each use with its file and line. Uses linked only by the bare name are counted, not listed, because they are often a different symbol of the same name. When several symbols share the name, the answer lists them to choose from.

Input Schema

NameRequiredDescriptionDefault
pathNoThe path of the symbol's file, or part of it, when its name is not enough.
repoNoWhich repository, as 'group/repo'. Omit to ask every repository open here.
depthNoHow many rings out: 1 (default) to 3.
symbolYesThe symbol, e.g. 'IssueTransition.MoveAsync'. A bare name works when only one symbol has it.
directionNo'callers' (who uses it, the default) or 'callees' (what it uses).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/destructive=false and openWorld=false, and the description adds real context beyond them: the depth ceiling of 3, that bare-name-only links are counted but not listed, and that name collisions produce a disambiguation list instead of a graph. What's missing is any note on result volume or how large the caller/callee list can get at depth 3.

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?

Three sentences, front-loaded with the core capability, then the caveats about bare names and name collisions. Dense but each sentence carries information; the only slight redundancy is re-stating the depth limit already covered in the schema.

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?

With no output schema, the description does the work of describing returns: each call site with its file and line, counts for bare-name-only links, and a disambiguation list for name collisions. For a 5-parameter, local-only read tool with annotations covering safety, nothing essential is missing.

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

Parameters4/5

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

With 100% schema coverage the baseline would be 3, but the description adds interpretation the schema does not: 'depth' is framed as 'rings out' from the symbol, 'direction' as callers (default) vs callees, and the bar-name/ambiguity rule explains when 'path' is actually needed. That is meaningful semantics beyond the already-documented fields.

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?

States a specific verb and resource: traversing the call graph ('who calls' / 'what it calls') for a class, method or function. It is clearly distinguishable from siblings like code_symbols, search_code and read_code, and names its scope (depth up to 3, file and line per use).

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

Usage Guidelines4/5

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

It gives solid context on when the result is usable ('a bare name works when only one symbol has it', and ambiguous names cause a list to choose from), which implicitly tells the agent when to retry with path or a qualified name. It stops short of explicitly routing between this tool and search_code or code_symbols, so no named alternative appears.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources