๐ฑ Fork of zinja-coder/jadx-ai-mcp
โก Let AI directly analyze Android APKs and Java JARs via JADX + MCP protocol.
This fork provides major enhancements over the original project:
| Feature | Description |
|---|---|
| ๐ Smart Batch Optimization | 4-tier strategy avoids 60-120s wasted decompilation. Auto-chunks large responses (>8KB). |
| ๐ Transfer API | Bypass MCP's ~16KB limit via HTTP download. Tested with 322K classes. |
| ๐ผ Full JVM Support | APK, JAR, AAR, DEX all supported. 5 JAR-specific tools (manifest, entry points, dependencies, services, bytecode). |
| โก ClassCacheManager | 10-50x faster repeated analysis with background caching and auto-invalidation. |
| ๐ณ All-in-One Docker | One command deploys GUI + AI server. Multi-platform (amd64/arm64). |
๐ 30+ bilingual guides covering deployment, tools, troubleshooting, and AI testing prompts.
Prerequisites: Docker installed and running.
Step 1: Start the server
docker run -d --name jadx -p 6080:6080 -p 8651:8651 -v ~/apks:/apks xjoker/jadx-ai-mcp:latestVerify the server is healthy:
curl http://localhost:8651/health
# Expected: {"status": "ok", ...}Step 2: Load a file
Open http://localhost:6080 in your browser. Put your APK/JAR in ~/apks/ and open it in JADX.
๐ก Auto-load: Name your file
target.apk,target.jar,target.aar, ortarget.dexโ JADX loads it automatically on startup.
โ ๏ธ You MUST load a file in JADX before AI can connect. The plugin only initializes after loading a file.
Step 3: Connect your AI client
The default MCP authentication token is admin-secret-token.
Claude Code (one command)
claude mcp add --transport http jadx http://localhost:8651/mcp \
--header "Authorization:Bearer admin-secret-token"OpenAI Codex CLI
Add to ~/.codex/config.toml:
[mcp_servers.jadx]
url = "http://localhost:8651/mcp"
http_headers = { Authorization = "Bearer admin-secret-token" }Verify: codex mcp list
Claude Desktop
Add to your config file:
{
"mcpServers": {
"jadx": {
"type": "http",
"url": "http://localhost:8651/mcp",
"headers": {
"Authorization": "Bearer admin-secret-token"
}
}
}
}Cursor / Other MCP Clients
Add to .cursor/mcp.json or your client's MCP config:
{
"mcpServers": {
"jadx": {
"type": "http",
"url": "http://localhost:8651/mcp",
"headers": {
"Authorization": "Bearer admin-secret-token"
}
}
}
}See AI Client Configuration for full details.
โ ๏ธ Default Credentials โ change before production use! See Security Policy.
Token Default Value MCP Admin Token admin-secret-tokenJADX Plugin Token jadx-plugin-secret-tokenOverride via environment variables or
jadx-config.toml.
| Document | Description |
|---|---|
| Introduction | Understand core concepts, capabilities, use cases |
| System Architecture | Three-tier design, port reference, component communication |
| 5-Minute Quick Start | One-command Docker deployment |
| Document | Description |
|---|---|
| Docker Complete Guide | Single container, multi-container, standalone MCP Server |
| Docker Compose | Multi-instance setup (team collaboration, version comparison) |
| Local Installation | Without Docker |
| Document | Description |
|---|---|
| AI Client Configuration | Claude, Cursor, Continue, etc. |
| Multi-Instance Management | Parallel analysis of multiple APKs |
| AI Testing Prompts | Automated testing templates |
| Document | Description |
|---|---|
| Tools Reference | Complete 39 MCP tools matrix |
| Configuration Reference | All configuration options |
| Security Policy | Authentication, permissions, SSRF protection |
| Document | Description |
|---|---|
| Common Issues | FAQ + Windows/Linux/macOS specific issues |
| Changelog | Version history |
Install specialized analysis skills for Claude Code, Cursor, and other AI assistants:
# Install all skills
npx skills add xjoker/jadx-ai-mcp
# Install specific skill
npx skills add xjoker/jadx-ai-mcp --skill security-audit6 available skills: quickstart, logic-tracing, security-audit, crypto-analysis, frida-hooks, refactoring
See Introduction - AI Skills System for details.
- Original project: @zinja-coder
- JADX decompiler: skylot/jadx
Apache 2.0 - See LICENSE
Note: Source files keep development placeholder versions. GitHub Actions injects the release version into build artifacts,
pom.xml, the Java banner, and the Python server banner during release builds.