Back to MCP Directory
Jadx AI
Model Context Protocol moderate risk

Jadx AI

JADX-AI-MCP provides AI-powered static code analysis and reverse engineering for Android APKs within the JADX decompiler using LLMs via the Model Context Protocol.

Connections & Capabilities

Connects To

GitHub

Capabilities

readwrite

Quickstart

Config

{
    "mcpServers": {
        "jadx-mcp-server": {
            "command": "/<path>/<to>/uv", 
            "args": [
                "--directory",
                "</PATH/TO/>jadx-mcp-server/",
                "run",
                "jadx_mcp_server.py"
            ]
        }
    }
}

Exposed MCP Tools (28)

safe
fetch_current_class()

Retrieves the class name and source code of the currently selected class in JADX.

Read-only operation, no modification of the APK.

safe
get_selected_text()

Gets the text currently selected in the JADX GUI.

Read-only operation, retrieves existing text.

safe
get_all_classes()

Lists all classes present in the decompiled project.

Read-only operation, provides a list of class names.

safe
get_class_source()

Retrieves the full source code of a specified class.

Read-only operation, retrieves source code.

safe
get_method_by_name()

Fetches the source code of a method given its name.

Read-only operation, retrieves method source code.

safe
search_method_by_name()

Searches for a method across all classes by name.

Read-only operation, searches for method names.

safe
search_classes_by_keyword()

Searches for classes whose source code contains a specific keyword.

Read-only operation, searches for keywords in source code.

safe
get_methods_of_class()

Lists all methods within a given class.

Read-only operation, lists method names.

safe
get_fields_of_class()

Lists all fields within a given class.

Read-only operation, lists field names.

safe
get_smali_of_class()

Fetches the smali code of a class.

Read-only operation, retrieves smali code.

safe
get_main_activity_class()

Fetches the main activity class name from the AndroidManifest.xml.

Read-only operation, retrieves data from AndroidManifest.xml.

safe
get_main_application_classes_code()

Fetches the source code of all main application classes based on the package name in AndroidManifest.xml.

Read-only operation, retrieves source code based on package name.

safe
get_main_application_classes_names()

Fetches the names of all main application classes based on the package name in AndroidManifest.xml.

Read-only operation, retrieves class names based on package name.

safe
get_android_manifest()

Retrieves the content of the AndroidManifest.xml file.

Read-only operation, retrieves XML content.

safe
get_strings()

Fetches the contents of the strings.xml file.

Read-only operation, retrieves string resources.

safe
get_all_resource_file_names()

Retrieves a list of all resource file names in the application.

Read-only operation, lists resource file names.

safe
get_resource_file()

Retrieves the content of a specified resource file.

Read-only operation, retrieves resource file content.

high
rename_class()

Renames a class in the decompiled code.

Modifies the code structure, potentially breaking functionality.

high
rename_method()

Renames a method in the decompiled code.

Modifies the code structure, potentially breaking functionality.

high
rename_field()

Renames a field in the decompiled code.

Modifies the code structure, potentially breaking functionality.

high
rename_package()

Renames an entire package in the decompiled code.

Modifies the code structure, potentially breaking functionality.

high
rename_variable()

Renames a variable within a method.

Modifies the code structure, potentially breaking functionality.

safe
debug_get_stack_frames()

Gets the stack frames from the JADX debugger.

Read-only operation, retrieves debugging information.

safe
debug_get_threads()

Gets insights into the threads from the JADX debugger.

Read-only operation, retrieves debugging information.

safe
debug_get_variables()

Gets the variables from the JADX debugger.

Read-only operation, retrieves debugging information.

safe
xrefs_to_class()

Finds all references to a class.

Read-only operation, searches for class references.

safe
xrefs_to_method()

Finds all references to a method.

Read-only operation, searches for method references.

safe
xrefs_to_field()

Finds all references to a field.

Read-only operation, searches for field references.

Safety Assessment

JADX-AI-MCP is safe for static analysis and code understanding when used responsibly. Risks arise when using code modification tools or exposing sensitive code to external LLMs. Always validate LLM suggestions and apply changes cautiously.

  • Primarily focuses on static code analysis, reducing runtime risks.
  • Relies on JADX's existing security context.
  • MCP tools offer varying levels of access, allowing for controlled interaction.
  • No inherent network exposure beyond MCP communication.
  • Potential for information leakage if sensitive code snippets are sent to LLMs.
  • Code modification tools could introduce vulnerabilities if misused.
  • Server component requires careful configuration to prevent unauthorized access.
  • Rename operations could break functionality if not carefully applied.
  • LLM responses are not always accurate and should be validated.