https://github.com/mobilehackinglab/jadx-mcp-plugin
https://github.com/mobilehackinglab/jadx-mcp-plugin
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mobilehackinglab/jadx-mcp-plugin
- Owner: mobilehackinglab
- Created: 2025-04-05T20:44:38.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-04-14T20:37:00.000Z (7 months ago)
- Last Synced: 2025-04-14T20:37:20.577Z (7 months ago)
- Language: Java
- Size: 56.6 KB
- Stars: 29
- Watchers: 0
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-mcp-servers - mobilehackinglab/jadx-mcp-plugin
- toolsdk-mcp-registry - β jadx-android-decompiler - assisted analysis of Android apps. (java) (Other Tools and Integrations / How to Submit)
- awesome-mcp-security - Jadx MCP Plugin by mobilehackinglab - Jadx plugin for MCP server access via HTTP, used for decompiling Android apps. (πΎ MCP Security Servers)
- awesome-mcp-servers - **jadx-mcp-plugin** - Java-based `api` `http` `git` `github` `java` `git clone https://github.com/mobilehackinglab/jadx-mcp-plugin` (π¦ Other)
- awesome-mcp-servers - **jadx-mcp-plugin** - Java-based (actively maintained) `api` `http` `git` `github` `java` `git clone https://github.com/mobilehackinglab/jadx-mcp-plugin` (Other)
- toolsdk-mcp-registry - β jadx-android-decompiler - assisted analysis of Android apps. (java) (Other Tools and Integrations)
README
## βοΈ Jadx MCP Plugin β Decompiler Access for Claude via MCP
This project provides a [Jadx](https://github.com/skylot/jadx) plugin written in **Java**, which exposes the **Jadx API over HTTP** β enabling live interaction through MCP clients like [Claude](https://www.anthropic.com/index/introducing-claude) via the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/). A lightweight [FastMCP](https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov-file#resources) 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
```bash
# 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
```bash
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:
```json
{
"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:
```json
{
"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](https://github.com/mobilehackinglab/jadx-mcp-plugin/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:
```bash
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.
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.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:
```bash
./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`](./plugin/build.gradle).
#### π§ Manual Installation
To build the plugin:
```bash
./gradlew build
# Output: plugin/build/libs/jadx-mcp-plugin-.jar
```
Install the plugin JAR using the `jadx plugins` CLI:
```bash
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:
```bash
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](https://github.com/mobilehackinglab).
---
## π§© Credits
- [Jadx](https://github.com/skylot/jadx)
- [FastMCP](https://github.com/modelcontextprotocol/python-sdk)
- [Claude by Anthropic](https://www.anthropic.com)