Provides HTTP access to a Java-based Jadx decompiler plugin via Model Context Protocol, enabling AI-assisted reverse engineering with features like class listing, source extraction, and method inspection for Android app security analysis.
Unlock the full potential of Jadx MCP Server through LangDB's AI Gateway. Get enterprise-grade security, analytics, and seamless integration with zero configuration.
Free tier available • No credit card required
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.
# 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
pip install -r requirements.txt
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:
Open Jadx with the latest plugin JAR from the releases placed in its plugins/
folder or load it via Plugins
-> install plugin
.
Load an APK or DEX file
(Optional) You can specify the HTTP interface address by launching Jadx with:
jadx-gui -Pjadx-mcp.http-interface=http://localhost:8085
This is useful if you want to change the default host/port (http://localhost:8085
).
Note: If you change the interface address here, make sure to also update the corresponding URL in
fastmcp_adapter.py
to match.
Claude will detect and activate the Jadx MCP Server tools.
You can now list classes, fetch source, inspect methods/fields, and extract code live.
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 |
The Java plugin is located at:
plugin/src/main/java/com/mobilehackinglab/jadxplugin/McpPlugin.java
It uses the JadxPlugin
API (jadx.api.*
) to:
/invoke
and /tools
endpointsYou can use the following Gradle task to build and install the plugin in one step:
./gradlew installPlugin
This uses the
jadx plugins
CLI. Make sure Jadx is installed and available in yourPATH
.
For other plugin-related tasks (uninstall, enable/disable), see the task definitions in plugin/build.gradle
.
To build the plugin:
./gradlew build # Output: plugin/build/libs/jadx-mcp-plugin-.jar
Install the plugin JAR using the jadx plugins
CLI:
jadx plugins --install-jar path/to/jadx-mcp-plugin-.jar
Alternatively, place the built .jar
file into your Jadx plugins/
folder, typically located at: ~/.jadx/plugins/
If you place the JAR manually, you’ll also need to enable the plugin through the Jadx GUI or by running:
jadx plugins --enable jadx-mcp
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.
PRs, feature requests, and tool extensions are welcome!
This project is maintained by Mobile Hacking Lab.
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!