Skip to main content
Glama

inspect_native_instruction

Idempotent

Inspect the native instruction at a given ELF address to examine low-level code behavior in Android native libraries.

Instructions

Inspect the native instruction at an ELF address.

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.4/5.0
Behavior2/5

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

Annotations already declare idempotent=true, non-destructive, closed-world, and (notably) readOnlyHint=false, so the description adds no safety context. It does not explain what is returned (decoded instruction? raw bytes? operand details?), whether a binary must be opened first, or why the tool is not marked read-only despite the word 'inspect' (possibly due to analysis_project_id retention).

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 front-loaded sentence with no filler, so it is concise. The brevity is a virtue in structure but contributes to the under-specification penalized in other dimensions.

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 3-parameter tool with no output schema and low schema coverage, the description omits essentials: address syntax (hex vs module:offset), what 'document' means, the relationship to an open binary, and the shape of the inspection result. An agent has too little to call this correctly without trial and error.

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 description coverage is only 33%: only analysis_project_id is documented. The 'address' parameter's regex allows hex or module:offset forms and 'document' is a bare string, but the description explains neither format nor what 'document' selects. With low coverage, the description fails to compensate for the undocumented parameters.

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

Purpose3/5

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

The one-sentence description gives a specific verb ('Inspect') and resource ('native instruction') plus a scope qualifier ('at an ELF address'), so the basic action is identifiable. However, it does not distinguish this from close siblings such as procedure_assembly, read_function_instructions, read_bytes, or inspect_native_data_type, leaving overlap unresolved.

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 the many instruction/binary-reading siblings, nor on prerequisites such as an opened binary session or a resolved address. The agent must infer usage entirely from the name and the required 'address' parameter.

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