Skip to main content
Glama

pull_apk

Pulls installed Android app APKs, including split APKs, from a connected device to a local directory for unpacking or inspection.

Instructions

从设备拉取已安装应用的 APK(含 split)到本机。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pkgYes应用包名
outDirNo输出目录,默认 unpack-output
serialNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about device selection when 'serial' is omitted, whether existing files are overwritten, whether split APKs are written alongside the base APK, or what permissions/adb state are required. It only implies a read/copy operation.

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 short sentence with no filler, front-loading the operation and its include-splits qualifier. Efficient, though minimal.

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 annotations and no output schema, the description omits key operational context: how the target device is resolved (the undocumented required serial behavior), output layout/naming in outDir, and behavior on multi-device setups. It is too thin for a tool that writes files to the local filesystem.

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

Parameters3/5

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

Schema coverage is 67%: pkg and outDir carry descriptions, serial does not. The description adds little parameter detail beyond the schema ('到本机' loosely maps to outDir), so the baseline 3 for a well-covered schema applies, with the serial gap left for the agent to guess.

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 names a specific verb and resource ('拉取...APK', pull APK) plus scope qualifiers ('已安装应用', installed apps; '含 split', including splits; '到本机', to local machine). This is clearly distinguishable from siblings like list_packages or static_unpack, though it does not name an alternative explicitly.

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?

No statement of when to use this versus siblings such as blackdex_pull (which also pulls artifacts from a device) or list_packages. The agent must infer the intended stage in the workflow entirely on its own.

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