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
MCP server

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.
All reasons and checks

1013503897/jadx-headless-mcp

Install

Manual install

/plugin marketplace add 1013503897/jadx-headless-mcp
/plugin install jadx-headless@jadx-headless-mcp

JDK 17 must be on `PATH`. On first start the plugin downloads the jar and checks its SHA-256.

Access and checks

How we review

Broad 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.

JADX MCP Server

JADX-MCP-SERVER

MCP server for analyzing Android apps through JADX: the agent reads decompiled code, the manifest and hunts for vulnerabilities

MCP serverExtended access843Repository stars

A JADX plugin and MCP server: the agent explores decompiled Android app code, finds vulnerabilities and helps with reverse engineering

MCP serverBroad access3KRepository stars

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

MCP serverBroad access709Repository stars
Official

DexSQL gives an agent SQL over APK and DEX files: classes, methods, strings, call references and smali through built-in MCP.

MCP serverExtended access306Repository stars

A native MCP plugin for the x64dbg debugger: the agent drives debugging over HTTP, sets breakpoints, steps through code, reads and patches memory

MCP serverBroad access2.8KRepository stars

A headless IDA Pro MCP server in Rust: the agent opens a database, lists functions, disassembles, decompiles and builds cross references

MCP serverBroad access904Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
jadx-headless-mcp (this card)nonot required169
JADX MCP Servernonot required843a Python adapter for the graphical JADX plugin; here a single windowless JVM process on jadx-core
JADX-AI-MCPnonot required3,007a 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.

README badge

Report a problem