by zinja-coder
Plugin for JADX to integrate MCP server
# Add to your Claude Code skills
git clone https://github.com/zinja-coder/jadx-ai-mcp⚡ Fully automated MCP server + JADX plugin built to communicate with LLM through MCP to analyze Android APKs using LLMs like Claude — uncover vulnerabilities, analyze APK, and reverse engineer effortlessly.
Thanks to these wonderful people for their contributions ⭐
JADX-AI-MCP is a plugin for the JADX decompiler that integrates directly with Model Context Protocol (MCP) to provide live reverse engineering support with LLMs like Claude.
Think: "Decompile → Context-Aware Code Review → AI Recommendations" — all in real time.
sequenceDiagram
LLM CLIENT->>JADX MCP SERVER: INVOKE MCP TOOL
JADX MCP SERVER->>JADX AI MCP PLUGIN: INVOKE HTTP REQUEST
JADX AI MCP PLUGIN->>REQUEST HANDLERS: INVOKE HTTP REQUEST HANDLER
REQUEST HANDLERS->>JADX GUI: PERFORM ACTION/GATHER DATA
JADX GUI->>REQUEST HANDLERS: ACTION PERFORMED/DATA GATHERED
REQUEST HANDLERS->>JADX AI MCP PLUGIN: CRAFT HTTP RESPONSE
JADX AI MCP PLUGIN->>JADX MCP SERVER:HTTP RESPONSE
JADX MCP SERVER->>LLM CLIENT: MCP TOOL RESULT
No comments yet. Be the first to share your thoughts!
https://github.com/user-attachments/assets/b65c3041-fde3-4803-8d99-45ca77dbe30a
https://github.com/user-attachments/assets/c184afae-3713-4bc0-a1d0-546c1f4eb57f
https://github.com/user-attachments/assets/6342ea0f-fa8f-44e6-9b3a-4ceb8919a5b0
https://github.com/user-attachments/assets/b4a6b280-5aa9-4e76-ac72-a0abec73b809
https://github.com/user-attachments/assets/f42d8072-0e3e-4f03-93ea-121af4e66eb1
https://github.com/user-attachments/assets/2b0bd9b1-95c1-4f32-9b0c-38b864dd6aec
It is combination of two tools:
JADX MCP Server is a standalone Python server that interacts with a JADX-AI-MCP plugin (see: jadx-ai-mcp) via MCP (Model Context Protocol). It lets LLMs communicate with the decompiled Android app context live.
The following MCP tools are available:
fetch_current_class() — Get the class name and full source of selected classget_selected_text() — Get currently selected textget_all_classes() — List all classes in the projectget_class_source() — Get full source of a given classget_method_by_name() — Fetch a method's sourcesearch_method_by_name() — Search method across classessearch_classes_by_keyword() — Search for classes whose source code contains a specific keyword (supports pagination)get_methods_of_class() — List methods in a classget_fields_of_class() — List fields in a classget_smali_of_class() — Fetch smali of classget_main_activity_class() — Fetch main activity from jadx mentioned in AndroidManifest.xml file.get_main_application_classes_code() — Fetch all the main application classes' code based on the package name defined in the AndroidManifest.xml.get_main_application_classes_names() — Fetch all the main application classes' names based on the package name defined in the AndroidManifest.xml.get_android_manifest() — Retrieve and return the AndroidManifest.xml content.get_manifest_component - Retrieve specific manifest component instead of whole manifest fileget_strings() : Fetches the strings.xml fileget_all_resource_file_names() : Retrieve all resource files names that exists in applicationget_resource_file() : Retrieve resource file contentrename_class() : Renames the class namerename_method() : Renames the methodrename_field() : Renames the fieldrename_package() : Renames whole packagerename_variable() : Renames the variable within a methoddebug_get_stack_frames() : Get the stack frames from jadx debuggerdebug_get_threads() : Get the insights of threads from jadx debuggerdebug_get_variables() : Get the variables from jadx debuggerxrefs_to_class() : Find all references to a class (returns method-level and class-level references, supports pagination)xrefs_to_method() : Find all references to a method (includes override-related methods, supports pagination)xrefs_to_field() : Find all references to a field (returns methods that access the field, supports pagination)🔍 Basic Code Understanding
"Explain what this class does in one paragraph."
"Summarize the responsibilities of this method."
"Is there any obfuscation in this class?"
"List all Android permissions this class might requ