Jadx MCP Plugin
A Java plugin that exposes the Jadx decompiler API over HTTP for interaction with MCP clients.
⚙️ 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
-
(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.
🧪 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
🚀 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 yourPATH
.
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-<version>.jar
Install the plugin JAR using the jadx plugins
CLI:
jadx plugins --install-jar path/to/jadx-mcp-plugin-<version>.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
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
Related Servers
Merge MCP Server
Integrates the Merge Unified API with any LLM provider using the MCP protocol.
QA Sphere
Integration with QA Sphere test management system, enabling LLMs to discover, summarize, and interact with test cases directly from AI-powered IDEs
MCP Rules Enforcer Zero
An MCP server that enforces rules from markdown files for AI agents. This is a zero-tool version that requires an external rules file.
Unity-MCP
A bridge between the Unity game engine and AI assistants using the Model Context Protocol (MCP).
Enrichment MCP Server
Performs data enrichment on observables using third-party services via the security-cli Python package.
Azure DevOps
Interact with Azure DevOps for managing projects, pipelines, and repositories.
LLMling
An MCP server with an LLMling backend that uses YAML files to configure LLM applications.
Grey Hack MCP Server
A Grey Hack server for Cursor IDE, providing GitHub code search, Greybel-JS transpilation, API validation, and script generation.
Flowise
Integrate with the Flowise API to create predictions and manage chatflows and assistants.
Langfuse Prompt Management
Open-source tool for collaborative editing, versioning, evaluating, and releasing prompts.