mobilehackinglab
/
jadx-mcp-plugin
star
19
No description available.

⚙️ 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

Stars
19
Apr 06Apr 07Apr 08Apr 09Apr 10Apr 11
mcpradar.com © 2024 - 2025.
Made by @bytesbay