Skip to main content
Glama

resolve_native_call_targets

Idempotent

Resolve static call targets for an instruction address in the active ELF, so you can identify called functions during native code analysis.

Instructions

Resolve static call targets of an instruction in the active ELF.

Input Schema

NameRequiredDescriptionDefault
addressYes
documentNo
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.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false with idempotentHint=true, which is a non-obvious combination for what reads like a lookup; the description never explains that resolving may record state (the analysis_project_id parameter hints at retention). It also does not disclose that only statically resolvable targets are returned while indirect/register-based calls likely yield nothing, nor what happens with an unparsable address.

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?

A single tight sentence with the key noun phrase front-loaded and no filler. It is arguably under-specified rather than over-long, so length is not the problem.

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?

No output schema exists, so the description must convey the return shape (a set of target addresses? symbols?) and it does not. With 3 parameters, one undocumented parameter, and an ambiguity between the 'active ELF' and the optional 'document', the definition leaves real gaps before an agent can call it confidently.

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?

Schema coverage is only 33% — just analysis_project_id is documented. The description does not explain that 'address' must be within the active ELF image, despite the schema allowing both bare hex and module-prefixed hex forms, and it says nothing about the optional 'document' parameter, which appears to override the 'active ELF' default.

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 specific verb ('Resolve') plus resource ('static call targets of an instruction') and scopes it to 'the active ELF', so an agent can distinguish it from procedure_callees or procedure_callers. It stops short of naming a sibling or stating explicitly how it differs from inspect_native_instruction, which also operates on a single instruction.

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 when-to-use, when-not-to-use, or alternative routing. The word 'static' faintly implies it is not for dynamic/indirect dispatch resolution, but the agent must infer that, and nothing points to procedure_callees or start_trace as the complement.

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