Skip to main content
Glama

get_callers

Find all callers, inbound references, service consumers, and table/topic accessors for a target, prioritizing this over grep for caller discovery.

Instructions

Find all callers, inbound references, service consumers, or table/topic accessors for a target (functions, microservices, database tables, messaging topics). Prioritize this tool over grep for discovering callers.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "target": "<target>"
    },
    "name": "get_callers"
  }
}

Input Schema

NameRequiredDescriptionDefault
targetYesTarget name (Function, Service, Project, Table, Topic, or Type).
includeTestsNoInclude test callers (default: false).
workspacePathNoOptional workspace root path.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.80.5

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full disclosure burden. It does add real behavioral information by stating the analysis direction is inbound ('inbound references', 'callers'), which distinguishes it from an outbound traversal. It says nothing about return format, whether callers are direct-only or transitive, or performance/index prerequisites, which are material for a graph query tool.

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

Conciseness5/5

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

Two sentences, zero filler, with the scope of the operation front-loaded before the routing advice. Every clause earns its place.

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

Completeness3/5

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

There is no output schema and no annotations, so the description is the only place an agent can learn what comes back, and it never says (symbol locations? file:line? counts?). Combined with silence on direct versus transitive callers, this leaves a real gap for a graph-traversal tool. The purpose and target types are nonetheless fully covered, so it is adequate but incomplete.

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 description coverage is 100%, so target, includeTests (default false) and workspacePath are already fully documented, and the baseline is 3. The description's list of target kinds largely restates the schema's 'Target name (Function, Service, Project, Table, Topic, or Type).' The includeTests and workspacePath parameters are never mentioned in prose, so no meaning is added beyond the schema.

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

Purpose4/5

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

The description opens with a specific verb and resource ('Find all callers, inbound references, service consumers, or table/topic accessors') and enumerates the accepted target kinds, so the scope is unmistakable. It does not, however, differentiate itself from graph siblings such as get_call_chain or get_affected_tests, so an agent must still infer the boundary.

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 an explicit alternative-selection rule: prefer this tool over grep for discovering callers. That is genuine when-to-use guidance against a named competing approach. What is missing is any when-not condition or pointer to the graph siblings that answer adjacent questions.

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