Data as of

JADX-AI-MCP for Claude Desktop: Setup & Config

Claude Desktop: Connect an MCP assistant to JADX's live Android decompilation context.

What you can do with JADX-AI-MCP in Claude Desktop

Choose it for assistant-assisted Android reverse engineering inside an active JADX session.

  • Review decompiled Android code for insecure API use or embedded secrets.
  • Follow references to understand an APK's behavior.

Before you start: JADX-AI-MCP in Claude Desktop

  • Java 11 or newer
  • Python 3.10 or newer
  • JADX with the JADX-AI-MCP plugin installed
  • Companion JADX MCP Server
  • uv

This follows the README's Cherry Studio configuration. Replace the directory with the companion server checkout. The plugin and server are separate components; uv venv alone does not start the MCP server.

JADX-AI-MCP Claude Desktop configuration

  1. Choose Claude Desktop configuration scope

    For JADX-AI-MCP, open macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json. Merge under mcpServers via Settings → Developer → Edit Config when available.

  2. Add JADX-AI-MCP to Claude Desktop

    Use the jadx-ai-mcp entry below in mcpServers. Keep JADX-AI-MCP's documented stdio connection fields and your other Claude Desktop entries.

  3. Check JADX-AI-MCP in Claude Desktop

    JADX-AI-MCP: Fully quit and reopen Claude Desktop; check developer diagnostics.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

JSON
{
  "mcpServers": {
    "jadx-ai-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/jadx-mcp-server",
        "run",
        "jadx_mcp_server.py"
      ],
      "env": {}
    }
  }
}

JADX-AI-MCP tools available to Claude Desktop

JADX-AI-MCP's stored tool list documents 29 tools; compare it with Claude Desktop's connected tool list, because the stored list is not a live check.

fetch_current_class

When Claude Desktop requests fetch_current_class from JADX-AI-MCP, review the action before approving it.

Read the selected class name and source from JADX.

get_selected_text

When Claude Desktop requests get_selected_text from JADX-AI-MCP, review the action before approving it.

Retrieve text highlighted in the decompiler.

get_all_classes

When Claude Desktop requests get_all_classes from JADX-AI-MCP, review the action before approving it.

Enumerate classes in the opened project.

get_class_source

When Claude Desktop requests get_class_source from JADX-AI-MCP, review the action before approving it.

Load decompiled source for a named class.

get_method_by_name

When Claude Desktop requests get_method_by_name from JADX-AI-MCP, review the action before approving it.

Read a method's decompiled source.

search_method_by_name

When Claude Desktop requests search_method_by_name from JADX-AI-MCP, review the action before approving it.

Locate matching methods across classes.

search_classes_by_keyword

When Claude Desktop requests search_classes_by_keyword from JADX-AI-MCP, review the action before approving it.

Search class source for a keyword with paginated results.

get_methods_of_class

When Claude Desktop requests get_methods_of_class from JADX-AI-MCP, review the action before approving it.

Enumerate methods belonging to a class.

get_fields_of_class

When Claude Desktop requests get_fields_of_class from JADX-AI-MCP, review the action before approving it.

Enumerate a class's fields.

get_smali_of_class

When Claude Desktop requests get_smali_of_class from JADX-AI-MCP, review the action before approving it.

Retrieve a class's smali representation.

get_main_activity_class

When Claude Desktop requests get_main_activity_class from JADX-AI-MCP, review the action before approving it.

Resolve the main activity declared in the Android manifest.

get_main_application_classes_code

When Claude Desktop requests get_main_application_classes_code from JADX-AI-MCP, review the action before approving it.

Read source for application classes selected through the manifest package.

get_main_application_classes_names

When Claude Desktop requests get_main_application_classes_names from JADX-AI-MCP, review the action before approving it.

List application class names associated with the manifest package.

get_android_manifest

When Claude Desktop requests get_android_manifest from JADX-AI-MCP, review the action before approving it.

Retrieve the application's AndroidManifest.xml.

get_manifest_component

When Claude Desktop requests get_manifest_component from JADX-AI-MCP, review the action before approving it.

Read one manifest component rather than the full document.

get_strings

When Claude Desktop requests get_strings from JADX-AI-MCP, review the action before approving it.

get_all_resource_file_names

When Claude Desktop requests get_all_resource_file_names from JADX-AI-MCP, review the action before approving it.

get_resource_file

When Claude Desktop requests get_resource_file from JADX-AI-MCP, review the action before approving it.

rename_class

When Claude Desktop requests rename_class from JADX-AI-MCP, review the action before approving it.

rename_method

When Claude Desktop requests rename_method from JADX-AI-MCP, review the action before approving it.

rename_field

When Claude Desktop requests rename_field from JADX-AI-MCP, review the action before approving it.

rename_package

When Claude Desktop requests rename_package from JADX-AI-MCP, review the action before approving it.

rename_variable

When Claude Desktop requests rename_variable from JADX-AI-MCP, review the action before approving it.

debug_get_stack_frames

When Claude Desktop requests debug_get_stack_frames from JADX-AI-MCP, review the action before approving it.

debug_get_threads

When Claude Desktop requests debug_get_threads from JADX-AI-MCP, review the action before approving it.

debug_get_variables

When Claude Desktop requests debug_get_variables from JADX-AI-MCP, review the action before approving it.

xrefs_to_class

When Claude Desktop requests xrefs_to_class from JADX-AI-MCP, review the action before approving it.

xrefs_to_method

When Claude Desktop requests xrefs_to_method from JADX-AI-MCP, review the action before approving it.

xrefs_to_field

When Claude Desktop requests xrefs_to_field from JADX-AI-MCP, review the action before approving it.

JADX-AI-MCP: full stored tool descriptions

Troubleshooting JADX-AI-MCP in Claude Desktop

  • Fully quit and reopen Claude Desktop for JADX-AI-MCP. If uv is missing, check the desktop process's PATH, which may differ from your terminal.
  • JADX-AI-MCP uses stdio here: Claude Desktop must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Requires a plugin plus a separate Python server.
  • Known limitation: Remote setups must distinguish the MCP listener from the JADX plugin connection.
  • General Claude Desktop troubleshooting lives in the /clients/claude-desktop guide.

JADX-AI-MCP — details. Claude Desktop guide

Frequently asked questions

Claude Desktop loads JADX-AI-MCP from claude_desktop_config.json: ~/Library/Application Support/Claude/ on macOS, or %APPDATA%\Claude\ on Windows. Open it via Settings → Developer → Edit Config when available.

Claude Desktop's jadx-ai-mcp example uses stdio.

JADX-AI-MCP's Claude Desktop configuration invokes uv.

JADX-AI-MCP's stored list contains 29 tools, including fetch_current_class, get_selected_text, get_all_classes. Compare those names with Claude Desktop's connected tool list; the stored list is not a live check.

No. The integration also uses a standalone Python MCP server that communicates with the plugin.

Yes. Tools expose strings.xml, resource filenames, individual resources, and manifest content.