jadx-headless-mcp
An MCP server built on jadx-core analyses APKs without the JADX GUI: 26 tools for classes, smali, manifest and cross-references.
- 169 ★ on the repository
- Last commit
Broad access
Why this level
- The tool is built for inspecting third-party apps, and legality depends on rights to the target APK.
- HTTP mode has no authentication and is unsafe when exposed to a network.
- The `open-apk` skill can download an APK from an external source.
Install
- Works in
Manual install
/plugin marketplace add 1013503897/jadx-headless-mcp
/plugin install jadx-headless@jadx-headless-mcpJDK 17 must be on `PATH`. On first start the plugin downloads the jar and checks its SHA-256.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The tool is built for inspecting third-party apps, and legality depends on rights to the target APK.
- HTTP mode has no authentication and is unsafe when exposed to a network.
- The `open-apk` skill can download an APK from an external source.
This is third-party code. Review the repository files before installing.
What it does
jadx-headless-mcp runs jadx-core in a single JVM process and exposes about 26 static Android analysis tools over stdio. The agent loads an APK, DEX or JAR with `load_apk`, reads decompiled Java for a class or method, the manifest, strings and resources, and follows references to classes, methods and fields. When jadx hits anti-decompile protection, `get_class_source` falls back to smali by itself. For Claude Code there is a plugin that adds the server and the `/jadx-headless:open-apk` skill, which opens a file by path or fetches an APK by package name.
Who it is for. Android researchers and developers who inspect third-party APKs with an AI agent and do not want to run the JADX GUI.
Good fit when
- You need a quick view of an app's permissions and entry points.
- An agent hunts the decompiled code for where a network request is built.
- A method resists decompilation and has to be read as smali.
- Analysis runs on a remote machine while the client sits on another.
Not a fit when
- Analysis without rights to the target app, so check the law and the app's license.
- You need dynamic analysis or native library work, since the server covers static Java-layer analysis.
- A clear open-source license is required, because the repository license is detected as non-standard.
Example request
Load `./app.apk`, show the permissions and main activity, find classes that use `okhttp` and explain where the authorization header is built.MCP
- Transport
- stdio, http
- Authentication
- not required
Limitations
JDK 17 or newer is required. The server covers only static Java-layer analysis, with no dynamic analysis or native code. The repository license is not auto-detected, so read the `LICENSE` file before work use. The `--transport http` mode has no authentication: bind it to `127.0.0.1` and use an SSH tunnel instead of exposing `0.0.0.0` on an untrusted network. The `open-apk` skill can fetch APKs from APKPure through apkeep, which is a separate external step.
How to disable. Remove the plugin or the `jadx-headless` entry from the MCP client settings (`claude mcp remove jadx-headless`). If you ran HTTP mode, stop the process.
FAQ
Is the JADX GUI required?
No. The server is built on `jadx-core` and runs as one JVM process with no GUI or separate adapters.
How do I install it in Claude Code?
Run `/plugin marketplace add 1013503897/jadx-headless-mcp` and `/plugin install jadx-headless@jadx-headless-mcp`. JDK 17 must be on `PATH`, and on first start the plugin downloads a SHA-256-verified jar.
What about large apps?
Narrow the scope with `--include-packages` and `--exclude-packages` and set threads with `--threads`. Resources have `lite` and `none` modes.
Is remote mode safe?
Only behind a tunnel or an authenticating reverse proxy. The HTTP endpoint has no authentication of its own.
Which files can it open?
APK, DEX and JAR with `load_apk`. The `open-apk` skill also accepts XAPK or a package name, which it fetches through apkeep.
Discussion
No questions or reviews yet.
Related
MCP serversJADX MCP Server
JADX-MCP-SERVER
MCP server for analyzing Android apps through JADX: the agent reads decompiled code, the manifest and hunts for vulnerabilities
A JADX plugin and MCP server: the agent explores decompiled Android app code, finds vulnerabilities and helps with reverse engineering
An MCP server on top of apktool: the agent decodes APKs, reads the manifest and smali, searches the code and patches it for Android reverse engineering
DexSQL gives an agent SQL over APK and DEX files: classes, methods, strings, call references and smali through built-in MCP.
A native MCP plugin for the x64dbg debugger: the agent drives debugging over HTTP, sets breakpoints, steps through code, reads and patches memory
A headless IDA Pro MCP server in Rust: the agent opens a database, lists functions, disassembles, decompiles and builds cross references
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| jadx-headless-mcp (this card) | no | not required | 169 | |
| JADX MCP Server | no | not required | 843 | a Python adapter for the graphical JADX plugin; here a single windowless JVM process on jadx-core |
| JADX-AI-MCP | no | not required | 3,007 | a plugin inside the JADX GUI; here no graphical program is needed |
README in short
The server connects as a standard stdio MCP to Claude Code, Cursor, Codex, Gemini CLI and other clients. The loaded APK can be swapped within a session without editing configuration.