⚙️ 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
- Open Jadx with the latest plugin JAR from the releases placed in its
plugins/
folder or load it viaPlugins
->install plugin
. - Load an APK or DEX file
- Claude will detect and activate the Jadx MCP Server tools
- 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.