Jadx Mcp Plugin について
Jadx MCP Plugin は、Jadx API を HTTP 経由で公開する Jadx プラグインです。Python の FastMCP アダプターが Claude などの MCP クライアントと接続します。Android アプリをAIで支援しながら解析したいリバースエンジニアリング担当者に向けたプロジェクトです。
主な機能
- 01Jadx API の HTTP 公開
- 02FastMCP アダプターによる MCP クライアント接続
- 03クラス一覧表示とソース取得
- 04メンバーの確認
- 05個別メソッドの逆コンパイルコード抽出
活用シーン
- 01Claude から APK や DEX の逆コンパイル済みクラスを参照
- 02クラス名やメソッド名の検索による解析対象の特定
- 03セキュリティレビュー用のメソッドコード抽出
MCP 対応
本プロジェクトは MCP サーバーです。FastMCP アダプターが list_all_classes、get_class_source、get_method_code などの 7 つのツールを Claude などの MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
⚙️ Jadx MCP プラグイン — MCP 経由で Claude から逆コンパイラーにアクセス
このプロジェクトでは、Java で記述された Jadx プラグインを提供しています。このプラグインは Jadx API を HTTP 経由で公開し、Model Context Protocol (MCP) を通じて、Claude などの MCP クライアントからリアルタイムに操作できるようにします。Python 製の軽量な FastMCP アダプターが、Claude とプラグインの橋渡しをします。これにより、リバースエンジニアリングのワークフローをインテリジェントにナビゲートして自動化でき、Android アプリの AI 支援セキュリティ分析に最適です。
🧰 セットアップ手順
# 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
Python の依存関係をインストール
pip install -r requirements.txt
🧠 Claude MCP クライアント連携のセットアップ
Claude Desktop でこのアダプターを使用するには、File -> Settings -> Developer -> Edit Config -> claude_desktop_config.json の順に移動し、以下の例に従って、仮想環境内の Python 実行ファイル(依存関係の問題を防ぐため)とアダプターの完全なパスを指定する MCP サーバーを追加します。
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"]
}
}
}
設定を編集した後、Claude を再起動(終了)してください。
再起動後、次のように表示されます。

✅ 使用の流れ
-
リリースから最新のプラグイン JAR を入手して
plugins/フォルダーに配置するか、Plugins->install pluginから読み込み、Jadx を起動します。 -
APK または DEX ファイルを読み込みます
-
(任意)次のコマンドで Jadx を起動し、HTTP インターフェースのアドレスを指定できます。
jadx-gui -Pjadx-mcp.http-interface=http://localhost:8085これは、デフォルトのホスト/ポート(
http://localhost:8085)を変更したい場合に便利です。注: ここでインターフェースのアドレスを変更した場合は、
fastmcp_adapter.py内の対応する URL も一致するように更新してください。 -
Claude が Jadx MCP サーバーのツールを検出して有効化します。
-
クラスの一覧表示、ソースの取得、メソッド/フィールドの調査、コードのリアルタイム抽出ができるようになります。
🧪 提供されるツール
| ツール | 説明 |
|---|---|
list_all_classes | すべての逆コンパイル済みクラス名を取得 |
search_class_by_name | 文字列に一致するクラスを検索 |
get_class_source | 指定したクラスのソース全体を取得 |
search_method_by_name | 文字列に一致するメソッドを検索 |
get_methods_of_class | クラス内のすべてのメソッド名を一覧表示 |
get_fields_of_class | クラス内のすべてのフィールド名を一覧表示 |
get_method_code | メソッドの逆コンパイル済みコードを抽出 |
🛠 開発
☕ Java プラグイン
Java プラグインの場所:
plugin/src/main/java/com/mobilehackinglab/jadxplugin/McpPlugin.java
JadxPlugin API(jadx.api.*)を使用して、次の処理を行います。
- 逆コンパイル済みのクラスとメソッドを読み込む
- 組み込み HTTP サーバー経由で構造化データを提供する
/invokeおよび/toolsエンドポイントに応答する
🚀 Gradle タスクによる自動インストール
次の Gradle タスクを使うと、プラグインのビルドとインストールを一度に実行できます。
./gradlew installPlugin
これは
jadx pluginsCLI を使用します。Jadx がインストールされ、PATHから利用できることを確認してください。
アンインストール、有効化/無効化など、その他のプラグイン関連タスクについては、plugin/build.gradle のタスク定義を参照してください。
🔧 手動インストール
プラグインをビルドするには:
./gradlew build
# Output: plugin/build/libs/jadx-mcp-plugin-<version>.jar
jadx plugins CLI を使用してプラグイン JAR をインストールします。
jadx plugins --install-jar path/to/jadx-mcp-plugin-<version>.jar
または、ビルドした .jar ファイルを Jadx の plugins/ フォルダーに配置します。通常の場所は ~/.jadx/plugins/ です。
JAR を手動で配置した場合は、Jadx の GUI から、または次のコマンドを実行してプラグインを有効にする必要があります。
jadx plugins --enable jadx-mcp
Python FastMCP アダプター
アダプターファイルの場所:
fastmcp_adapter.py
このアダプターは、Claude の MCP ツール呼び出しを、実行中の Jadx プラグインサーバーへの HTTP POST リクエストに変換します。Claude を起動する前に Jadx を開いてください。
🤝 貢献
PR、機能リクエスト、ツールの拡張を歓迎します!
このプロジェクトは Mobile Hacking Lab がメンテナンスしています。
🧩 クレジット
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。