Loading...

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.
Boost this tool
Subscribe to listing upgrades or segmented pushes.
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.
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.
Performance depends on the size of the APK, the complexity of the code, and the LLM's response time. Large APKs may require significant processing time.
Cost depends on the LLM service used. Be mindful of token usage and API call limits.
{
"mcpServers": {
"jadx-mcp-server": {
"command": "/<path>/<to>/uv",
"args": [
"--directory",
"</PATH/TO/>jadx-mcp-server/",
"run",
"jadx_mcp_server.py"
]
}
}
}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.
get_selected_text()Gets the text currently selected in the JADX GUI.
Read-only operation, retrieves existing text.
get_all_classes()Lists all classes present in the decompiled project.
Read-only operation, provides a list of class names.
get_class_source()Retrieves the full source code of a specified class.
Read-only operation, retrieves source code.
get_method_by_name()Fetches the source code of a method given its name.
Read-only operation, retrieves method source code.
search_method_by_name()Searches for a method across all classes by name.
Read-only operation, searches for method names.
search_classes_by_keyword()Searches for classes whose source code contains a specific keyword.
Read-only operation, searches for keywords in source code.
get_methods_of_class()Lists all methods within a given class.
Read-only operation, lists method names.
get_fields_of_class()Lists all fields within a given class.
Read-only operation, lists field names.
get_smali_of_class()Fetches the smali code of a class.
Read-only operation, retrieves smali code.
get_main_activity_class()Fetches the main activity class name from the AndroidManifest.xml.
Read-only operation, retrieves data from AndroidManifest.xml.
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.
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.
get_android_manifest()Retrieves the content of the AndroidManifest.xml file.
Read-only operation, retrieves XML content.
get_strings()Fetches the contents of the strings.xml file.
Read-only operation, retrieves string resources.
get_all_resource_file_names()Retrieves a list of all resource file names in the application.
Read-only operation, lists resource file names.
get_resource_file()Retrieves the content of a specified resource file.
Read-only operation, retrieves resource file content.
rename_class()Renames a class in the decompiled code.
Modifies the code structure, potentially breaking functionality.
rename_method()Renames a method in the decompiled code.
Modifies the code structure, potentially breaking functionality.
rename_field()Renames a field in the decompiled code.
Modifies the code structure, potentially breaking functionality.
rename_package()Renames an entire package in the decompiled code.
Modifies the code structure, potentially breaking functionality.
rename_variable()Renames a variable within a method.
Modifies the code structure, potentially breaking functionality.
debug_get_stack_frames()Gets the stack frames from the JADX debugger.
Read-only operation, retrieves debugging information.
debug_get_threads()Gets insights into the threads from the JADX debugger.
Read-only operation, retrieves debugging information.
debug_get_variables()Gets the variables from the JADX debugger.
Read-only operation, retrieves debugging information.
xrefs_to_class()Finds all references to a class.
Read-only operation, searches for class references.
xrefs_to_method()Finds all references to a method.
Read-only operation, searches for method references.
xrefs_to_field()Finds all references to a field.
Read-only operation, searches for field references.
None
hybrid
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.
Autonomy depends on the selected MCP tools and the LLM's instructions. Exercise caution when granting write access.
Production Tip
Monitor MCP server logs for errors and performance bottlenecks.
JADX-AI-MCP is designed to work with any LLM that supports the Model Context Protocol (MCP), such as Claude.
You can install the plugin through the JADX GUI or by manually placing the JAR file in the plugins directory.
Exercise caution when using JADX-AI-MCP on sensitive code, as code snippets may be sent to external LLM services. Consider using a local LLM for increased privacy.
JADX-AI-MCP can suggest code modifications, but it cannot automatically guarantee the fixes are correct or secure. Always validate LLM suggestions.
JADX-AI-MCP requires Java 11+ and a compatible version of JADX. The MCP server requires Python 3.10+.
The MCP server is configured through command-line arguments and environment variables. Refer to the server's documentation for details.
Yes, JADX-AI-MCP is licensed under the Apache 2.0 license, which allows for commercial use.