Skip to main content
Glama

inspect_android_method

Idempotent

Decompile a specific Android method from an APK with smali fallback, resolving same-name overloads via an explicit index and reporting representation and source truncation.

Instructions

Decompile one Android method with smali fallback. Requires explicit overload_index when multiple methods share a name. Reports representation, fallback markers and source truncation; never treats display signatures as exact DEX identities.

Input Schema

NameRequiredDescriptionDefault
pathYesLocal APK path; the target is never executed
class_nameYesExact fully qualified class name
method_nameYes
overload_indexNoExplicit index among same-name methods; required when ambiguous
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

A3.8/5.0
Behavior4/5

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

Beyond annotations, it discloses that smali is a fallback representation, that output carries representation/fallback markers and truncation flags, and that display signatures are not exact DEX identities — meaningful caveats an agent needs to interpret results. Annotations already cover side-effect profile (destructive=false, idempotent=true), so this added context is the right kind of contribution.

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 tight sentences, front-loaded with what it does, then the required disambiguation rule, then output caveats. Slightly dense jargon ('representation', 'display signatures') but no filler sentences.

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

Completeness4/5

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

For a five-parameter tool with no output schema, the description covers the action, the disambiguation requirement, and what the response reports (representation, fallback markers, truncation). Minor gap: it does not explain when smali fallback triggers or what the analysis_project_id retention implies.

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?

Schema coverage is 80%, so baseline is 3; the description adds real meaning by explaining the ambiguity condition that makes overload_index mandatory and by warning that display signatures should not be treated as exact DEX identities, which affects how class_name/method_name should be supplied.

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 verb and resource are precise: decompile exactly one Android method, with a named fallback (smali). Scope ('one method') implicitly separates it from class-level siblings like inspect_android_class or search_android_classes, but no sibling is named explicitly, so it stops short of a 5.

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

Usage Guidelines3/5

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

One genuine conditional rule is given ('Requires explicit overload_index when multiple methods share a name'), which tells the agent how to disambiguate. However there is no guidance on when to choose this over inspect_android_class, inspect_android_package, or the native/procedure tools, so usage is only implied.

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