Jadx MCP Server

by mobilehackinglab
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

⚙️ Complemento MCP de Jadx: acceso al descompilador para Claude a través de MCP

Este proyecto proporciona un complemento Jadx escrito en Java que expone la API de Jadx a través de HTTP , lo que permite la interacción en vivo con clientes MCP como Claude mediante el Protocolo de Contexto de Modelo (MCP) . Un adaptador FastMCP ligero en Python actúa como puente entre Claude y el complemento. Esto permite la navegación inteligente y la automatización de flujos de trabajo de ingeniería inversa, ideal para el análisis de seguridad asistido por IA de aplicaciones Android.


🧰 Instrucciones de configuración

# Clone this repository git clone https://github.com/mobilehackinglab/jadx-mcp-plugin.git cd jadx-mcp-plugin # Create and activate a virtual environment python3 -m venv venv # Activate: source venv/bin/activate # Linux/Mac .\venv\Scripts\activate # Windows

Instalar dependencias de Python

pip install -r requirements.txt

🧠 Configurar la integración del cliente Claude MCP

Para usar este adaptador en Claude Desktop, vaya a File -> Settings -> Developer -> Edit Config -> claude_desktop_config.json y agregue un servidor MCP que apunte al ejecutable de Python en venv (para evitar problemas de dependencia) y la ruta completa del adaptador siguiendo los siguientes ejemplos:

Ventanas:

{ "mcpServers": { "Jadx MCP Server": { "command": "C:\\Workset\\jadx-mcp-plugin\\venv\\Scripts\\python.exe", "args": ["C:\\Workset\\jadx-mcp-plugin\\fastmcp_adapter.py"] } } }

MacOS/Linux:

{ "mcpServers": { "Jadx MCP Server": { "command": "/Users/yourname/jadx-mcp-plugin/venv/bin/python", "args": ["/Users/yourname/jadx-mcp-plugin/fastmcp_adapter.py"] } } }

Asegúrate de reiniciar (Salir) Claude después de editar la configuración. Tras reiniciar, debería verse así:

✅ Flujo de uso

  1. Abra Jadx con el último JAR del complemento de las versiones ubicadas en su carpeta plugins/ o cárguelo a través de Plugins -> install plugin .
  2. Cargar un archivo APK o DEX
  3. (Opcional) Puede especificar la dirección de la interfaz HTTP iniciando Jadx con:
    jadx-gui -Pjadx-mcp.http-interface=http://localhost:8085
    Esto es útil si desea cambiar el host/puerto predeterminado ( http://localhost:8085 ).

    Nota: Si cambia la dirección de la interfaz aquí, asegúrese de actualizar también la URL correspondiente en fastmcp_adapter.py para que coincida.

  4. Claude detectará y activará las herramientas del servidor Jadx MCP.
  5. Ahora puedes enumerar clases, obtener código fuente, inspeccionar métodos/campos y extraer código en vivo.

🧪 Herramientas proporcionadas

HerramientaDescripción
list_all_classesObtener todos los nombres de clases descompilados
search_class_by_nameBuscar clases que coincidan con una cadena
get_class_sourceObtener el código fuente completo de una clase determinada
search_method_by_nameBuscar métodos que coincidan con una cadena
get_methods_of_classEnumerar todos los nombres de métodos en una clase
get_fields_of_classEnumerar todos los nombres de campos en una clase
get_method_codeExtraer código descompilado para un método

🛠 Desarrollo

☕ Complemento de Java

El complemento de Java se encuentra en:

plugin/src/main/java/com/mobilehackinglab/jadxplugin/McpPlugin.java

Utiliza la API JadxPlugin ( jadx.api.* ) para:

  • Cargar clases y métodos descompilados
  • Sirva datos estructurados a través de un servidor HTTP integrado
  • Responder a los puntos finales /invoke y /tools

🚀 Instalación automatizada con tareas de Gradle

Puede utilizar la siguiente tarea de Gradle para crear e instalar el complemento en un solo paso:

./gradlew installPlugin

Esto usa la CLI jadx plugins . Asegúrate de que Jadx esté instalado y disponible en tu PATH .

Para otras tareas relacionadas con el complemento (desinstalar, habilitar/deshabilitar), consulte las definiciones de tareas en plugin/build.gradle .

🔧 Instalación manual

Para crear el complemento:

./gradlew build # Output: plugin/build/libs/jadx-mcp-plugin-<version>.jar

Instale el JAR del complemento usando la CLI jadx plugins :

jadx plugins --install-jar path/to/jadx-mcp-plugin-<version>.jar

Alternativamente, coloque el archivo .jar compilado en su carpeta Jadx plugins/ , generalmente ubicada en: ~/.jadx/plugins/

Si coloca el JAR manualmente, también deberá habilitar el complemento a través de la GUI de Jadx o ejecutando:

jadx plugins --enable jadx-mcp

Adaptador FastMCP de Python

El archivo del adaptador es:

fastmcp_adapter.py

Traduce las llamadas a la herramienta MCP de Claude a HTTP POST para el servidor de plugins de Jadx en ejecución. Asegúrate de que Jadx esté abierto antes de iniciar Claude.


🤝 Contribuyendo

¡Las relaciones públicas, las solicitudes de funciones y las extensiones de herramientas son bienvenidas!
Este proyecto es mantenido por Mobile Hacking Lab .


Créditos

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor que expone la API del descompilador Jadx a través de HTTP, lo que permite a Claude interactuar con el código Java/Android descompilado para enumerar clases, obtener el código fuente, inspeccionar métodos/campos y extraer código en vivo.

  1. 🧰 Setup Instructions
    1. Install Python dependencies
      1. 🧠 Setup Claude MCP CLient Integration
        1. ✅ Usage Flow
          1. 🧪 Tools Provided
            1. 🛠 Development
              1. ☕ Java Plugin
              2. Python FastMCP Adapter
            2. 🤝 Contributing
              1. 🧩 Credits
                ID: v44v7i9np4