⚙️ 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
Install Python dependencies
🧠 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:
MacOS / Linux:
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: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:
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:
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:
Install the plugin JAR using the jadx plugins
CLI:
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:
Python FastMCP Adapter
The adapter file is:
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
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
A server that exposes the Jadx decompiler API over HTTP, enabling Claude to interact with decompiled Java/Android code to list classes, fetch source code, inspect methods/fields, and extract code live.
Related MCP Servers
- AsecurityFlicenseAqualityProvides a secure, isolated JavaScript execution environment with configurable time and memory limits for safely running code from Claude.Last updated 3 months ago15JavaScript
- AsecurityFlicenseAqualityA secure JavaScript REPL server that enables executing code snippets in a sandboxed environment with memory protection, timeout handling, and comprehensive error reporting.Last updated 15 days ago21,3693JavaScript
- -securityAlicense-qualityA server that enables seamless integration of Binary Ninja's reverse engineering capabilities with LLM assistance, allowing AI tools like Claude to interact with binary analysis features in real-time.Last updated 19 days ago20PythonGPL 3.0
- -securityAlicense-qualityA Model Context Protocol server that enables Large Language Models to interact with Binary Ninja for reverse engineering tasks like viewing assembly code, decompiled code, renaming functions, and adding comments.Last updated a month agoPythonMIT License