$git clone https://github.com/zinja-coder/jadx-ai-mcp> It is a still in early stage of development, so expects bugs, crashes and logical erros.
| 1 | # JADX-AI |
| 2 | |
| 3 | > It is a still in early stage of development, so expects bugs, crashes and logical erros. |
| 4 | |
| 5 | > Standalone Plugin for JADX (Started as Fork) [JADX](https://github.com/skylot/jadx) with Model Context Protocol (MCP) integration for AI-powered static code analysis and real-time code review and reverse engineering tasks using Claude. |
| 6 | |
| 7 |  Image generated using AI tools. |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## 🤖 What is JADX-AI? |
| 12 | |
| 13 | **JADX-AI** is a modified version of the [original JADX decompiler](https://github.com/skylot/jadx) that integrates directly with [Model Context Protocol (MCP)](https://github.com/anthropic/mcp) to provide **live reverse engineering support with LLMs like Claude**. |
| 14 | |
| 15 | Think: "Decompile → Context-Aware Code Review → AI Recommendations" — all in real time. |
| 16 | |
| 17 | Watch the demo! |
| 18 | |
| 19 | [](https://www.youtube.com/watch?v=Od86IOkkaHg&autoplay=1) |
| 20 | |
| 21 | It is combination of two tools: |
| 22 | 1. JADX-AI |
| 23 | 2. [JADX MCP SERVER](https://github.com/zinja-coder/jadx-mcp-server) |
| 24 | |
| 25 | ## 🤖 What is JADX-MCP-SERVER? |
| 26 | |
| 27 | **JADX MCP Server** is a standalone Python server that interacts with a modified version of `jadx-gui` (see: [jadx-ai](https://github.com/zinja-coder/jadx-ai)) via MCP (Model Context Protocol). It lets LLMs communicate with the decompiled Android app context live. |
| 28 | |
| 29 | ## Current MCP Tools |
| 30 | |
| 31 | The following MCP tools are available: |
| 32 | |
| 33 | - `fetch_current_class()` — Get the class name and full source of selected class |
| 34 | - `get_selected_text()` — Get currently selected text |
| 35 | - `get_all_classes()` — List all classes in the project |
| 36 | - `get_class_source(class_name)` — Get full source of a given class |
| 37 | - `get_method_by_name(class_name, method_name)` — Fetch a method’s source |
| 38 | - `search_method_by_name(method_name)` — Search method across classes |
| 39 | - `get_methods_of_class(class_name)` — List methods in a class |
| 40 | - `get_fields_of_class(class_name)` — List fields in a class |
| 41 | - `get_method_code(class_name, method_name)` — Alias for `get_method_by_name` //to be removed |
| 42 | - `get_smali_of_class(class_name)` — Fetch smali of class |
| 43 | |
| 44 | --- |
| 45 | |
| 46 | ## 🗒️ Sample Prompts |
| 47 | |
| 48 | 🔍 Basic Code Understanding |
| 49 | |
| 50 | "Explain what this class does in one paragraph." |
| 51 | |
| 52 | "Summarize the responsibilities of this method." |
| 53 | |
| 54 | "Is there any obfuscation in this class?" |
| 55 | |
| 56 | "List all Android permissions this class might require." |
| 57 | |
| 58 | 🛡️ Vulnerability Detection |
| 59 | |
| 60 | "Are there any insecure API usages in this method?" |
| 61 | |
| 62 | "Check this class for hardcoded secrets or credentials." |
| 63 | |
| 64 | "Does this method sanitize user input before using it?" |
| 65 | |
| 66 | "What security vulnerabilities might be introduced by this code?" |
| 67 | |
| 68 | 🛠️ Reverse Engineering Helpers |
| 69 | |
| 70 | "Deobfuscate and rename the classes and methods to something readable." |
| 71 | |
| 72 | "Can you infer the original purpose of this smali method?" |
| 73 | |
| 74 | "What libraries or SDKs does this class appear to be part of?" |
| 75 | |
| 76 | 📦 Static Analysis |
| 77 | |
| 78 | "List all network-related API calls in this class." |
| 79 | |
| 80 | "Identify file I/O operations and their potential risks." |
| 81 | |
| 82 | "Does this method leak device info or PII?" |
| 83 | |
| 84 | 🤖 AI Code Modification |
| 85 | |
| 86 | "Refactor this method to improve readability." |
| 87 | |
| 88 | "Add comments to this code explaining each step." |
| 89 | |
| 90 | "Rewrite this Java method in Python for analysis." |
| 91 | |
| 92 | 📄 Documentation & Metadata |
| 93 | |
| 94 | "Generate Javadoc-style comments for all methods." |
| 95 | |
| 96 | "What package or app component does this class likely belong to?" |
| 97 | |
| 98 | "Can you identify the Android component type (Activity, Service, etc.)?" |
| 99 | --- |
| 100 | |
| 101 | ## 📦 Features |
| 102 | |
| 103 | - ✅ MCP server baked into JADX-GUI |
| 104 | - ✅ Exposes currently selected class via HTTP |
| 105 | - ✅ Exposes GUI access to Cluade, i.e. "Explain the selected code to me, Explain what is the use case of highlighted code" |
| 106 | - ✅ Built-in Claude Desktop integration |
| 107 | - ✅ Beta support for real-time code review |
| 108 | - ✅ MCP client interoperability via local loopback |
| 109 | |
| 110 | This is a **developer beta** — designed for reverse engineers, AI researchers, and LLM tool builders. |
| 111 | |
| 112 | --- |
| 113 | |
| 114 | ## 🛠️ Getting Started |
| 115 | |
| 116 | ### 1 |