Home / MCP / Jadx MCP Server

Jadx MCP Server

Provides live access to Jadx decompiled code for MCP clients via a local HTTP interface and live tooling.

other
Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
    "mcpServers": {
        "jadx_mcp": {
            "url": "http://localhost:8085"
        }
    }
}

You expose Jadx’s decompiler capabilities over MCP so Claude and other MCP clients can navigate and inspect Android decompiled code in real time. Run Jadx with the MCP plugin, connect an MCP client to the local HTTP interface, and use the available tools to list classes, fetch sources, inspect methods, and extract code on demand.

How to use

You start Jadx with the MCP plugin enabled and expose an HTTP API on a local interface. Connect your MCP client (for example Claude) to the local MCP server to browse decompiled content and run live analyses.

How to install

Prerequisites you need before starting are Java and Jadx. You should also have a build tool like Gradle if you plan to build the plugin from source.

Step by step commands to set up the plugin and run Jadx with MCP support:

# Clone this repository
git clone https://github.com/mobilehackinglab/jadx-mcp-plugin.git
cd jadx-mcp-plugin

# Create and activate a virtual environment for Python tools (if you plan to use the Python adapter)
python3 -m venv venv

# Activate the virtual environment
# Linux/macOS
source venv/bin/activate
# Windows
.\venv\Scripts\activate

# Install Python dependencies (adapter related)
pip install -r requirements.txt

# Build the Jadx MCP plugin (produces a jar in plugin/build/libs)
./gradlew build

# Install the plugin into Jadx (example using the plugin CLI)
# Make sure Jadx is installed and available in your PATH
jadx plugins --install-jar plugin/build/libs/jadx-mcp-plugin-*.jar

# Alternatively, place the built jar into your Jadx plugins folder and enable it via the Jadx GUI
# Example for enabling via CLI after manual placement
jadx plugins --enable jadx-mcp

# Run Jadx with the MCP HTTP interface exposed (default port is 8085). You can customize the port if needed
# This starts Jadx with the MCP server enabled and listening on the default interface
jadx-gui -Pjadx-mcp.http-interface=http://localhost:8085

# If you want to run Jadx and specify a different port, use:
# jadx-gui -Pjadx-mcp.http-interface=http://localhost:8086

Additional setup for client access

Your MCP client should connect to the HTTP interface exposed by Jadx. The default address is http://localhost:8085 unless you changed it when starting Jadx.

Operational notes

Open an APK or DEX file in Jadx to start decompiling and navigating. Claude (or another MCP client) will detect the Jadx MCP Server tools once connected to the HTTP interface. You can then list classes, fetch source, inspect methods and fields, and extract code live using the available MCP endpoints.

If you alter the HTTP interface address when launching Jadx, update the client configuration to point at the same address so the MCP adapter can forward requests correctly.

Troubleshooting and tips

Ensure Jadx is running before starting the MCP client adapter so the HTTP server is available. If the client reports connection errors, verify the port and host, then restart Jadx with the correct -Pjadx-mcp.http-interface setting.

Security considerations

Limit access to the local MCP HTTP interface to trusted clients. If you expose the interface beyond localhost, implement network access controls to prevent unauthorized use.

Available tools

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