-
-
Notifications
You must be signed in to change notification settings - Fork 1
Home
xjoker edited this page Jul 21, 2026
·
3 revisions
delamain is an MCP server that exposes the JADX Android decompiler to AI agents — a headless, low-memory bridge that lets an AI drive JADX directly instead of a human clicking through a GUI. It ships as one fused Docker image (a Java backend wrapping jadx's headless API + a Python MCP gateway) with a single exposed port, and covers decompilation, code/string search, xref and call-graph analysis, resource/manifest inspection, Frida hook generation, security scanning, and renaming — all through MCP tools designed for bounded, paginated AI consumption.
For the canonical project overview, supported input formats, and the quick-start snippet, see the repository README.
-
AI-optimized tool surface — every tool returns bounded, paginated output with a
truncatedflag on graph traversals, so a single call can't flood the model's context window. - Headless & low-memory — no display server; an mmap-backed sharded index plus a persistent on-disk CodeStore let it load and search very large APKs on modest RAM.
- Out-of-band file upload — large APKs are pushed straight to the server over HTTP; their bytes never pass through the AI's context window.
-
One fused container, one exposed port — the Java backend never leaves
127.0.0.1; only the Python gateway is reachable. - Prebaked index volumes — a fully-warmed index directory can be built on a large-heap machine and shipped to a low-spec host for second-scale startup.
-
Deployment — Docker Compose,
docker run, prebuilt vs. locally-built images, bare-metal, and prebaked index volumes. -
Configuration —
config.toml, environment variables, and the three-token auth model. - Performance — measured latency, concurrency reliability (0% 503), and cold/hot startup on a large APK.
- FAQ — common operational questions (ports, tokens, large-file uploads, health checks, supported inputs, RAM, jadx version).
- Development-and-Integration — building from source, adding a new MCP tool, and how an MCP client connects to a running instance.