# zinja-coder/jadx-ai-mcp [Health: Active]

**Category:** 🔒 Security  
**Repository:** https://github.com/zinja-coder/jadx-ai-mcp  
**GitHub Stars:** 2767  
**npm Downloads (last month):** 634128  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/zinja-coder-jadx-ai-mcp

## Description
JADX-AI-MCP is a plugin and MCP Server for the JADX decompiler that integrates directly with Model Context Protocol (MCP) to provide live reverse engineering support with LLMs like Claude.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "jadx-ai-mcp": {
    "command": "uvx",
    "args": ["httpx"]
  }
}
```

## Documentation

## What zinja-coder/jadx-ai-mcp MCP server does

The zinja-coder/jadx-ai-mcp MCP server links a modified JADX-GUI application with an MCP-compatible client. It is intended for examining Android applications that have been loaded into JADX, giving an LLM access to the decompiler's current project state and selected code.

The repository combines two parts: a JADX-AI plugin and a separate Python MCP server. The plugin extends JADX-GUI and communicates with the server, while the server exposes decompiled application data as MCP tools. The documented workflow uses Claude Desktop, where prompts can request explanations, static analysis, vulnerability checks, or reverse-engineering assistance based on the code currently available in JADX.

Use this project for authorized analysis of APKs, such as reviewing application behavior, tracing methods, examining possible obfuscation, or checking decompiled code for security issues. It is not presented as a general-purpose Android decompiler replacement; the MCP functionality depends on the modified JADX environment.

## How it works

First, install and run the JADX-AI build, load an APK, and navigate to the relevant class or text in the GUI. The MCP server communicates with that running application over the local setup described by the project. It can retrieve the selected class, selected text, project class list, Java source, methods, fields, and smali representation.

An MCP client invokes these operations as tools. For example, a client can fetch the selected class before asking an LLM to summarize it, inspect a method for insecure API use, or identify network and file operations. The repository also describes a built-in Claude interaction in the GUI and local MCP client interoperability. Tool results provide code context; interpretation and suggested analysis come from the connected LLM.

## Setup and configuration

The zinja-coder/jadx-ai-mcp MCP server is distributed with the JADX-AI release materials rather than as a documented one-command package installation. Download the release archive, unpack it, install the included plugin into JADX-GUI, and enter the directory containing the Python server files.

The documented environment uses uv. Create a virtual environment, activate it, and install the listed dependencies, including httpx and fastmcp. The example Claude Desktop configuration starts uv with the server directory, then runs jadx_mcp.py. The directory and executable paths in that configuration must be changed to match the local installation.

After configuring Claude Desktop with MCP enabled, launch JADX-GUI, open an APK, and confirm that the MCP tools are visible in the client. The README's example workflow asks Claude to fetch the selected class and perform a quick static analysis. Access may need to be approved when the client prompts for permission.

## Tools and capabilities

The server documents these MCP tools:

- `fetch_current_class()` retrieves the selected class name and complete source.
- `get_selected_text()` returns the text currently selected in the GUI.
- `get_all_classes()` lists classes in the loaded project.
- `get_class_source(class_name)` returns a class's source.
- `get_method_by_name(class_name, method_name)` retrieves a method's source.
- `search_method_by_name(method_name)` searches for a method across classes.
- `get_methods_of_class(class_name)` lists methods in a class.
- `get_fields_of_class(class_name)` lists fields in a class.
- `get_method_code(class_name, method_name)` provides the documented alias for method lookup.
- `get_smali_of_class(class_name)` retrieves a class's smali code.

These tools support code comprehension, lightweight static analysis prompts, reverse-engineering questions, and documentation requests. The README also describes exporting the selected class, automated Claude analysis, and returning suggestions inline through the plugin integration.

## Limitations and notes

The project identifies itself as early-stage software and warns of bugs, crashes, and logical errors. Real-time code review is described as beta support. The documented future roadmap includes apktool support, Hermes code support, additional MCP tools, and modifying code through the LLM; these are not current capabilities to assume.

Use the tools only with applications you own or are authorized to assess. The repository provides the software under the Apache 2.0 license inherited from JADX and places responsibility for lawful and ethical use on the user. The project does not document hosted operation or a remote service; its setup is local and centered on JADX-GUI.

_Full upstream README: https://allmcps.com/mcp/zinja-coder-jadx-ai-mcp/readme_

