JADX-AI-MCP DocumentationΒΆ
Welcome to the comprehensive documentation for JADX-AI-MCP, an AI-powered Android reverse engineering toolkit that bridges JADX decompiler with Large Language Models through the Model Context Protocol.
What is JADX-AI-MCP?ΒΆ
JADX-AI-MCP is a sophisticated reverse engineering solution consisting of two tightly integrated components:
- JADX-AI-MCP Plugin (Java) - A JADX-GUI plugin that exposes the decompiler's functionality through a local HTTP API
- JADX-MCP-Server (Python) - An MCP server that translates HTTP endpoints into MCP tools consumable by AI assistants
Together, these components enable real-time, AI-assisted Android application analysis, vulnerability detection, and code understanding.
Key FeaturesΒΆ
Advanced Analysis CapabilitiesΒΆ
- Real-time Code Review: AI analyzes decompiled code as you navigate
- Cross-Reference Analysis: Track method/class/field usage across entire codebases
- Resource Extraction: Access manifests, strings, layouts, and resources
- Smali Analysis: Low-level bytecode inspection for deep analysis
Security & Reverse EngineeringΒΆ
- Vulnerability Detection: Automated SAST (Static Application Security Testing)
- Malware Analysis: Behavioral pattern detection and C2 identification
- Obfuscation Analysis: Systematic deobfuscation workflows
- Permission Auditing: Identify overprivileged and unused permissions
Development AssistanceΒΆ
- Intelligent Refactoring: AI-assisted renaming of obfuscated classes, methods, fields, variables, and packages
- Debug Integration: Runtime variable inspection and stack trace analysis
- Pagination Support: Efficient handling of large APKs (10,000+ classes)
- Multi-Client Support: Works with Claude, Cherry Studio, LM Studio, Codex
- Remote Access: Docker, WSL, and remote VM support via
--hostbinding
Architecture OverviewΒΆ
graph TB
subgraph "User Layer"
A[User] -->|Natural Language| B[LLM Client]
end
subgraph "MCP Layer"
B -->|MCP Protocol| C[MCP Server Python]
C -->|Tool Invocation| D[FastMCP Framework]
end
subgraph "Integration Layer"
D -->|HTTP Request| E[JADX Plugin Server]
E -->|Javalin Routes| F[Route Handlers]
end
subgraph "Analysis Layer"
F -->|JADX API| G[JADX Wrapper]
G -->|Query| H[Decompiled Code]
G -->|Query| I[Resources]
G -->|Query| J[Debug Info]
end
H -->|Response| F
I -->|Response| F
J -->|Response| F
Network ArchitectureΒΆ
There are two separate connections in the system:
βββββββββββββββ --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 β β
βββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
Quick StartΒΆ
PrerequisitesΒΆ
| Component | Version Required | Purpose |
|---|---|---|
| Java | 11+ | JADX Plugin runtime |
| Python | 3.10+ | MCP Server runtime |
| JADX | 1.5.1+ (r2333+) | Decompilation engine |
| UV | Latest | Python package manager |
Installation (5 minutes)ΒΆ
# Step 1: Install JADX Plugin
jadx plugins --install "github:zinja-coder:jadx-ai-mcp"
# Step 2: Download MCP Server
wget https://github.com/zinja-coder/jadx-ai-mcp/releases/latest/download/jadx-mcp-server.zip
unzip jadx-mcp-server.zip
# Step 3: Install UV
curl -LsSf https://astral.sh/uv/install.sh | sh
# Step 4: Run MCP Server
cd jadx-mcp-server
uv run jadx_mcp_server.py
# Step 5: Configure Claude Desktop
# Edit: ~/.config/Claude/claude_desktop_config.json
See Installation Guide for detailed instructions.
π Documentation StructureΒΆ
For UsersΒΆ
- Installation Guide - Complete setup for all platforms
- User Guide - Workflows, prompts, and best practices
- Examples - Real-world analysis scenarios
For DevelopersΒΆ
- API Reference - Complete tool documentation with examples
- Architecture - System design and component interaction
- Python Module Reference - Server-side code documentation
- Java Plugin Reference - Plugin internals and extension points
SupportΒΆ
- Troubleshooting - Common issues and solutions
- Contributing - Development guidelines
π§ Tool CategoriesΒΆ
Class Analysis Tools (10 tools)ΒΆ
Tools for analyzing decompiled Java classes, methods, and fields.
β View Class Tools
Search Tools (3 tools)ΒΆ
Full-text search across classes, methods, and code with advanced scope filtering.
Resource Tools (5 tools)ΒΆ
Access to AndroidManifest components, strings, layouts, and resources.
Cross-Reference Tools (3 tools)ΒΆ
Track usage of classes, methods, and fields across codebase.
β View Xref Tools
Refactoring Tools (5 tools)ΒΆ
Rename classes, methods, fields, variables, and packages.
Debug Tools (3 tools)ΒΆ
Runtime analysis during JADX debugging sessions.
β View Debug Tools
π Security & PrivacyΒΆ
- Secure Defaults: Server binds to
127.0.0.1only β remote access must be explicitly enabled - No Authentication: When binding to non-localhost with
--host 0.0.0.0, traffic is unencrypted and unauthenticated β use only on trusted networks - Proxy Isolation: Internal HTTP requests use
trust_env=Falseto prevent proxy interception - No Data Collection: No telemetry or usage tracking
- Stdio Safety: Banner and health check output goes to stderr to prevent JSON-RPC stream pollution
- Open Source: Fully auditable codebase
Remote Binding
When using --host 0.0.0.0, the MCP server is accessible to anyone on the network over plain HTTP. Use a firewall or SSH tunnel for remote access.
Supported PlatformsΒΆ
| Platform | Plugin Support | Server Support | Status |
|---|---|---|---|
| Linux | β Full | β Full | Tested |
| macOS | β Full | β Full | Tested |
| Windows | β Full | β Full | Tested |
π€ Community & SupportΒΆ
- GitHub Issues: Report bugs
- GitHub Discussions: Ask questions
π LicenseΒΆ
Apache License 2.0 - See LICENSE
AcknowledgmentsΒΆ
- JADX Project: @skylot - Amazing decompiler
- Anthropic: Model Context Protocol development
- FastMCP: @jlowin - Python MCP framework
Next StepsΒΆ
- New Users: Start with Installation
- Quick Demo: See Examples
- API Exploration: Browse API Reference
- Contributing: Read Contributing Guide
Current Version: 6.3.0 | Last Updated: March 2026