Jadx MCP Plugin
Un complemento Java que expone la API del descompilador Jadx a través de HTTP para la interacción con clientes MCP.
Documentación
⚙️ Jadx MCP Plugin — Acceso al Decompilador para Claude vía MCP
Este proyecto proporciona un plugin de Jadx escrito en Java, que expone la API de Jadx a través de HTTP — permitiendo la interacción en vivo mediante clientes MCP como Claude a través del Model Context Protocol (MCP). Un adaptador ligero de FastMCP en Python actúa como puente entre Claude y el plugin. 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 de aplicaciones Android asistido por IA.
🧰 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
🧠 Configuración de la Integración con el Cliente MCP de Claude
Para usar este adaptador en Claude Desktop, ve a File -> Settings -> Developer -> Edit Config -> claude_desktop_config.json y añade un servidor MCP que apunte al ejecutable de Python en el venv (para evitar problemas de dependencias) y a la ruta completa del adaptador siguiendo los siguientes ejemplos:
Windows:
{
"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.
Después del reinicio debería verse así:

✅ Flujo de Uso
-
Abre Jadx con el último JAR del plugin desde los lanzamientos colocado en su carpeta
plugins/o cárgalo mediantePlugins->install plugin. -
Carga un archivo APK o DEX
-
(Opcional) Puedes especificar la dirección de la interfaz HTTP iniciando Jadx con:
jadx-gui -Pjadx-mcp.http-interface=http://localhost:8085Esto es útil si deseas cambiar el host/puerto predeterminado (
http://localhost:8085).Nota: Si cambias la dirección de la interfaz aquí, asegúrate de actualizar también la URL correspondiente en
fastmcp_adapter.pypara que coincida. -
Claude detectará y activará las herramientas del Servidor MCP de Jadx.
-
Ahora puedes listar clases, obtener código fuente, inspeccionar métodos/campos y extraer código en vivo.
🧪 Herramientas Proporcionadas
| Herramienta | Descripción |
|---|---|
list_all_classes | Obtener todos los nombres de clases descompiladas |
search_class_by_name | Encontrar clases que coincidan con una cadena |
get_class_source | Obtener el código fuente completo de una clase dada |
search_method_by_name | Encontrar métodos que coincidan con una cadena |
get_methods_of_class | Listar todos los nombres de métodos en una clase |
get_fields_of_class | Listar todos los nombres de campos en una clase |
get_method_code | Extraer código descompilado para un método |
🛠 Desarrollo
☕ Plugin Java
El plugin de Java se encuentra en:
plugin/src/main/java/com/mobilehackinglab/jadxplugin/McpPlugin.java
Utiliza la API de JadxPlugin (jadx.api.*) para:
- Cargar clases y métodos descompilados
- Servir datos estructurados mediante un servidor HTTP integrado
- Responder a los endpoints
/invokey/tools
🚀 Instalación Automatizada con Tareas de Gradle
Puedes usar la siguiente tarea de Gradle para compilar e instalar el plugin en un solo paso:
./gradlew installPlugin
Esto utiliza la CLI de
jadx plugins. Asegúrate de que Jadx esté instalado y disponible en tuPATH.
Para otras tareas relacionadas con el plugin (desinstalar, habilitar/deshabilitar), consulta las definiciones de tareas en plugin/build.gradle.
🔧 Instalación Manual
Para compilar el plugin:
./gradlew build
# Output: plugin/build/libs/jadx-mcp-plugin-<version>.jar
Instala el JAR del plugin usando la CLI de jadx plugins:
jadx plugins --install-jar path/to/jadx-mcp-plugin-<version>.jar
Alternativamente, coloca el archivo .jar compilado en tu carpeta plugins/ de Jadx, normalmente ubicada en: ~/.jadx/plugins/
Si colocas el JAR manualmente, también necesitarás habilitar el plugin a través de la interfaz gráfica de Jadx o ejecutando:
jadx plugins --enable jadx-mcp
Adaptador Python FastMCP
El archivo del adaptador es:
fastmcp_adapter.py
Traduce las llamadas a herramientas MCP de Claude en POSTs HTTP al servidor del plugin de Jadx en ejecución. Asegúrate de que Jadx esté abierto antes de iniciar Claude.
🤝 Contribuciones
¡Se aceptan PRs, solicitudes de funciones y extensiones de herramientas!
Este proyecto es mantenido por Mobile Hacking Lab.