Skip to main content
Glama
android-reserve-mcp

android-reserve-mcp

by lonnnnnng

decode

Destructive

Unpacks Android APKs or DEX files with JADX/apktool into isolated task directories, reports partial failures, and avoids overwriting existing projects.

Instructions

JADX/apktool 解包到独立任务目录;报告部分失败,不覆盖已有工程。

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": {
      "path": "<path>"
    },
    "name": "decode"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathYes
engineNoboth
timeoutSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.2

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=false, so the safety profile is known. The description still adds real behavioral value: output lands in a separate task directory, existing projects are never overwritten, and partial failures are reported rather than aborting silently. It omits return format and whether partial results are still usable.

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?

Two compact clauses, front-loaded with the action and separated by a semicolon for the failure/no-overwrite caveat. Nothing is padded, though the extreme brevity leaves gaps rather than waste.

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?

This is a destructive, 3-parameter tool with no output schema and zero schema description coverage, so the description should be doing more. It covers destination and failure behavior but says nothing about what a decode produces, how engine selection changes output, or how the timeout interacts with large APKs.

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 0%, so the description must carry parameter meaning, but it only gestures at the engine choice by naming JADX and apktool. It never explains the 'both' default, the effect of choosing one engine over the other, or the timeoutSeconds bounds and what happens on expiry.

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?

States a specific verb and resource: unpacking via JADX/apktool into an isolated task directory. That is clearly distinct from siblings like dex, apk, or rebuild, but the description never names which sibling to prefer for related work.

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?

Usage is implied by the isolated-task-directory model and the no-overwrite guarantee, which tells the agent a fresh directory is expected per run. There is no explicit when-to-use versus apk/dex/resources, and no stated preconditions such as needing a valid APK path.

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