/ ディレクトリ / プレイグラウンド / jadx-ai-mcp
● コミュニティ zinja-coder ⚡ 即起動

jadx-ai-mcp

作者 zinja-coder · zinja-coder/jadx-ai-mcp

JADX plugin for AI-powered Android APK analysis — decompile, search, rename, debug, and trace xrefs with LLM assistance.

jadx-ai-mcp is a JADX decompiler plugin that integrates with MCP to enable AI-assisted Android APK reverse engineering. It provides 25+ tools for code analysis (class/method browsing, smali access), resource inspection (AndroidManifest, strings), refactoring (rename classes, methods, fields, variables), debugging (stack frames, threads, variables), and cross-reference tracking. Works with Claude Desktop, Cherry Studio, and other MCP clients.

なぜ使うのか

主な機能

ライブデモ

実際の動作

jadx-ai-mcp.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "jadx-ai-mcp": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/zinja-coder/jadx-ai-mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "jadx-ai-mcp": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/zinja-coder/jadx-ai-mcp"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "jadx-ai-mcp": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/zinja-coder/jadx-ai-mcp"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "jadx-ai-mcp": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/zinja-coder/jadx-ai-mcp"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "jadx-ai-mcp",
      "command": "TODO",
      "args": [
        "See README: https://github.com/zinja-coder/jadx-ai-mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "jadx-ai-mcp": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/zinja-coder/jadx-ai-mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add jadx-ai-mcp -- TODO 'See README: https://github.com/zinja-coder/jadx-ai-mcp'

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: jadx-ai-mcp

How to analyze an Android APK with AI assistance using JADX

👤 Mobile security researchers analyzing APKs they have authorization to test ⏱ ~45 min intermediate

使うタイミング: You have an APK to analyze and want AI to help understand its behavior.

前提条件
  • JADX with jadx-ai-mcp plugin — jadx plugins --install 'github:zinja-coder:jadx-ai-mcp'
  • JADX MCP Server running — Set up the Python MCP server with uv
フロー
  1. Check the manifest
    Get the AndroidManifest.xml. What permissions does this app request and what components (activities, services, receivers) does it declare?✓ コピーしました
    → Parsed manifest with permission analysis
  2. Find interesting classes
    Search for classes related to network communication or encryption. List them with their methods.✓ コピーしました
    → Filtered class list with method signatures
  3. Analyze and rename
    Get the source code of the main network class. Rename obfuscated methods to descriptive names based on their behavior.✓ コピーしました
    → Decompiled code with meaningful names applied

結果: An annotated view of the APK with key functionality understood and obfuscation partially reversed.

注意点
  • Heavily obfuscated apps resist decompilation — Use get_smali_of_class for bytecode-level analysis when decompilation fails
組み合わせ: filesystem

Debug an Android app with AI-assisted breakpoint analysis

👤 Android developers and security researchers debugging app behavior ⏱ ~30 min advanced

使うタイミング: You need to understand runtime behavior that isn't clear from static analysis.

前提条件
  • JADX configured for debugging — Connect JADX debugger to a running Android app or emulator
フロー
  1. Set breakpoints and inspect
    I'm debugging the login flow. Show me the current stack frames and local variables at the authentication method.✓ コピーしました
    → Stack trace with variable values at the breakpoint

結果: Runtime understanding of app behavior at critical code points.

注意点
  • App detects debugger and exits — Look for anti-debugging checks in the code and bypass them before attaching

組み合わせ

他のMCPと組み合わせて10倍の力を

jadx-ai-mcp + filesystem

Export decompiled and annotated code for documentation

Export the decompiled source of the authentication module and save it to ~/analysis/auth-module.java.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
fetch_current_class none Get the currently selected class source code 0
search_classes_by_keyword keyword: str Find classes matching a keyword 0
get_android_manifest none Retrieve the AndroidManifest.xml 0
rename_class old_name: str, new_name: str Rename an obfuscated class 0
xrefs_to_method class_name: str, method_name: str Find all references to a method 0
get_smali_of_class class_name: str Get Dalvik bytecode (smali) for a class 0
debug_get_stack_frames none Get current debugger stack frames 0

コストと制限

運用コスト

APIクォータ
N/A — fully local
呼び出しあたりのトークン
200–2000 tokens per tool call
金額
Free — both JADX and the plugin are open source
ヒント
Use search_classes_by_keyword to narrow targets before fetching full class sources.

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: N/A
データ送信先: All analysis is local. No network calls from the MCP server.

トラブルシューティング

よくあるエラーと対処法

Plugin not loading in JADX

Ensure JADX version is compatible. Try reinstalling with: jadx plugins --install 'github:zinja-coder:jadx-ai-mcp'

確認: jadx plugins --list
MCP server connection failed

Ensure the JADX MCP Server is running and the port matches your client config.

確認: Check the server terminal for startup messages
Class not found in search

Obfuscated names may not match your search. Try broader patterns or search by method signatures.

確認: get_all_classes to see available class names

代替案

jadx-ai-mcp 他との比較

代替案代わりに使う場面トレードオフ
jadx-mcp-serverYou only need the MCP server component without the JADX pluginServer-only — still needs the jadx-ai-mcp plugin in JADX
GhidrAssistMCPYou want to analyze native binaries rather than Android Dalvik bytecodeNative binary focus vs Android-specific tools

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る