re-apktool
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_apktoolA | Return apktool / androguard / java availability. Active backend is one of The MCP layer prefers apktool when both are present because apktool's Smali output is closer to the canonical AOSP form. androguard is the always-on fallback for the header
|
| parse_apkA | Return a structural summary of the APK at path. Output includes:
Uses androguard for the manifest-backed fields, falls back to a zipfile-only walk for the entry list when androguard is missing. |
| list_dex_classesA | Enumerate every class in every Returns one record per class:: plus a per-dex summary. Use this for the "what's actually compiled into this APK" view — class names are the structural fact, not the implementation. Apktool would give a Smali dump; the MCP surface sticks to the typed class graph so the analyst can ask Claude "what classes are in this APK" without dragging the full bytecode into context. |
| decode_manifestA | Decode the APK's AndroidManifest.xml. Returns the manifest as text (androguard's AXMLPrinter output) plus the parsed activity / service / receiver / provider / permission lists. When the manifest is binary-only (some closed-source
protectors encrypt it) androguard fails — the analyst
falls back to |
| classify_apk_protectionA | Walk the APK + every classes*.dex for known protection patterns. Uses the vendored Args: path: path to the APK max_per_category: per-category match cap (default 50) Returns:: The signature table is matched against:
The implementation lives in
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Tools are mostly distinct: check_apktool checks tool availability, classify_apk_protection identifies protection patterns, decode_manifest outputs manifest XML, list_dex_classes enumerates classes, and parse_apk provides a structural summary. Some overlap exists between decode_manifest and parse_apk (both output activity/service lists), but descriptions clarify the different outputs (raw manifest vs. summary).
All tool names follow a consistent verb_noun pattern with snake_case (check_apktool, classify_apk_protection, decode_manifest, list_dex_classes, parse_apk). No mixed conventions or irregular naming.
Five tools is well-scoped for an APK analysis server: checking the backend, classifying protection, decoding the manifest, listing classes, and parsing the overall structure. Each tool earns its place without being redundant or overwhelming.
The set covers core APK analysis tasks (structure, manifest, classes, protection), including signature scheme and entry inventory. Minor gaps exist: no Smali decompilation or resource extraction tools, but the provided tools allow thorough structural and security analysis.