Skip to main content
Glama

procedure_callees

Idempotent

Lists the static callees of an ELF function to help map native call relationships when analyzing Android native libraries.

Instructions

List static callees of an ELF function.

Input Schema

NameRequiredDescriptionDefault
documentNo
procedureYes
analysis_project_idNoOptional investigation to retain this tool result in. Does not prove target identity or causal relationships.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

C2.9/5.0
Behavior3/5

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

The annotations already state destructive=false, idempotent=true, and openWorld=false; the description adds the useful 'static' qualifier, meaning compile-time/direct callees rather than dynamic targets. However, it does not explain why readOnlyHint=false for a 'list' operation, presumably because results can be retained via analysis_project_id.

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?

The one-sentence description is front-loaded and contains no wasted words. Its terseness contributes to the contextual gaps rather than being verbose, but the sentence itself is efficiently structured.

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

Completeness2/5

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

For a three-parameter static-analysis query with no output schema, the definition is too sparse. It omits what 'document' identifies, what the returned callee list looks like, and whether results are direct/static only, leaving the agent to infer important call behavior.

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

Parameters2/5

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

With only 33% schema description coverage, the description should compensate, but it only weakly implies that 'procedure' is an ELF function name. It says nothing about the 'document' parameter or when to supply analysis_project_id beyond what the schema already documents.

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 gives a clear verb and resource: list static callees of an ELF function. The word 'callees' inherently distinguishes it from the sibling procedure_callers, though it does not explicitly name alternatives or qualify the 'document' scope.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus procedure_callers, procedure_references, or resolve_native_call_targets. The static qualifier implies a call-graph query, but the agent is left to infer selection criteria.

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

Deploy Server

Other Tools