Data as of

JADX-AI-MCP for Cursor: Setup & Config

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

What you can do with JADX-AI-MCP in Cursor

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

  • Rename obfuscated symbols during an investigation.
  • Inspect manifest entries, resources, and debugger state together.

Before you start: JADX-AI-MCP in Cursor

  • 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 Cursor configuration

  1. Choose Cursor configuration scope

    For JADX-AI-MCP, open Project: .cursor/mcp.json User: ~/.cursor/mcp.json. Merge into mcpServers at project or user scope.

  2. Add JADX-AI-MCP to Cursor

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

  3. Check JADX-AI-MCP in Cursor

    JADX-AI-MCP: Enable in Cursor’s MCP settings; inspect tools.

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.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 Cursor

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

fetch_current_class

Find fetch_current_class under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Read the selected class name and source from JADX.

get_selected_text

Find get_selected_text under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_all_classes

Find get_all_classes under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_class_source

Find get_class_source under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_method_by_name

Find get_method_by_name under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

search_method_by_name

Find search_method_by_name under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

search_classes_by_keyword

Find search_classes_by_keyword under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_methods_of_class

Find get_methods_of_class under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_fields_of_class

Find get_fields_of_class under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_smali_of_class

Find get_smali_of_class under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_main_activity_class

Find get_main_activity_class under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_main_application_classes_code

Find get_main_application_classes_code under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_main_application_classes_names

Find get_main_application_classes_names under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_android_manifest

Find get_android_manifest under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_manifest_component

Find get_manifest_component under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

get_strings

Find get_strings under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Load the packaged strings.xml resource.

get_all_resource_file_names

Find get_all_resource_file_names under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Enumerate packaged resource filenames.

get_resource_file

Find get_resource_file under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Read a selected resource file.

rename_class

Find rename_class under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Change a class's displayed name.

rename_method

Find rename_method under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Assign a clearer name to a method.

rename_field

Find rename_field under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Change a field identifier.

rename_package

Find rename_package under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Rename an application package.

rename_variable

Find rename_variable under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Rename a local variable within a method.

debug_get_stack_frames

Find debug_get_stack_frames under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Inspect stack frames from the JADX debugger.

debug_get_threads

Find debug_get_threads under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Retrieve thread information from the debugger.

debug_get_variables

Find debug_get_variables under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Read debugger variable values.

xrefs_to_class

Find xrefs_to_class under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Find class and method references targeting a class.

xrefs_to_method

Find xrefs_to_method under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Find method references, including override-related methods.

xrefs_to_field

Find xrefs_to_field under JADX-AI-MCP in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Locate methods that access a field.

JADX-AI-MCP: full stored tool descriptions

Troubleshooting JADX-AI-MCP in Cursor

  • Cursor must find uv for JADX-AI-MCP. Enable the project/user entry in MCP settings and inspect its tools.
  • JADX-AI-MCP uses stdio here: Cursor 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 Cursor troubleshooting lives in the /clients/cursor guide.

JADX-AI-MCP — details. Cursor guide

Frequently asked questions

Cursor's JADX-AI-MCP entry belongs under mcpServers in .cursor/mcp.json (project) or ~/.cursor/mcp.json (user). Confirm the active scope in MCP settings.

Cursor's jadx-ai-mcp example uses stdio.

JADX-AI-MCP's Cursor 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 Cursor's connected tool list; the stored list is not a live check.

Yes. The documented tools retrieve stack frames, threads, and variables from JADX's debugger.

No. The MCP listener has its own host and port, while separate JADX host and port flags identify the plugin.