asc-mcp
Provides tools for analyzing Android APK files via the ASC engine, including cross-reference searches, DEX string dumping, class enumeration and member inspection, manifest decoding, and component/exported-activity resolution.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@asc-mcpscan /tmp/app.apk for hardcoded API keys and URLs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
asc-mcp
MCP server for ASC — the "APK-as-database" Android analysis engine presented as Droid ASC: R8 Compiler Optimization as a DeCompiler Primitive at Black Hat Europe 2026 Arsenal (credit: WeiMin Cheng / MG1937 & Zhihan Lin).
ASC treats an APK as a read-only database instead of fully decompiling it: zero preprocessing, zero disk cache, sub-second to ~2s global cross-reference searches even on 300MB+ APKs (see the upstream benchmark in the ASC repo). asc-mcp exposes that engine as MCP tools so AI clients (kimi-code / ksec, Claude, any MCP host) can drive it directly, side by side with jadx-mcp.
MCP client ──MCP──▶ asc-mcp ──imports──▶ ASC engine (external clone, ASC_PATH)Use asc-mcp for: locating — cross-references, string recon, class/member peek, manifest/components, fleet-wide batch queries.
Use jadx-mcp for: deep reading, rename/annotation, resources, smali, debugger.
Tools
Tool | What it does |
| Global xref search across all DEX entries: |
| Same query across many APKs in parallel (per-APK fault isolation) |
| Dump DEX string tables with regex filter (URLs, api keys, secrets recon) |
| Enumerate class descriptors straight from class_defs (no decompile) |
| Methods/fields with signatures and access flags from class_data |
| Rebuild a minimal DEX in memory and decompile one class (subprocess-isolated) |
| Decode binary AndroidManifest.xml to XML |
| Activities/services/receivers/providers with exported resolution, deeplinks, permissions, main activity |
| File size, package/version/SDK, DEX entry list |
| Health check |
All tools are stateless and re-entrant: every call takes an explicit apk_path, spawns isolated worker processes, and shares no memory, files, or ports — multiple MCP clients (harnesses) can use one or several server instances concurrently without conflicts.
Related MCP server: APK Security Guard MCP Suite
Install
# 1. the engine (external dependency, NOT vendored — see Legal notes)
git clone https://github.com/MG1937/ASC.git ../ASC # or set ASC_PATH later
# 2. this server
git clone https://github.com/NitrogenT7/asc-mcp.git asc-mcp && cd asc-mcp
python -m venv .venv
# Windows: .venv\Scripts\python -m pip install -r requirements.txt
.venv/bin/python -m pip install -r requirements.txtasc_path.py resolves the engine in this order: $ASC_PATH → ./ASC/ → ../ASC/.
Register with an MCP host (example: kimi-code / ksec ~/.kimi-code/mcp.json)
"asc": {
"command": "C:/path/to/asc-mcp/.venv/Scripts/python.exe",
"args": ["C:/path/to/asc-mcp/asc_mcp_server.py"],
"startupTimeoutMs": 60000,
"toolTimeoutMs": 180000
}Stdio is the default transport; --http --host 127.0.0.1 --port 9001 serves streamable-http instead.
Test
Fully fixture-driven; no paths are hardcoded:
# Windows: set ASC_TEST_APK=C:\path\to\app.apk
export ASC_TEST_APK=/path/to/app.apk # any non-trivial APK
export ASC_TEST_APK_2=/path/to/second.apk # optional
export ASC_TEST_APK_UNSIGNED=/path/to/edge.apk # optional
.venv/bin/python tests/test_asc_mcp.py # in-process
.venv/bin/python tests/test_asc_mcp.py --stdio # stdio + progress + multi-harnessThe suite covers all 10 tools, structured-output shape, error paths, determinism, a 6-way concurrent mix, and two concurrent stdio server instances (multi-harness).
Benchmark
.venv/bin/python tests/benchmark_asc.py /path/one.apk /path/two.apk
# optional jadx comparison when a jadx-ai-mcp plugin is reachable:
set JADX_MCP_URL=http://127.0.0.1:8650Compatibility notes
asc-mcp imports ASC internals (including private helpers such as
_parse_cd_dex_entries). Upstream has no stable API or releases yet; pin your ASC clone by commit and re-run the test suite after pulling.The decompiler backend (Androguard DAD, patched by ASC) poisons
sys.moduleswith dummy modules, soasc_get_class_sourcedeliberately runs in a subprocess. Don't import it in-process.
Legal notes
asc-mcp's own code is MIT (see
LICENSE).ASC itself currently ships without a LICENSE file. Until upstream adds one, this repository does not vendor or redistribute ASC; users clone it themselves. All ASC credit goes to its author — this is only an MCP wrapper.
Test APKs are never committed (
.gitignore); fixtures are supplied locally via environment variables.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for static security analysis of Android source code
Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
Enrich, search, assess, and manage threat intelligence through 80+ typed MCP tools.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides a one-stop automated solution for Android APK security analysis by integrating tools like JEB, JADX, APKTOOL, FlowDroid, and MobSF into unified MCP standard API interfaces.11-
- FlicenseNot gradedqualityDmaintenanceIntegrates multiple Android APK security analysis tools into MCP standard APIs for automated static and dynamic analysis and vulnerability detection.-
- AlicenseAqualityCmaintenanceMCP server for Android APK triage, providing tools to parse APK headers, list DEX classes, and decode AndroidManifest.xml using apktool or androguard backends.51MIT
- FlicenseBqualityCmaintenanceEnables local-first static and optional controlled dynamic analysis of Android APK artifacts, with provenance-aware downloads, Markdown reports, and structured security findings via MCP stdio tools.9-