Jadx MCP Plugin logo

Jadx MCP Plugin

by Mobile Hacking Lab

The Jadx MCP Plugin exposes the Jadx API over HTTP, enabling live interaction through MCP clients like Claude. It facilitates intelligent navigation and automation of reverse engineering workflows for AI-assisted security analysis of Android apps.

View on GitHub

Last updated: N/A

⚙️ Jadx MCP Plugin — Decompiler Access for Claude via MCP

This project provides a Jadx plugin written in Java, which exposes the Jadx API over HTTP — enabling live interaction through MCP clients like Claude via the Model Context Protocol (MCP). A lightweight FastMCP adapter in Python acts as a bridge between Claude and the plugin. This enables intelligent navigation and automation of reverse engineering workflows, ideal for AI-assisted security analysis of Android apps.


🧰 Setup Instructions

# Clone this repository
git clone https://github.com/mobilehackinglab/jadx-mcp-plugin.git
cd jadx-mcp-plugin

# Create and activate a virtual environment
python3 -m venv venv

# Activate:
source venv/bin/activate      # Linux/Mac
.\venv\Scripts\activate       # Windows

Install Python dependencies

pip install -r requirements.txt 

🧠 Setup Claude MCP CLient Integration

To use this adapter in Claude Desktop, go to File -> Settings -> Developer -> Edit Config -> claude_desktop_config.json and add an MCP server pointing to the Python executable in the venv (to prevent depedency issues) and the full adapter path following below examples:

Windows:

{
  "mcpServers": {
    "Jadx MCP Server": {
      "command": "C:\\Workset\\jadx-mcp-plugin\\venv\\Scripts\\python.exe",
      "args": ["C:\\Workset\\jadx-mcp-plugin\\fastmcp_adapter.py"]
    }
  }
}

MacOS / Linux:

{
  "mcpServers": {
    "Jadx MCP Server": {
      "command": "/Users/yourname/jadx-mcp-plugin/venv/bin/python",
      "args": ["/Users/yourname/jadx-mcp-plugin/fastmcp_adapter.py"]
    }
  }
}

Make sure to restart (Quit) Claude after editing the config. After restart it should look like this:

✅ Usage Flow

  1. Open Jadx with the latest plugin JAR from the releases placed in its plugins/ folder or load it via Plugins -> install plugin.
  2. Load an APK or DEX file
  3. Claude will detect and activate the Jadx MCP Server tools
  4. You can now list classes, fetch source, inspect methods/fields, and extract code live

🧪 Tools Provided

| Tool | Description | |-----------------------|---------------------------------------| | list_all_classes | Get all decompiled class names | | search_class_by_name | Find classes matching a string | | get_class_source | Get full source of a given class | | search_method_by_name | Find methods matching a string | | get_methods_of_class | List all method names in a class | | get_fields_of_class | List all field names in a class | | get_method_code | Extract decompiled code for a method |


🛠 Development

Java Plugin

The Java plugin is located at:

plugin/src/main/java/com/mobilehackinglab/jadxplugin/McpPlugin.java

It uses the JadxPlugin API (jadx.api.*) to:

  • Load decompiled classes and methods
  • Serve structured data via an embedded HTTP server
  • Respond to /invoke and /tools endpoints

To build the plugin:

./gradlew build
# Output: plugin/build/libs/jadx-mcp-plugin-<version>-all.jar

Place the .jar in your Jadx plugins/ folder.


Python FastMCP Adapter

The adapter file is:

fastmcp_adapter.py

It translates Claude’s MCP tool calls into HTTP POSTs to the running Jadx plugin server. Make sure Jadx is open before starting Claude.


🤝 Contributing

PRs, feature requests, and tool extensions are welcome!
This project is maintained by Mobile Hacking Lab.


🧩 Credits