Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
jadx-ai-mcp — Plugin para JADX para integrar o servidor MCP | Kitploit
Ferramentas/GitHubGitHub/zinja-coder/jadx-ai-mcp
Segurança AndroidAnálise EstáticaAnálise de VulnerabilidadesAnálise de CódigoEngenharia ReversaSegurança MóvelEngenharia Reversa Assistida por IATop em Engenharia Reversa Assistida por IA nº4
GitHubzinja-coder/jadx-ai-mcp
2.6k24054há 8 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

jadx-ai-mcp

Plugin para JADX para integrar o servidor MCP

Ver Repositório
<div align="center">

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

⚡ Servidor MCP totalmente automatizado + plugin JADX criado para se comunicar com LLM através do MCP para analisar APKs Android usando LLMs como o Claude — descubra vulnerabilidades, analise APKs e faça engenharia reversa sem esforço.

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

#### ⭐ Contribuidores

Agradecemos a estas pessoas maravilhosas por suas contribuições ⭐
<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>

<!-- Ainda está em estágio inicial de desenvolvimento, portanto espere bugs, travamentos e erros lógicos.-->

<!-- Plugin autônomo para [JADX](https://github.com/skylot/jadx) (Iniciado como Fork) com integração do Model Context Protocol (MCP) para análise estática de código com IA e revisão de código em tempo real e tarefas de engenharia reversa usando 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) Imagem gerada usando ferramentas de IA. -->

#### Leia a Documentação
 - A Documentação já está disponível: https://jadx-ai-mcp.readthedocs.io/en/latest/

---

## 🤖 O que é o JADX-AI-MCP?

**JADX-AI-MCP** é um plugin para o [descompilador JADX](https://github.com/skylot/jadx) que se integra diretamente ao [Model Context Protocol (MCP)](https://github.com/anthropic/mcp) para fornecer **suporte de engenharia reversa ao vivo com LLMs como o Claude**.

Pense: "Descompilar → Revisão de Código Sensível ao Contexto → Recomendações de IA" — tudo em tempo real.

#### Diagrama de Sequência de Alto Nível

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

### Assista às demos!

- **Realize uma análise rápida**
  
https://github.com/user-attachments/assets/b65c3041-fde3-4803-8d99-45ca77dbe30a

- **Encontre vulnerabilidades rapidamente**

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

- **Suporte a múltiplos agentes de IA**

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

- **Execute com seu cliente LLM favorito**

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

- **Analise os recursos do APK**

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

- **Seu assistente de IA durante a depuração de APK usando JADX**

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

É a combinação de duas ferramentas:
1. JADX-AI-MCP
2. [JADX MCP SERVER](https://github.com/zinja-coder/jadx-mcp-server)

## 🤖 O que é o JADX-MCP-SERVER?

O **JADX MCP Server** é um servidor Python autônomo que interage com um plugin `JADX-AI-MCP` (veja: [jadx-ai-mcp](https://github.com/zinja-coder/jadx-ai-mcp)) via MCP (Model Context Protocol). Ele permite que LLMs se comuniquem ao vivo com o contexto do aplicativo Android descompilado.

---

## Outros projetos da 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)**

## Ferramentas MCP atuais

As seguintes ferramentas MCP estão disponíveis:

- `fetch_current_class()` — Obtém o nome da classe e o código-fonte completo da classe selecionada
- `get_selected_text()` — Obtém o texto atualmente selecionado
- `get_all_classes()` — Lista todas as classes do projeto
- `get_class_source()` — Obtém o código-fonte completo de uma determinada classe
- `get_method_by_name()` — Obtém o código-fonte de um método
- `search_method_by_name()` — Pesquisa um método entre as classes
- `search_classes_by_keyword()` — Pesquisa classes cujo código-fonte contém uma palavra-chave específica (suporta paginação)
- `get_methods_of_class()` — Lista os métodos de uma classe
- `get_fields_of_class()` — Lista os campos de uma classe
- `get_smali_of_class()` — Obtém o smali da classe
- `get_main_activity_class()` — Obtém a atividade principal do jadx mencionada no arquivo AndroidManifest.xml.
- `get_main_application_classes_code()` — Obtém o código de todas as classes principais do aplicativo com base no nome do pacote definido no AndroidManifest.xml.
- `get_main_application_classes_names()` — Obtém os nomes de todas as classes principais do aplicativo com base no nome do pacote definido no AndroidManifest.xml.
- `get_android_manifest()` — Recupera e retorna o conteúdo do AndroidManifest.xml.
- `get_manifest_component` - Recupera um componente específico do manifesto em vez do arquivo de manifesto completo
- `get_strings()` : Obtém o arquivo strings.xml
- `get_all_resource_file_names()` : Recupera todos os nomes de arquivos de recursos existentes no aplicativo
- `get_resource_file()` : Recupera o conteúdo de um arquivo de recurso
- `rename_class()` : Renomeia o nome da classe
- `rename_method()` : Renomeia o método
- `rename_field()` : Renomeia o campo
- `rename_package()` : Renomeia o pacote inteiro
- `rename_variable()` : Renomeia a variável dentro de um método
- `add_comment()` : Adiciona um comentário a uma classe, método, campo ou a uma única linha de código (`line=`, o número da linha com base em 1 do código-fonte descompilado), exibido no JADX-GUI e salvo com o projeto (comentar novamente o mesmo alvo o atualiza, um comentário vazio o remove)
- `list_comments()` : Lista os comentários armazenados no projeto, opcionalmente filtrados para uma classe
- `debug_get_stack_frames()` : Obtém os stack frames do depurador do jadx
- `debug_get_threads()` : Obtém as informações das threads do depurador do jadx
- `debug_get_variables()` : Obtém as variáveis do depurador do jadx
- `xrefs_to_class()` : Encontra todas as referências a uma classe (retorna referências em nível de método e de classe, suporta paginação)
- `xrefs_to_method()` : Encontra todas as referências a um método (inclui métodos relacionados a override, suporta paginação)
- `xrefs_to_field()` : Encontra todas as referências a um campo (retorna os métodos que acessam o campo, suporta paginação)
  
---

## 🗒️ Prompts de Exemplo

🔍 Compreensão Básica de Código

    "Explique o que esta classe faz em um parágrafo."

    "Resuma as responsabilidades deste método."

    "Há alguma ofuscação nesta classe?"

    "Liste todas as permissões do Android que esta classe pode exigir."

🛡️ Detecção de Vulnerabilidades

    "Há algum uso inseguro de API neste método?"

    "Verifique esta classe em busca de segredos ou credenciais embutidos no código."

    "Este método sanitiza a entrada do usuário antes de usá-la?"

    "Quais vulnerabilidades de segurança este código pode introduzir?"

🛠️ Auxiliares de Engenharia Reversa

    "Desofusque e renomeie as classes e métodos para algo legível."

    "Você consegue inferir o propósito original deste método smali?"

    "De quais bibliotecas ou SDKs esta classe parece fazer parte?"

    "Diga-me quais classes contêm código relacionado a 'encryption'?"

📦 Análise Estática

    "Liste todas as chamadas de API relacionadas a rede nesta classe."

    "Identifique operações de E/S de arquivos e seus riscos potenciais."

    "Este método vaza informações do dispositivo ou PII?"

🤖 Modificação de Código por IA

    "Refatore este método para melhorar a legibilidade."

    "Adicione comentários a este código explicando cada etapa."

    "Reescreva este método Java em Python para análise."

📄 Documentação e Metadados

    "Gere comentários no estilo Javadoc para todos os métodos."

    "A qual pacote ou componente de aplicativo esta classe provavelmente pertence?"

    "Você consegue identificar o tipo de componente Android (Activity, Service, etc.)?"

🐞 Assistente de Depuração
```
   "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?"
```

## 🛠️ Primeiros Passos

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

> [!NOTE]
>
> Baixe ambos os arquivos `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. Use o Claude Desktop

Certifique-se de que o Claude Desktop está em execução com o MCP habilitado.

Por exemplo, usei o seguinte para o Kali Linux: https://github.com/aaddrick/claude-desktop-debian

Configure e adicione o servidor MCP ao arquivo do LLM:
```bash
nano ~/.config/Claude/claude_desktop_config.json
```

Para:
   - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
   - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
   
E o seguinte conteúdo nele:
```json
{
    "mcpServers": {
        "jadx-mcp-server": {
            "command": "/<path>/<to>/uv", 
            "args": [
                "--directory",
                "</PATH/TO/>jadx-mcp-server/",
                "run",
                "jadx_mcp_server.py"
            ]
        }
    }
}
```

Substitua:

- `path/to/uv` pelo caminho real para o seu executável `uv`
- `path/to/jadx-mcp-server` pelo caminho absoluto para onde você clonou este
repositório

Em seguida, navegue pelo código e interaja por meio de prompts de revisão de código em tempo real usando a integração integrada.

**OU**

ou você pode instalar o jadx_mcp_server diretamente como executável usando o comando abaixo:

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

e então você pode simplesmente fornecer `jadx_mcp_server` na seção `command` da configuração do mcp.

## 3. Usar o Cherry Studio

Se você quiser configurar a ferramenta MCP no Cherry Studio, pode consultar a seguinte configuração.
- Tipo: stdio
- comando: uv
- argumento:
```bash
--directory
path/to/jadx-mcp-server
run
jadx_mcp_server.py
```
- `path/to/jadx-mcp-server` com o caminho absoluto para onde você clonou este
repositório

## 4. Usando o LMStudio

Você também pode usar o JADX AI MCP Server com o LM Studio configurando o arquivo mcp.json dele. Aqui está o guia em vídeo.

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

## 5. Executando no Modo HTTP Stream

Você também pode usar o Jadx no Modo HTTP Stream usando a opção `--http` com `jadx_mcp_server.py` conforme mostrado a seguir:

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

OR

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

### Opções Avançadas de CLI — Entendendo as Flags

Existem **duas conexões separadas** e cada uma tem seu próprio 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 | Padrão | Controla |
|------|---------|----------|
| `--http` | desativado | Usar transporte HTTP em vez de stdio |
| `--host` | `127.0.0.1` | **Onde o servidor MCP escuta** (endereço de bind para clientes LLM) |
| `--port` | `8651` | **Em qual porta o servidor MCP escuta** |
| `--jadx-host` | `127.0.0.1` | **Onde encontrar o plugin JADX** (a máquina do JADX-GUI de destino) |
| `--jadx-port` | `8650` | **Em qual porta o plugin JADX está** |

### Exemplos de Uso

**Cenário 1 — Tudo na mesma máquina (mais comum):**
```bash
# Default: MCP server on localhost:8651, connects to JADX plugin on localhost:8650
uv run jadx_mcp_server.py --http
```

**Cenário 2 — Contêiner Docker ou WSL (servidor MCP acessível a partir da rede do 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
```

**Cenário 3 — JADX-GUI em execução em uma máquina diferente (por exemplo, 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
```

**Cenário 4 — Configuração remota completa (tudo em máquinas diferentes):**
```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]
> ### ⚠️ Aviso de Segurança — Vinculação Remota
>
> Ao usar `--host 0.0.0.0` (ou qualquer endereço que não seja localhost), o servidor MCP vincula-se a **todas as interfaces de rede** sobre **HTTP simples sem autenticação**. Isso significa:
>
> - **Qualquer pessoa na rede** pode conectar-se e invocar todas as ferramentas MCP
> - **Não há criptografia TLS** — o tráfego pode ser interceptado
> - Um atacante pode usar o servidor para **ler código descompilado**, **renomear classes/métodos** e **acessar informações de depuração**
>
> **Mitigações:**
> - Vincule a `0.0.0.0` apenas em **redes confiáveis e isoladas** (por exemplo, bridge do Docker, VM local)
> - Use um **firewall** para restringir o acesso à porta MCP
> - Considere usar um **túnel SSH** em vez disso: `ssh -L 8651:127.0.0.1:8651 remote-host`

### Compatibilidade com o Modo Stdio

> [!NOTE]
> Ao executar no modo **stdio** (o padrão, sem `--http`), toda a saída legível por humanos (banner, verificação de integridade) é gravada em **stderr** para manter o **stdout** reservado ao fluxo JSON-RPC do MCP. Isso garante compatibilidade com Codex, Claude Desktop e outros clientes MCP baseados em stdio.

## 6. Configuração personalizada de porta e host para o Plugin JADX AI MCP

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

1. Configurar Porta: Configure a porta na qual o Plugin JADX AI MCP escutará.
2. Porta Padrão: Reverta as alterações e escute na porta padrão.
3. Reiniciar Servidor: Force a reinicialização do servidor do Plugin JADX AI MCP.
4. Status do Servidor: Verifique o status do servidor do Plugin JADX AI MCP.

Para conectar-se ao Plugin JADX AI MCP em execução em uma porta personalizada, a opção `--jadx-port` será usada conforme mostrado a seguir:
```
uv run jadx_mcp_server.py --jadx-port 8652
```

Se o JADX AI MCP Plugin estiver em execução em uma **máquina diferente** (por exemplo, JADX em uma VM remota, servidor MCP no seu host local), use a opção `--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
```

### Referência da CLI — Entendendo as Flags

Existem **duas conexões separadas** e cada uma tem seu próprio 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 | Padrão | Controla |
|------|---------|----------|
| `--http` | desativado | Usar transporte HTTP em vez de stdio |
| `--host` | `127.0.0.1` | **Onde o servidor MCP escuta** (endereço de bind para clientes LLM) |
| `--port` | `8651` | **Em qual porta o servidor MCP escuta** |
| `--jadx-host` | `127.0.0.1` | **Onde encontrar o plugin JADX** (a máquina do JADX-GUI de destino) |
| `--jadx-port` | `8650` | **Em qual porta o plugin JADX está** |

### Exemplos de Uso

**Cenário 1 — Tudo na mesma máquina (mais comum):**
```bash
# Default: MCP server on localhost:8651, connects to JADX plugin on localhost:8650
uv run jadx_mcp_server.py --http
```

**Cenário 2 — Contêiner Docker ou WSL (servidor MCP acessível a partir da rede do 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
```

**Cenário 3 — JADX-GUI em execução em uma máquina diferente (por exemplo, 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
```

**Cenário 4 — Configuração remota completa (tudo em máquinas diferentes):**
```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
```

A configuração MCP para uma porta jadx personalizada será a seguinte para o claude:

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

## Experimente

1. Execute o jadx-gui e carregue qualquer arquivo .apk

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

2. Inicie o claude - Você deve ver o símbolo de martelo

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

3. Clique no símbolo de `martelo` e você deverá ver algo como o seguinte:

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

4. Execute o seguinte 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. Permita o acesso quando solicitado:

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

Este plugin permite controle total sobre a GUI e o modelo interno do projeto para oferecer suporte a uma integração mais profunda com LLMs, incluindo:

- Exportar a classe selecionada para o MCP
- Executar análise automatizada com Claude
- Receber sugestões de volta inline

---

## Solução de problemas

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

## NOTA Para Contribuidores

 - Os arquivos relacionados ao JADX-AI-MCP podem ser encontrados neste repositório.

 - Os arquivos relacionados ao **jadx-mcp-server** podem ser encontrados [aqui](https://github.com/zinja-coder/jadx-mcp-server).

## Para relatar bugs, problemas, sugestões de recursos, problemas de desempenho, dúvidas gerais, problemas de documentação.
 - Por favor, abra uma issue com o modelo correspondente.

 - Testado no Claude Desktop Client, o suporte para outras IAs será testado em breve!

## 🙏 Créditos

Este projeto é um plugin para o JADX, um incrível descompilador Android de código aberto criado e mantido por [@skylot](https://github.com/skylot). Toda a lógica central de descompilação pertence a eles. Eu apenas a estendi para dar suporte ao meu servidor MCP com capacidades de IA.

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

O README.md original do jadx está incluído aqui neste repositório para referência e crédito.

Este servidor MCP é possível graças à extensibilidade do JADX-GUI e à incrível comunidade de engenharia reversa Android.

Também um enorme agradecimento a [@aaddrick](https://github.com/aaddrick) por desenvolver o Claude desktop para Linux baseado em Debian.

E por último, agradecimentos a [@anthropics](https://github.com/anthropics) por desenvolver o Model Context Protocol e à equipe do [@FastMCP](https://github.com/modelcontextprotocol/python-sdk)

Além disso, um enorme agradecimento a todos os projetos de código aberto que servem como dependências para este projeto e que tornaram isso possível.

### Dependências

Este projeto utiliza as seguintes bibliotecas incríveis.

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

- MCP Server - Python
  - FastMCP - https://github.com/jlowin/fastmcp - Apache 2.0 License
  - httpx   - https://www.python-httpx.org      - BSD-3-Clause (“BSD licensed”)

---

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