mcpField
J
Jadx Mcp Plugin

Jadx Mcp Plugin

Local
github.com/mobilehackinglabDeveloper Tools105Updated 38w ago

About Jadx Mcp Plugin

Jadx MCP Plugin is a Jadx plugin that exposes the Jadx API over HTTP, with a Python FastMCP adapter bridging it to Claude and other MCP clients. It targets reverse engineers who want AI-assisted analysis of Android apps.

Key features

  1. 01Exposes Jadx API over HTTP
  2. 02Python FastMCP adapter bridges MCP clients
  3. 03Lists classes, fetches source, inspects members
  4. 04Extracts decompiled code for individual methods

Use cases

  1. 01Letting Claude browse decompiled classes from an APK or DEX
  2. 02Searching class and method names to locate analysis targets
  3. 03Extracting decompiled method code for security review

MCP support

This project is an MCP server: the FastMCP adapter exposes seven tools, such as list_all_classes, get_class_source and get_method_code, to MCP clients like Claude.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

⚙️ 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: README image

✅ Usage Flow
  1. Open Jadx with the latest plugin JAR from the 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:

    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

ToolDescription
list_all_classesGet all decompiled class names
search_class_by_nameFind classes matching a string
get_class_sourceGet full source of a given class
search_method_by_nameFind methods matching a string
get_methods_of_classList all method names in a class
get_fields_of_classList all field names in a class
get_method_codeExtract 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 your PATH.

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.