Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
jadx-ai-mcp — Plugin per integrare il server MCP in JADX | Kitploit
Strumenti/GitHubGitHub/zinja-coder/jadx-ai-mcp
Sicurezza AndroidAnalisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceReverse EngineeringSicurezza MobileReverse Engineering Assistito dall'IATop in Reverse Engineering Assistito dall'IA n.4
GitHubzinja-coder/jadx-ai-mcp
2.6k240549 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

jadx-ai-mcp

Plugin per integrare il server MCP in JADX

Vedi Repository
<div align="center">

# JADX-AI-MCP (Parte della Zin MCP Suite)

⚡ Server MCP completamente automatizzato + plugin JADX creato per comunicare con gli LLM tramite MCP per analizzare APK Android utilizzando LLM come Claude — scopri vulnerabilità, analizza APK e fai reverse engineering senza sforzo.

![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)

#### ⭐ Contributori

Grazie a queste splendide persone per i loro contributi ⭐
<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>

<!-- È ancora in una fase iniziale di sviluppo, quindi aspettatevi bug, crash ed errori logici.-->

<!-- Plugin standalone per [JADX](https://github.com/skylot/jadx) (iniziato come Fork) con integrazione Model Context Protocol (MCP) per analisi statica del codice potenziata dall'IA e revisione del codice in tempo reale e attività di reverse engineering tramite 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) Immagine generata con strumenti di IA. -->

#### Leggi la documentazione
 - La documentazione è ora disponibile: https://jadx-ai-mcp.readthedocs.io/en/latest/

---

## 🤖 Cos'è JADX-AI-MCP?

**JADX-AI-MCP** è un plugin per il [decompilatore JADX](https://github.com/skylot/jadx) che si integra direttamente con il [Model Context Protocol (MCP)](https://github.com/anthropic/mcp) per fornire **supporto live al reverse engineering con LLM come Claude**.

Immagina: "Decompila → Revisione del codice context-aware → Raccomandazioni IA" — tutto in tempo reale.

#### Diagramma di sequenza ad alto livello

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

### Guarda le demo!

- **Esegui un'analisi rapida**
  
https://github.com/user-attachments/assets/b65c3041-fde3-4803-8d99-45ca77dbe30a

- **Trova rapidamente le vulnerabilità**

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

- **Supporto a più agenti AI**

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

- **Esegui con il tuo client LLM preferito**

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

- **Analizza le risorse dell'APK**

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

- **Il tuo assistente AI durante il debug dell'APK tramite JADX**

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

È la combinazione di due strumenti:
1. JADX-AI-MCP
2. [JADX MCP SERVER](https://github.com/zinja-coder/jadx-mcp-server)

## 🤖 Cos'è JADX-MCP-SERVER?

**JADX MCP Server** è un server Python standalone che interagisce con un plugin `JADX-AI-MCP` (vedi: [jadx-ai-mcp](https://github.com/zinja-coder/jadx-ai-mcp)) tramite MCP (Model Context Protocol). Consente agli LLM di comunicare in tempo reale con il contesto dell'app Android decompilata.

---

## Altri progetti nella 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)**

## Strumenti MCP attuali

Sono disponibili i seguenti strumenti MCP:

- `fetch_current_class()` — Ottieni il nome della classe e il codice sorgente completo della classe selezionata
- `get_selected_text()` — Ottieni il testo attualmente selezionato
- `get_all_classes()` — Elenca tutte le classi nel progetto
- `get_class_source()` — Ottieni il codice sorgente completo di una determinata classe
- `get_method_by_name()` — Recupera il codice sorgente di un metodo
- `search_method_by_name()` — Cerca un metodo tra le classi
- `search_classes_by_keyword()` — Cerca le classi il cui codice sorgente contiene una parola chiave specifica (supporta la paginazione)
- `get_methods_of_class()` — Elenca i metodi di una classe
- `get_fields_of_class()` — Elenca i campi di una classe
- `get_smali_of_class()` — Recupera lo smali di una classe
- `get_main_activity_class()` — Recupera la main activity da jadx menzionata nel file AndroidManifest.xml.
- `get_main_application_classes_code()` — Recupera il codice di tutte le classi principali dell'applicazione in base al nome del pacchetto definito nell'AndroidManifest.xml.
- `get_main_application_classes_names()` — Recupera i nomi di tutte le classi principali dell'applicazione in base al nome del pacchetto definito nell'AndroidManifest.xml.
- `get_android_manifest()` — Recupera e restituisce il contenuto di AndroidManifest.xml.
- `get_manifest_component` - Recupera un componente specifico del manifest invece dell'intero file manifest
- `get_strings()` : Recupera il file strings.xml
- `get_all_resource_file_names()` : Recupera tutti i nomi dei file di risorsa esistenti nell'applicazione
- `get_resource_file()` : Recupera il contenuto di un file di risorsa
- `rename_class()` : Rinomina il nome della classe
- `rename_method()` : Rinomina il metodo
- `rename_field()` : Rinomina il campo
- `rename_package()` : Rinomina l'intero pacchetto
- `rename_variable()` : Rinomina la variabile all'interno di un metodo
- `add_comment()` : Aggiunge un commento a una classe, un metodo, un campo o una singola riga di codice (`line=`, il numero di riga con base 1 del codice sorgente decompilato), visualizzato in JADX-GUI e salvato con il progetto (un nuovo commento sullo stesso target lo aggiorna, un commento vuoto lo rimuove)
- `list_comments()` : Elenca i commenti memorizzati nel progetto, eventualmente filtrati per una singola classe
- `debug_get_stack_frames()` : Ottieni gli stack frame dal debugger di jadx
- `debug_get_threads()` : Ottieni informazioni sui thread dal debugger di jadx
- `debug_get_variables()` : Ottieni le variabili dal debugger di jadx
- `xrefs_to_class()` : Trova tutti i riferimenti a una classe (restituisce riferimenti a livello di metodo e di classe, supporta la paginazione)
- `xrefs_to_method()` : Trova tutti i riferimenti a un metodo (include i metodi correlati agli override, supporta la paginazione)
- `xrefs_to_field()` : Trova tutti i riferimenti a un campo (restituisce i metodi che accedono al campo, supporta la paginazione)
  
---

## 🗒️ Prompt di esempio

🔍 Comprensione di base del codice

    "Spiega cosa fa questa classe in un paragrafo."

    "Riassumi le responsabilità di questo metodo."

    "C'è qualche offuscamento in questa classe?"

    "Elenca tutti i permessi Android che questa classe potrebbe richiedere."

🛡️ Rilevamento delle vulnerabilità

    "Ci sono utilizzi non sicuri di API in questo metodo?"

    "Controlla questa classe per la presenza di segreti o credenziali hardcoded."

    "Questo metodo sanifica l'input dell'utente prima di utilizzarlo?"

    "Quali vulnerabilità di sicurezza potrebbero essere introdotte da questo codice?"

🛠️ Supporto al reverse engineering

    "Deoffusca e rinomina le classi e i metodi con nomi leggibili."

    "Riesci a dedurre lo scopo originale di questo metodo smali?"

    "Di quali librerie o SDK sembra far parte questa classe?"

    "Dimmi quali classi contengono codice relativo a 'encryption'?"

📦 Analisi statica

    "Elenca tutte le chiamate API relative alla rete in questa classe."

    "Identifica le operazioni di I/O su file e i loro potenziali rischi."

    "Questo metodo espone informazioni sul dispositivo o PII?"

🤖 Modifica del codice tramite AI

    "Rifattorizza questo metodo per migliorarne la leggibilità."

    "Aggiungi commenti a questo codice spiegando ogni passaggio."

    "Riscrivi questo metodo Java in Python per l'analisi."

📄 Documentazione e metadati

    "Genera commenti in stile Javadoc per tutti i metodi."

    "A quale pacchetto o componente dell'app appartiene probabilmente questa classe?"

    "Riesci a identificare il tipo di componente Android (Activity, Service, ecc.)?"

🐞 Assistente per il debugger
```
   "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?"
```

## 🛠️ Per iniziare

### 1. Scarica dalle Release: https://github.com/zinja-coder/jadx-ai-mcp/releases

> [!NOTE]
>
> Scarica entrambi i file `jadx-ai-mcp-<version>.jar` e `jadx-mcp-server-<version>.zip`.


```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. Usa Claude Desktop

Assicurati che Claude Desktop sia in esecuzione con MCP abilitato.

Ad esempio, ho utilizzato quanto segue per Kali Linux: https://github.com/aaddrick/claude-desktop-debian

Configura e aggiungi il server MCP al file LLM:
```bash
nano ~/.config/Claude/claude_desktop_config.json
```

Per:
   - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
   - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
   
E il seguente contenuto al suo interno:
```json
{
    "mcpServers": {
        "jadx-mcp-server": {
            "command": "/<path>/<to>/uv", 
            "args": [
                "--directory",
                "</PATH/TO/>jadx-mcp-server/",
                "run",
                "jadx_mcp_server.py"
            ]
        }
    }
}
```

Sostituisci:

- `path/to/uv` con il percorso effettivo del tuo eseguibile `uv`
- `path/to/jadx-mcp-server` con il percorso assoluto della directory in cui hai clonato questo
repository

Poi, naviga il codice e interagisci tramite prompt di revisione del codice in tempo reale utilizzando l'integrazione integrata.

**OPPURE**

oppure puoi installare jadx_mcp_server direttamente come eseguibile usando direttamente il comando seguente:

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

e poi puoi semplicemente fornire `jadx_mcp_server` nella sezione `command` della configurazione mcp.

## 3. Usare Cherry Studio

Se vuoi configurare lo strumento MCP in Cherry Studio, puoi fare riferimento alla seguente configurazione.
- Tipo: stdio
- comando: uv
- argomento:
```bash
--directory
path/to/jadx-mcp-server
run
jadx_mcp_server.py
```
- `path/to/jadx-mcp-server` con il percorso assoluto della posizione in cui hai clonato questo
repository

## 4. Utilizzo di LMStudio

Puoi anche utilizzare JADX AI MCP Server con LM Studio configurando il suo file mcp.json. Ecco la guida video.

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

## 5. Esecuzione in modalità HTTP Stream

Puoi anche utilizzare Jadx in modalità HTTP Stream usando l'opzione `--http` con `jadx_mcp_server.py` come mostrato di seguito:

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

OR

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

### Opzioni CLI avanzate — Comprendere i flag

Ci sono **due connessioni separate** e ciascuna ha il proprio host/porta:

```
┌─────────────┐    --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 | Predefinito | Controlla |
|------|---------|----------|
| `--http` | off | Usa il trasporto HTTP invece di stdio |
| `--host` | `127.0.0.1` | **Dove il server MCP resta in ascolto** (indirizzo di bind per i client LLM) |
| `--port` | `8651` | **Su quale porta il server MCP resta in ascolto** |
| `--jadx-host` | `127.0.0.1` | **Dove trovare il plugin JADX** (la macchina JADX-GUI di destinazione) |
| `--jadx-port` | `8650` | **Su quale porta si trova il plugin JADX** |

### Esempi di utilizzo

**Scenario 1 — Tutto sulla stessa macchina (il più comune):**
```bash
# Default: MCP server on localhost:8651, connects to JADX plugin on localhost:8650
uv run jadx_mcp_server.py --http
```

**Scenario 2 — Container Docker o WSL (server MCP accessibile dalla rete host):**
```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
```

**Scenario 3 — JADX-GUI in esecuzione su una macchina diversa (ad es., VM remota):**
```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
```

**Scenario 4 — Configurazione remota completa (tutto su macchine diverse):**
```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]
> ### ⚠️ Avviso di sicurezza — Binding remoto
>
> Quando si utilizza `--host 0.0.0.0` (o qualsiasi indirizzo non localhost), il server MCP si associa a **tutte le interfacce di rete** tramite **HTTP in chiaro senza autenticazione**. Ciò significa:
>
> - **Chiunque sulla rete** può connettersi e invocare tutti gli strumenti MCP
> - **Non c'è crittografia TLS** — il traffico può essere intercettato
> - Un attaccante può usare il server per **leggere codice decompilato**, **rinominare classi/metodi** e **accedere alle informazioni di debug**
>
> **Mitigazioni:**
> - Associare a `0.0.0.0` solo su **reti affidabili e isolate** (ad es. bridge Docker, VM locale)
> - Utilizzare un **firewall** per limitare l'accesso alla porta MCP
> - Considerare invece un **tunnel SSH**: `ssh -L 8651:127.0.0.1:8651 remote-host`

### Compatibilità con la modalità Stdio

> [!NOTE]
> Quando si esegue in modalità **stdio** (quella predefinita, senza `--http`), tutto l'output leggibile dall'uomo (banner, controllo di integrità) viene scritto su **stderr** per mantenere **stdout** riservato al flusso JSON-RPC di MCP. Ciò garantisce la compatibilità con Codex, Claude Desktop e altri client MCP basati su stdio.

## 6. Configurazione personalizzata di porta e host per il plugin JADX AI MCP

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

1. Configura porta: configura la porta su cui il plugin JADX AI MCP resterà in ascolto.
2. Porta predefinita: ripristina le modifiche e resta in ascolto sulla porta predefinita.
3. Riavvia server: forza il riavvio del server del plugin JADX AI MCP.
4. Stato del server: controlla lo stato del server del plugin JADX AI MCP.

Per connettersi al plugin JADX AI MCP in esecuzione su una porta personalizzata, verrà utilizzata l'opzione `--jadx-port` come mostrato di seguito:
```
uv run jadx_mcp_server.py --jadx-port 8652
```

Se il JADX AI MCP Plugin è in esecuzione su una **macchina diversa** (ad es., JADX su una VM remota, il server MCP sul tuo host locale), usa l'opzione `--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
```

### Riferimento CLI — Comprendere i Flag

Ci sono **due connessioni separate** e ciascuna ha il proprio host/porta:

```
┌─────────────┐    --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 | Predefinito | Controlla |
|------|---------|----------|
| `--http` | off | Usa il trasporto HTTP invece di stdio |
| `--host` | `127.0.0.1` | **Dove il server MCP resta in ascolto** (indirizzo di bind per i client LLM) |
| `--port` | `8651` | **Su quale porta il server MCP resta in ascolto** |
| `--jadx-host` | `127.0.0.1` | **Dove trovare il plugin JADX** (la macchina JADX-GUI di destinazione) |
| `--jadx-port` | `8650` | **Su quale porta si trova il plugin JADX** |

### Esempi di utilizzo

**Scenario 1 — Tutto sulla stessa macchina (il più comune):**
```bash
# Default: MCP server on localhost:8651, connects to JADX plugin on localhost:8650
uv run jadx_mcp_server.py --http
```

**Scenario 2 — Container Docker o WSL (server MCP accessibile dalla rete host):**
```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
```

**Scenario 3 — JADX-GUI in esecuzione su una macchina diversa (ad es., VM remota):**
```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
```

**Scenario 4 — Configurazione remota completa (tutto su macchine diverse):**
```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
```

La configurazione MCP per una porta jadx personalizzata sarà la seguente per claude:

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

## Provalo

1. Avvia jadx-gui e carica un qualsiasi file .apk

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

2. Avvia claude - Dovresti vedere il simbolo del martello

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

3. Clicca sul simbolo del `martello` e dovresti vedere qualcosa di simile a quanto segue:

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

4. Esegui il seguente prompt:
```text
fetch currently selected class and perform quick sast on it
```
![img4.png](https://assets.kitploit.com/production/public/readmes/6657/ee08eb3d9daa060056adf519f725570e58e4b433ea4ea88c8c306fc107a7d0f1.png)

5. Consenti l'accesso quando richiesto:

![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)

Questo plugin consente il controllo totale sulla GUI e sul modello interno del progetto per supportare un'integrazione più profonda con gli LLM, tra cui:

- Esportazione della classe selezionata su MCP
- Esecuzione dell'analisi automatizzata di Claude
- Ricezione di suggerimenti inline

---

## Risoluzione dei problemi

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

## NOTA per i contributori

 - I file relativi a JADX-AI-MCP si trovano in questo repository.

 - I file relativi a **jadx-mcp-server** si trovano [qui](https://github.com/zinja-coder/jadx-mcp-server).

## Per segnalare bug, problemi, suggerimenti su funzionalità, problemi di prestazioni, domande generiche, problemi di documentazione.
 - Apri gentilmente una issue con il template appropriato.

 - Testato su Claude Desktop Client, il supporto per altre AI sarà testato presto!

## 🙏 Riconoscimenti

Questo progetto è un plugin per JADX, uno straordinario decompilatore Android open-source creato e mantenuto da [@skylot](https://github.com/skylot). Tutta la logica di decompilazione principale appartiene a loro. L'ho solo estesa per supportare il mio server MCP con capacità di AI.

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

Il README.md originale di jadx è incluso qui in questo repository per riferimento e riconoscimento.

Questo server MCP è reso possibile dall'estensibilità di JADX-GUI e dalla straordinaria community del reverse engineering Android.

Un enorme ringraziamento anche a [@aaddrick](https://github.com/aaddrick) per aver sviluppato Claude desktop per Linux basato su Debian.

E infine grazie a [@anthropics](https://github.com/anthropics) per aver sviluppato il Model Context Protocol e al team di [@FastMCP](https://github.com/modelcontextprotocol/python-sdk)

Oltre a questo, un enorme ringraziamento a tutti i progetti open source che fungono da dipendenze per questo progetto e che hanno reso tutto ciò possibile.

### Dipendenze

Questo progetto utilizza le seguenti fantastiche librerie.

- Plugin - Java
  - Javalin     - https://javalin.io/ - Licenza Apache 2.0
  - SLF4J       - https://slf4j.org/  - Licenza MIT
  - org.w3c.dom - https://mvnrepository.com/artifact/org.w3c.dom - W3C Software and Document License

- MCP Server - Python
  - FastMCP - https://github.com/jlowin/fastmcp - Licenza Apache 2.0

---

[Read more](https://github.com/zinja-coder/jadx-ai-mcp)
Scarica lo strumento