jadx-mcp-plugin
Documentation
⚙️ 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 # WindowsInstall 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. (Optional) You can specify the HTTP interface address by launching Jadx with:
jadx-gui -Pjadx-mcp.http-interface=http://localhost:8085This 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.
4. Claude will detect and activate the Jadx MCP Server tools.
5. 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.javaIt 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
🚀 Automated Installation with Gradle Tasks
You 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 your `PATH`.
For other plugin-related tasks (uninstall, enable/disable), see the task definitions in `plugin/build.gradle`.
🔧 Manual Installation
To build the plugin:
./gradlew build
# Output: plugin/build/libs/jadx-mcp-plugin-.jarInstall the plugin JAR using the `jadx plugins` CLI:
jadx plugins --install-jar path/to/jadx-mcp-plugin-.jarAlternatively, 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-mcpPython FastMCP Adapter
The adapter file is:
fastmcp_adapter.pyIt 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
Frequently asked questions
What is jadx-mcp-plugin?
jadx-mcp-plugin is a Model Context Protocol (MCP) server listed in the TrackMCP directory.
How do I install jadx-mcp-plugin?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is jadx-mcp-plugin open source?
Yes — it is hosted on GitHub at https://github.com/mobilehackinglab/jadx-mcp-plugin and has 78 stars.
Related MCP tools
MCP Server for Ghidra Java-based implementation. Trusted by 6400+ developers. Trusted by 6400+ developers. Trusted by 6400+ developers.
The official Java SDK for Model Context Protocol servers and clients. Maintained in collaboration with Spring AI Trusted by 2800+ developers.
A library for communication with a Minecraft client/server. Built for the Model Context Protocol to enhance AI capabilities. Java-based implementation.
Plugin for JADX to integrate MCP server Java-based implementation. Trusted by 600+ developers. Trusted by 600+ developers.
🤖 The Semantic Engine for Model Context Protocol(MCP) Clients and AI Agents 🔥 Java-based implementation.
Model Context Protocol Servers
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP