Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
jadx-ai-mcp — Plugin für JADX zur Integration des MCP-Servers | Kitploit
Tools/GitHubGitHub/zinja-coder/jadx-ai-mcp
Android-SicherheitStatische AnalyseSchwachstellenanalyseCode-AnalyseReverse EngineeringMobile SicherheitKI-gestütztes Reverse EngineeringTop in KI-gestütztes Reverse Engineering Nr.4
GitHubzinja-coder/jadx-ai-mcp
2.6k24055vor 9 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

jadx-ai-mcp

Plugin für JADX zur Integration des MCP-Servers

Repository anzeigen
<div align="center">

# JADX-AI-MCP (Teil der Zin MCP Suite)

⚡ Vollautomatischer MCP-Server + JADX-Plugin, entwickelt, um über MCP mit LLMs zu kommunizieren und Android-APKs mithilfe von LLMs wie Claude zu analysieren — Schwachstellen aufdecken, APKs analysieren und mühelos Reverse Engineering betreiben.

![GitHub contributors JADX-AI-MCP](https://img.shields.io/github/contributors/zinja-coder/jadx-ai-mcp)
![GitHub contributors JADX-MCP-SERVER](https://img.shields.io/github/contributors/zinja-coder/jadx-mcp-server)
![GitHub all releases](https://img.shields.io/github/downloads/zinja-coder/jadx-ai-mcp/total)
![GitHub release (latest by SemVer)](https://img.shields.io/github/downloads/zinja-coder/jadx-ai-mcp/latest/total)
![Latest release](https://img.shields.io/github/release/zinja-coder/jadx-ai-mcp.svg)
![Java 11+](https://img.shields.io/badge/Java-11+-blue)
![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue)
[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)

#### ⭐ Mitwirkende

Dank an diese wunderbaren Menschen für ihre Beiträge ⭐
<table>
  <tr align="center">
  <td>
      <a href="https://github.com/ljt270864457">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/a21f05ae54dafc25c40b8b86dd848ae6cc62a165c11d1aaa484a2971191c04c0.jpg" width="30px;" alt=""/>
        <br /><sub><b>ljt270864457</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/p0px">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/87812519c4f48c0cb45aa6e7605ed82ba5cb0f0a410c7bec0c031b407330d683.png" width="30px;" alt=""/>
        <br /><sub><b>p0px</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/bx33661">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/cc055bf866f36cc8ba4680bb158f91d2a459559a0ea31ce3525f2024e81d9d1b.png" width="30px;" alt=""/>
        <br /><sub><b>bx33661</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/Haicaji">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/70bd2a092000ef110c6ef9a177ae39889c5fa12af384165218ecdc65ab87cca2.png" width="30px;" alt=""/>
        <br /><sub><b>Haicaji</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/mostafaNazari702">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/c15b7582722221365f89b5900f1e2d53a5de4bfe888f1f4cf3c24a09ca74553b.jpg" width="30px;" alt=""/>
        <br /><sub><b>Mostafa Nazari</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/ChineseAStar">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/69e2a4cd0bbb7228e06fd1ccc32a37c30d1406fc6b06cfce0a6e2d22f5bbf6b0.png" width="30px;" alt=""/>
        <br /><sub><b>ChineseAStar</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/cyal1r">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/f81a8c01f47c36dbf03f4117810d43075e3ca85f2d2d3c5d70cfb6ea20f45290.jpg" width="30px;" alt=""/>
        <br /><sub><b>cyal1</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/badmonkey7">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/07d2eb4e3cd4cc09c5dca57d877c4d816247baab606e7848af7a0ab7d23c040d.jpg" width="30px;" alt=""/>
        <br /><sub><b>badmonkey7</b></sub>
      </a>
    </td>
       <td>
      <a href="https://github.com/tiann">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/73dc97b271331bb2711fc80543636b25ec03cb523b985af1af05ea9ab6f40cfd.jpg" width="30px;" alt=""/>
        <br /><sub><b>tiann</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/ZERO-A-ONE">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/73c55a088226d05d6fbf5ff1d14caee34ef98224c00e463acd07d6f4bb65e655.png" width="30px;" alt=""/>
        <br /><sub><b>ZERO-A-ONE</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/neoz">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/77a4659904d1ba9253e77f8ff592547b305b3a1a9f46e289d1a900c5a7983d68.jpg" width="30px;" alt=""/>
        <br /><sub><b>neoz</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/SamadiPour">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/4a39a74e2cd9e53f1ef326afc4a7d177d8689e7238dce567aa7dede879ce8f9f.jpg" width="30px;" alt=""/>
        <br /><sub><b>SamadiPour</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/wuseluosi">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/3ada2b6e2ed063020ca3b0ce57bd5cd5c1cba2416454d2d038f630a667b88e8c.png" width="30px;" alt=""/>
        <br /><sub><b>wuseluosi</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/CainYzb">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/b6bdcfb4162b1366cb4850ba880ab59e42f705ddd91fbf25dd8912ddfa7dd2bf.png" width="30px;" alt=""/>
        <br /><sub><b>CainYzb</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/tbodt">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/bb6b73635bffe086662106c496032717f4cfeee9d0341799d0afaf5f9d009e92.jpg" width="30px;" alt=""/>
        <br /><sub><b>tbodt</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/LilNick0101">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/628dc1638821f28b99dbfe9a971259713d16e0bcfc5718783f91eb09acebd64f.png" width="30px;" alt=""/>
        <br /><sub><b>LilNick0101</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/lwsinclair">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/e3169690505f7a2b7fd0968057af5807f29830292553cbaa6eaf0ad418521b59.jpg" width="30px;" alt=""/>
        <br /><sub><b>lwsinclair</b></sub>
      </a>
    </td>
  </tr>
  <tr align="center">
    <td>
      <a href="https://github.com/LYC-Android">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/6f0596bf4a8146f7b79a95baa7704b130d61c0852890ef3e0aa3fc8f898d0a35.jpg" width="30px;" alt=""/>
        <br /><sub><b>LYC-Android</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/zbhello">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/03a9374ed3b190d5b659fd30d28202aeebc237753bced41b02be84efed36a24e.jpg" width="30px;" alt=""/>
        <br /><sub><b>zbhello</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/1yearning1">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/903595003df5d7eab06f7e32897f8e34a15fe9f677485f7c8e3939ddd895bffd.png" width="30px;" alt=""/>
        <br /><sub><b>1yearning1</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/mhsjzsq">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/dadd027e0da3b8c59babf87a66dd50985c6815676c75677523148ea640b1926a.png" width="30px;" alt=""/>
        <br /><sub><b>mhsjzsq</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/darkblack1234">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/02fd1704e19e0fd764f024e440eef0f47afe420baa415e24227a020b3f9f21c8.png" width="30px;" alt=""/>
        <br /><sub><b>darkblack1234</b></sub>
      </a>
    </td>
    <td>
      <a href="https://github.com/Merrg1n">
        <img src="https://assets.kitploit.com/production/public/readmes/6657/43cdc3b100677e85f4e063711c59fe487d994fb66a8e57ba68444f6d9fb0dfd3.png" width="30px;" alt=""/>
        <br /><sub><b>Merrg1n</b></sub>
      </a>
    </td>
  </tr>
</table>



</div>

<!-- Es befindet sich noch in einer frühen Entwicklungsphase, daher sind Fehler, Abstürze und logische Fehler zu erwarten.-->

<!-- Standalone-Plugin für [JADX](https://github.com/skylot/jadx) (begann als Fork) mit Model Context Protocol (MCP)-Integration für KI-gestützte statische Codeanalyse sowie Echtzeit-Code-Review und Reverse-Engineering-Aufgaben mit Claude.-->


<div align="center">
    <img alt="banner" height="480px" widht="620px" src="https://assets.kitploit.com/production/public/readmes/6657/54d557a38e17d9886d933b2e480910702f245c4cf62dc720a842cfe40994efe2.png">
</div>

<!-- ![jadx-ai-banner.png](https://assets.kitploit.com/production/public/readmes/6657/54d557a38e17d9886d933b2e480910702f245c4cf62dc720a842cfe40994efe2.png) Bild mit KI-Tools generiert. -->

#### Read The Docs
 - Read The Docs ist jetzt live: https://jadx-ai-mcp.readthedocs.io/en/latest/

---

## 🤖 Was ist JADX-AI-MCP?

**JADX-AI-MCP** ist ein Plugin für den [JADX-Decompiler](https://github.com/skylot/jadx), das sich direkt in das [Model Context Protocol (MCP)](https://github.com/anthropic/mcp) integriert, um **Live-Unterstützung beim Reverse Engineering mit LLMs wie Claude** zu bieten.

Denk daran: „Decompilieren → kontextbewusstes Code-Review → KI-Empfehlungen“ – alles in Echtzeit.

#### Sequenzdiagramm auf hoher Ebene

```mermaid
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
```

### Schau dir die Demos an!

- **Schnelle Analyse durchführen**
  
https://github.com/user-attachments/assets/b65c3041-fde3-4803-8d99-45ca77dbe30a

- **Schwachstellen schnell finden**

https://github.com/user-attachments/assets/c184afae-3713-4bc0-a1d0-546c1f4eb57f

- **Unterstützung mehrerer KI-Agenten**

https://github.com/user-attachments/assets/6342ea0f-fa8f-44e6-9b3a-4ceb8919a5b0

- **Mit deinem bevorzugten LLM-Client ausführen**

https://github.com/user-attachments/assets/b4a6b280-5aa9-4e76-ac72-a0abec73b809

- **Die APK-Ressourcen analysieren**

https://github.com/user-attachments/assets/f42d8072-0e3e-4f03-93ea-121af4e66eb1

- **Dein KI-Assistent beim Debuggen von APKs mit JADX**

https://github.com/user-attachments/assets/2b0bd9b1-95c1-4f32-9b0c-38b864dd6aec

Es ist eine Kombination aus zwei Tools:
1. JADX-AI-MCP
2. [JADX MCP SERVER](https://github.com/zinja-coder/jadx-mcp-server)

## 🤖 Was ist JADX-MCP-SERVER?

**JADX MCP Server** ist ein eigenständiger Python-Server, der über MCP (Model Context Protocol) mit einem `JADX-AI-MCP`-Plugin (siehe: [jadx-ai-mcp](https://github.com/zinja-coder/jadx-ai-mcp)) interagiert. Er ermöglicht LLMs, live mit dem Kontext der dekompilierten Android-App zu kommunizieren.

---

## Weitere Projekte in der Zin MCP Suite
 - **[APKTool-MCP-Server](https://github.com/zinja-coder/apktool-mcp-server)**
 - **[JADX-MCP-Server](https://github.com/zinja-coder/jadx-mcp-server)**
 - **[ZIN-MCP-Client](https://github.com/zinja-coder/zin-mcp-client)**

## Aktuelle MCP-Tools

Die folgenden MCP-Tools sind verfügbar:

- `fetch_current_class()` — Ruft den Klassennamen und den vollständigen Quellcode der ausgewählten Klasse ab
- `get_selected_text()` — Ruft den aktuell ausgewählten Text ab
- `get_all_classes()` — Listet alle Klassen im Projekt auf
- `get_class_source()` — Ruft den vollständigen Quellcode einer bestimmten Klasse ab
- `get_method_by_name()` — Ruft den Quellcode einer Methode ab
- `search_method_by_name()` — Durchsucht Methoden klassenübergreifend
- `search_classes_by_keyword()` — Sucht nach Klassen, deren Quellcode ein bestimmtes Schlüsselwort enthält (unterstützt Paginierung)
- `get_methods_of_class()` — Listet die Methoden einer Klasse auf
- `get_fields_of_class()` — Listet die Felder einer Klasse auf
- `get_smali_of_class()` — Ruft den Smali-Code einer Klasse ab
- `get_main_activity_class()` — Ruft die in der Datei AndroidManifest.xml genannte Main Activity aus jadx ab.
- `get_main_application_classes_code()` — Ruft den Code aller Hauptanwendungsklassen basierend auf dem in der AndroidManifest.xml definierten Paketnamen ab.
- `get_main_application_classes_names()` — Ruft die Namen aller Hauptanwendungsklassen basierend auf dem in der AndroidManifest.xml definierten Paketnamen ab.
- `get_android_manifest()` — Ruft den Inhalt der AndroidManifest.xml ab und gibt ihn zurück.
- `get_manifest_component` - Ruft eine bestimmte Manifest-Komponente statt der gesamten Manifest-Datei ab
- `get_strings()` : Ruft die Datei strings.xml ab
- `get_all_resource_file_names()` : Ruft alle Ressourcendateinamen ab, die in der Anwendung vorhanden sind
- `get_resource_file()` : Ruft den Inhalt einer Ressourcendatei ab
- `rename_class()` : Benennt den Klassennamen um
- `rename_method()` : Benennt die Methode um
- `rename_field()` : Benennt das Feld um
- `rename_package()` : Benennt das gesamte Paket um
- `rename_variable()` : Benennt die Variable innerhalb einer Methode um
- `add_comment()` : Fügt einen Kommentar zu einer Klasse, Methode, einem Feld oder einer einzelnen Codezeile hinzu (`line=`, die 1-basierte Zeilennummer des dekompilierten Quellcodes), der in JADX-GUI angezeigt und mit dem Projekt gespeichert wird (erneutes Kommentieren desselben Ziels aktualisiert ihn, ein leerer Kommentar entfernt ihn)
- `list_comments()` : Listet die im Projekt gespeicherten Kommentare auf, optional gefiltert auf eine Klasse
- `debug_get_stack_frames()` : Ruft die Stack-Frames aus dem jadx-Debugger ab
- `debug_get_threads()` : Ruft die Einblicke in die Threads aus dem jadx-Debugger ab
- `debug_get_variables()` : Ruft die Variablen aus dem jadx-Debugger ab
- `xrefs_to_class()` : Findet alle Referenzen auf eine Klasse (gibt Referenzen auf Methoden- und Klassenebene zurück, unterstützt Paginierung)
- `xrefs_to_method()` : Findet alle Referenzen auf eine Methode (schließt override-bezogene Methoden ein, unterstützt Paginierung)
- `xrefs_to_field()` : Findet alle Referenzen auf ein Feld (gibt Methoden zurück, die auf das Feld zugreifen, unterstützt Paginierung)
  
---

## 🗒️ Beispiel-Prompts

🔍 Grundlegendes Code-Verständnis

    "Erkläre in einem Absatz, was diese Klasse tut."

    "Fasse die Aufgaben dieser Methode zusammen."

    "Gibt es in dieser Klasse eine Verschleierung (Obfuskation)?"

    "Liste alle Android-Berechtigungen auf, die diese Klasse möglicherweise benötigt."

🛡️ Schwachstellenerkennung

    "Gibt es in dieser Methode unsichere API-Nutzungen?"

    "Prüfe diese Klasse auf fest codierte Geheimnisse oder Anmeldedaten."

    "Bereinigt diese Methode Benutzereingaben, bevor sie verwendet werden?"

    "Welche Sicherheitsschwachstellen könnten durch diesen Code entstehen?"

🛠️ Hilfen für Reverse Engineering

    "Deobfuskiere und benenne die Klassen und Methoden in etwas Lesbares um."

    "Kannst du den ursprünglichen Zweck dieser Smali-Methode ableiten?"

    "Zu welchen Bibliotheken oder SDKs gehört diese Klasse vermutlich?"

    "Sag mir, welche Klassen Code im Zusammenhang mit 'Verschlüsselung' enthalten?"

📦 Statische Analyse

    "Liste alle netzwerkbezogenen API-Aufrufe in dieser Klasse auf."

    "Identifiziere Datei-I/O-Operationen und ihre potenziellen Risiken."

    "Gibt diese Methode Geräteinformationen oder personenbezogene Daten (PII) preis?"

🤖 KI-gestützte Code-Modifikation

    "Refaktoriere diese Methode, um die Lesbarkeit zu verbessern."

    "Füge Kommentare zu diesem Code hinzu, die jeden Schritt erklären."

    "Schreibe diese Java-Methode zur Analyse in Python um."

📄 Dokumentation & Metadaten

    "Erzeuge Kommentare im Javadoc-Stil für alle Methoden."

    "Zu welchem Paket oder App-Bestandteil gehört diese Klasse wahrscheinlich?"

    "Kannst du den Android-Komponententyp (Activity, Service usw.) identifizieren?"

🐞 Debugger-Assistent
```
   "Fetch stack frames, varirables and threads from debugger and provide summary"

   "Based the stack frames from debugger, explain the execution flow of the application"

   "Based on the state of variables, is there security threat?"
```

## 🛠️ Erste Schritte

### 1. Von Releases herunterladen: https://github.com/zinja-coder/jadx-ai-mcp/releases

> [!NOTE]
>
> Lade sowohl die Datei `jadx-ai-mcp-<version>.jar` als auch die Datei `jadx-mcp-server-<version>.zip` herunter.


```bash
# 0. Download the jadx-ai-mcp-<version>.jar and jadx-mcp-server-<version>.zip
https://github.com/zinja-coder/jadx-ai-mcp/releases

# 1. 
unzip jadx-mcp-server-<version>.zip

├jadx-mcp-server/
  ├── jadx_mcp_server.py
  ├── requirements.txt
  ├── README.md
  ├── LICENSE
  ├── src/
  ├── static/
  ├── examples/
  └── test.sh

├jadx-ai-mcp-<version>.jar

# 2. Install the plugin

# For this you can follow two approaches:

## 1. One liner - execute below command in your shell
jadx plugins --install "github:zinja-coder:jadx-ai-mcp"

## The above one line code will install the latest version of the plugin directly into the jadx, no need to download the jadx-ai-mcp's .jar file.
## 2. Or you can use JADX-GUI to install it by following images as shown below:
```

<div align="center">
    <img alt="banner" height="480px" widht="620px" src="https://assets.kitploit.com/production/public/readmes/6657/1c2660639daf7352d2bdeafeb7b5e0846e3c0bed45846ee52256b7bf3d316386.png">
</div>

<div align="center">
    <img alt="banner" height="480px" widht="620px" src="https://assets.kitploit.com/production/public/readmes/6657/ccc2cc3566566517abad1097711afad3c668a999dc105d82686c4ffb791eba3b.png">
</div>

<div align="center">
    <img alt="banner" height="480px" widht="620px" src="https://assets.kitploit.com/production/public/readmes/6657/0f9770bc38f4234826a661e6d37bc205a801ad38380363fd4394a903bd35ff94.png">
</div>


```bash
## 3. GUI method, download the .jar file and follow below steps shown in images
```
![img.png](https://assets.kitploit.com/production/public/readmes/6657/8eeb5b7dcd87df82f139d860d9b7d924e2706bcc253cb96e6240dd5c4bfa259b.png)
![img_1.png](https://assets.kitploit.com/production/public/readmes/6657/1fbdbdef7496a43f4e4d280048dbd9461ae433eb386cf392a5d20adbb72be5e8.png)
![img_2.png](https://assets.kitploit.com/production/public/readmes/6657/0f9d1468ae2ed3d58acd3450f50c0d10b691b3d136095b8ee638df41a2ffa309.png)
![img_3.png](https://assets.kitploit.com/production/public/readmes/6657/c03eec852ed6a3c209e38312a1815b22a9df16606b675229f46ecf613fdbf289.png)
```bash
# 3. Navigate to jadx-mcp-server directory
cd jadx-mcp-server

# 4. This project uses uv - https://github.com/astral-sh/uv instead of pip for dependency management.
    ## a. Install uv (if you dont have it yet)
curl -LsSf https://astral.sh/uv/install.sh | sh
    ## b. OPTIONAL, if for any reasons, you get dependecy errors in jadx-mcp-server, Set up the environment
uv venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
    ## c. OPTIONAL Install dependencies
uv pip install httpx fastmcp

# The setup for jadx-ai-mcp and jadx_mcp_server is done.
```

## 🤖 2. Claude Desktop verwenden

Stelle sicher, dass Claude Desktop mit aktiviertem MCP läuft.

Zum Beispiel habe ich für Kali Linux Folgendes verwendet: https://github.com/aaddrick/claude-desktop-debian

Konfiguriere und füge den MCP-Server zur LLM-Datei hinzu:
```bash
nano ~/.config/Claude/claude_desktop_config.json
```

Für:
   - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
   - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
   
Und folgenden Inhalt darin:
```json
{
    "mcpServers": {
        "jadx-mcp-server": {
            "command": "/<path>/<to>/uv", 
            "args": [
                "--directory",
                "</PATH/TO/>jadx-mcp-server/",
                "run",
                "jadx_mcp_server.py"
            ]
        }
    }
}
```

Ersetzen Sie:

- `path/to/uv` durch den tatsächlichen Pfad zu Ihrer `uv`-ausführbaren Datei
- `path/to/jadx-mcp-server` durch den absoluten Pfad zu dem Ort, an den Sie dieses Repository geklont haben

Navigieren Sie dann durch den Code und interagieren Sie über Echtzeit-Code-Review-Prompts mithilfe der integrierten Integration.

**ODER**

oder Sie können den jadx_mcp_server direkt als ausführbare Datei direkt mit dem folgenden Befehl installieren:

```
uv tool install git+https://github.com/zinja-coder/jadx-mcp-server
```

und dann kannst du einfach `jadx_mcp_server` im Abschnitt `command` der MCP-Konfiguration angeben.

## 3. Cherry Studio verwenden

Wenn du das MCP-Tool in Cherry Studio konfigurieren möchtest, kannst du die folgende Konfiguration verwenden.
- Typ: stdio
- Befehl: uv
- Argument:
```bash
--directory
path/to/jadx-mcp-server
run
jadx_mcp_server.py
```
- `path/to/jadx-mcp-server` mit dem absoluten Pfad zu dem Ort, an den du dieses Repository geklont hast

## 4. Verwendung von LMStudio

Du kannst den JADX AI MCP Server auch mit LM Studio verwenden, indem du dessen mcp.json-Datei konfigurierst. Hier ist die Videoanleitung.

https://github.com/user-attachments/assets/b4a6b280-5aa9-4e76-ac72-a0abec73b809

## 5. Ausführung im HTTP-Stream-Modus

Du kannst Jadx auch im HTTP-Stream-Modus verwenden, indem du die Option `--http` mit `jadx_mcp_server.py` verwendest, wie im Folgenden gezeigt:

```bash
uv run jadx_mcp_server.py --http

OR

uv run jadx_mcp_server.py --http --port 9999
```

### Erweiterte CLI-Optionen — Die Flags verstehen

Es gibt **zwei separate Verbindungen**, und jede hat ihren eigenen Host/Port:

```
┌─────────────┐    --host / --port     ┌──────────────────┐   --jadx-host / --jadx-port   ┌──────────────────┐
│  LLM Client │ ◄──────────────────►   │  jadx-mcp-server │ ──────────────────────────►   │  JADX-GUI Plugin │
│  (Claude,   │   Where the MCP server │                  │   Where the MCP server looks  │  (jadx-ai-mcp)   │
│   Codex..)  │   LISTENS for clients  │                  │   for the JADX plugin         │                  │
└─────────────┘                        └──────────────────┘                               └──────────────────┘
```

| Flag | Standard | Steuert |
|------|---------|----------|
| `--http` | aus | HTTP-Transport statt stdio verwenden |
| `--host` | `127.0.0.1` | **Wo der MCP-Server lauscht** (Bind-Adresse für LLM-Clients) |
| `--port` | `8651` | **Auf welchem Port der MCP-Server lauscht** |
| `--jadx-host` | `127.0.0.1` | **Wo das JADX-Plugin zu finden ist** (die Ziel-JADX-GUI-Maschine) |
| `--jadx-port` | `8650` | **Auf welchem Port das JADX-Plugin läuft** |

### Anwendungsbeispiele

**Szenario 1 — Alles auf derselben Maschine (am häufigsten):**
```bash
# Default: MCP server on localhost:8651, connects to JADX plugin on localhost:8650
uv run jadx_mcp_server.py --http
```

**Szenario 2 — Docker-Container oder WSL (MCP-Server über das Host-Netzwerk erreichbar):**
```bash
# MCP server listens on ALL interfaces so the host can reach it
# JADX plugin is still on the same machine
uv run jadx_mcp_server.py --http --host 0.0.0.0
```

**Szenario 3 — JADX-GUI läuft auf einem anderen Rechner (z. B. einer entfernten VM):**
```bash
# MCP server runs locally, but connects to JADX plugin on a remote machine
uv run jadx_mcp_server.py --http --jadx-host 192.168.1.100
```

**Szenario 4 — Vollständige Remote-Einrichtung (alles auf verschiedenen Maschinen):**
```bash
# MCP server listens on all interfaces on port 9999
# JADX plugin is on a different machine at 192.168.1.100:8652
uv run jadx_mcp_server.py --http --host 0.0.0.0 --port 9999 --jadx-host 192.168.1.100 --jadx-port 8652
```

> [!CAUTION]
> ### ⚠️ Sicherheitswarnung — Remote-Bindung
>
> Bei Verwendung von `--host 0.0.0.0` (oder einer beliebigen anderen Adresse als localhost) bindet der MCP-Server an **alle Netzwerkschnittstellen** über **einfaches HTTP ohne Authentifizierung**. Das bedeutet:
>
> - **Jeder im Netzwerk** kann sich verbinden und alle MCP-Tools aufrufen
> - Es gibt **keine TLS-Verschlüsselung** — der Datenverkehr kann abgefangen werden
> - Ein Angreifer kann den Server nutzen, um **dekompilierten Code zu lesen**, **Klassen/Methoden umzubenennen** und **auf Debug-Informationen zuzugreifen**
>
> **Gegenmaßnahmen:**
> - Binden Sie nur dann an `0.0.0.0`, wenn Sie sich in **vertrauenswürdigen, isolierten Netzwerken** befinden (z. B. Docker-Bridge, lokale VM)
> - Verwenden Sie eine **Firewall**, um den Zugriff auf den MCP-Port zu beschränken
> - Erwägen Sie stattdessen einen **SSH-Tunnel**: `ssh -L 8651:127.0.0.1:8651 remote-host`

### Kompatibilität mit dem Stdio-Modus

> [!NOTE]
> Im **stdio**-Modus (der Standardeinstellung, ohne `--http`) wird die gesamte menschenlesbare Ausgabe (Banner, Health Check) nach **stderr** geschrieben, damit **stdout** für den MCP-JSON-RPC-Stream reserviert bleibt. Dies gewährleistet die Kompatibilität mit Codex, Claude Desktop und anderen stdio-basierten MCP-Clients.

## 6. Benutzerdefinierte Port- und Host-Konfiguration für das JADX AI MCP Plugin

<img width="800" height="335" alt="image" src="https://assets.kitploit.com/production/public/readmes/6657/34e13964afba1fa722733838892491b2ec9ea2d11f2dfd4e8612aa62817dfa41.png" />

1. Port konfigurieren: Konfigurieren Sie den Port, auf dem das JADX AI MCP Plugin lauschen soll.
2. Standardport: Änderungen rückgängig machen und auf dem Standardport lauschen.
3. Server neu starten: Erzwingt einen Neustart des JADX AI MCP Plugin-Servers.
4. Serverstatus: Prüfen Sie den Status des JADX AI MCP Plugin-Servers.

Um sich mit dem auf einem benutzerdefinierten Port laufenden JADX AI MCP Plugin zu verbinden, wird die Option `--jadx-port` verwendet, wie im Folgenden gezeigt:
```
uv run jadx_mcp_server.py --jadx-port 8652
```

Wenn das JADX AI MCP Plugin auf einer **anderen Maschine** läuft (z. B. JADX auf einer entfernten VM, MCP-Server auf Ihrem lokalen Host), verwenden Sie die Option `--jadx-host`:
```bash
# Connect to JADX plugin on a remote host
uv run jadx_mcp_server.py --jadx-host 192.168.1.100 --jadx-port 8650
```

### CLI-Referenz — Die Flags verstehen

Es gibt **zwei separate Verbindungen**, und jede hat ihren eigenen Host/Port:

```
┌─────────────┐    --host / --port     ┌──────────────────┐   --jadx-host / --jadx-port   ┌──────────────────┐
│  LLM Client │ ◄──────────────────►   │  jadx-mcp-server │ ──────────────────────────►   │  JADX-GUI Plugin │
│  (Claude,   │   Where the MCP server │                  │   Where the MCP server looks  │  (jadx-ai-mcp)   │
│   Codex..)  │   LISTENS for clients  │                  │   for the JADX plugin         │                  │
└─────────────┘                        └──────────────────┘                               └──────────────────┘
```

| Flag | Standard | Steuert |
|------|---------|----------|
| `--http` | aus | HTTP-Transport statt stdio verwenden |
| `--host` | `127.0.0.1` | **Wo der MCP-Server lauscht** (Bind-Adresse für LLM-Clients) |
| `--port` | `8651` | **Auf welchem Port der MCP-Server lauscht** |
| `--jadx-host` | `127.0.0.1` | **Wo das JADX-Plugin zu finden ist** (die Ziel-JADX-GUI-Maschine) |
| `--jadx-port` | `8650` | **Auf welchem Port das JADX-Plugin läuft** |

### Anwendungsbeispiele

**Szenario 1 — Alles auf derselben Maschine (am häufigsten):**
```bash
# Default: MCP server on localhost:8651, connects to JADX plugin on localhost:8650
uv run jadx_mcp_server.py --http
```

**Szenario 2 — Docker-Container oder WSL (MCP-Server über das Host-Netzwerk erreichbar):**
```bash
# MCP server listens on ALL interfaces so the host can reach it
# JADX plugin is still on the same machine
uv run jadx_mcp_server.py --http --host 0.0.0.0
```

**Szenario 3 — JADX-GUI läuft auf einem anderen Rechner (z. B. einer entfernten VM):**
```bash
# MCP server runs locally, but connects to JADX plugin on a remote machine
uv run jadx_mcp_server.py --http --jadx-host 192.168.1.100
```

**Szenario 4 — Vollständige Remote-Einrichtung (alles auf verschiedenen Maschinen):**
```bash
# MCP server listens on all interfaces on port 9999
# JADX plugin is on a different machine at 192.168.1.100:8652
uv run jadx_mcp_server.py --http --host 0.0.0.0 --port 9999 --jadx-host 192.168.1.100 --jadx-port 8652
```

Die MCP-Konfiguration für einen benutzerdefinierten jadx-Port sieht für claude wie folgt aus:

```
{
  "mcpServers": {
    "jadx-mcp-server": {
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/path/to/jadx-mcp-server/",
        "run",
        "jadx_mcp_server.py",
        "--jadx-port",
        "8652"
      ]
    }
  }
}
```

## Probier es aus

1. Starte jadx-gui und lade eine beliebige .apk-Datei

![img_1.png](https://assets.kitploit.com/production/public/readmes/6657/57512ca023da5fdca0cc3fac791a68e1c76c9ff4e97d9391ca6fdcf8b6e34bff.png)

2. Starte claude – Du musst das Hammer-Symbol sehen

![img2.png](https://assets.kitploit.com/production/public/readmes/6657/18d5936ea3d66f3667e827f2b757926f56230f5b0a150eb0077414cca550009e.png)

3. Klicke auf das `hammer`-Symbol und du solltest etwas wie das Folgende sehen:

![img3.png](https://assets.kitploit.com/production/public/readmes/6657/ce4c8a048d32bb1f5a16fed73153b83ec78c3253a0109fb7aa064f064b34fc34.png)

4. Führe folgenden Prompt aus:
```text
fetch currently selected class and perform quick sast on it
```
![img4.png](https://assets.kitploit.com/production/public/readmes/6657/ee08eb3d9daa060056adf519f725570e58e4b433ea4ea88c8c306fc107a7d0f1.png)

5. Zugriff erlauben, wenn dazu aufgefordert:

![img_1.png](https://assets.kitploit.com/production/public/readmes/6657/82fcc3efe525650afcd7bba0b9b9c279bca53ea82339c6962cc91e5552765380.png)

6. HACK!

![img_2.png](https://assets.kitploit.com/production/public/readmes/6657/d4a6b947a4621a2fea630af77c9e61ac3651715091026625a578794165bae96f.png)

Dieses Plugin ermöglicht die vollständige Kontrolle über die GUI und das interne Projektmodell, um eine tiefergehende LLM-Integration zu unterstützen, einschließlich:

- Exportieren der ausgewählten Klasse zu MCP
- Ausführen automatisierter Claude-Analysen
- Inline-Empfang von Vorschlägen

---

## Fehlerbehebung

[Siehe hier](https://github.com/zinja-coder/jadx-ai-mcp/edit/jadx-ai/TROUBLESHOOTING.md)

## HINWEIS für Mitwirkende

 - Die Dateien zu JADX-AI-MCP finden sich in diesem Repository.

 - Die Dateien zu **jadx-mcp-server** finden sich [hier](https://github.com/zinja-coder/jadx-mcp-server).

## Um Fehler, Probleme, Funktionsvorschläge, Performance-Probleme, allgemeine Fragen oder Dokumentationsprobleme zu melden.
 - Bitte ein Issue mit der entsprechenden Vorlage eröffnen.

 - Getestet mit dem Claude Desktop Client, Unterstützung für andere KI wird bald getestet!

## 🙏 Danksagungen

Dieses Projekt ist ein Plugin für JADX, einen großartigen Open-Source-Android-Decompiler, der von [@skylot](https://github.com/skylot) erstellt und gepflegt wird. Die gesamte Kern-Decompilierungslogik stammt von ihm. Ich habe ihn lediglich erweitert, um meinen MCP-Server mit KI-Funktionen zu unterstützen.

[📎 Original-README (JADX)](https://github.com/skylot/jadx)

Die ursprüngliche README.md von jadx ist hier in diesem Repository als Referenz und zur Anerkennung enthalten.

Dieser MCP-Server wird durch die Erweiterbarkeit von JADX-GUI und die großartige Android-Reverse-Engineering-Community ermöglicht.

Außerdem großer Dank an [@aaddrick](https://github.com/aaddrick) für die Entwicklung von Claude Desktop für Debian-basiertes Linux.

Und zuletzt Dank an [@anthropics](https://github.com/anthropics) für die Entwicklung des Model Context Protocol und an das [@FastMCP](https://github.com/modelcontextprotocol/python-sdk)-Team.

Darüber hinaus großer Dank an alle Open-Source-Projekte, die als Abhängigkeiten für dieses Projekt dienen und dies möglich gemacht haben.

### Abhängigkeiten

---

[Read more](https://github.com/zinja-coder/jadx-ai-mcp)
Tool herunterladen