hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Enables control and interaction with Android devices through ADB, including device management, file system access, app installation, UI automation, system analysis, and debugging features.
Integrates with GitHub for repository management, allowing users to clone the DroidMind repository and contribute through GitHub's pull request workflow.
Integrates with Ko-fi for donations, allowing users to support the project creator by purchasing energy drinks.
✨ ドロイドマインド 🤖
モデルコンテキストプロトコルを介してAIでAndroidデバイスを制御する
DroidMindは、AIアシスタントとAndroidデバイスをつなぐ強力な架け橋であり、自然言語による制御、デバッグ、システム分析を可能にします。Model Context Protocol(MCP)を実装することで、DroidMindはAIモデルがADBを介してAndroidデバイスと安全かつ構造化された方法で直接やり取りすることを可能にします。エージェントコーディングワークフローの一部としてDroidMindを使用することで、アシスタントはデバイスを直接操作しながらビルドとデバッグを行うことができます。
💫 機能
- 📱デバイスコントロール- USBまたはTCP/IP経由でデバイスに接続し、シェルコマンドを実行し、再起動します
- 📊システム分析- デバイスのプロパティを検査し、ハードウェア情報を表示し、システムログを分析します
- 🔍ファイルシステムアクセス- ディレクトリの内容を参照し、デバイス上のファイルを管理します
- 📷ビジュアル診断- 分析とデバッグのためにデバイスのスクリーンショットをキャプチャします
- 📦アプリ管理- 接続されたデバイスでのアプリのインストール、アンインストール、起動、停止、データの消去
- 🔄マルチデバイスサポート- 複数の接続されたデバイスを制御および切り替え
- 👆 UI オートメーション- タップ、スワイプ、テキスト入力、キーの押下を通じてデバイスを操作します
- 🔍アプリ検査- アプリのマニフェスト、共有設定、アプリ固有のログを表示
- 🔒セキュリティフレームワーク- 包括的なコマンド検証でデバイスを保護
- 💬 MCP 統合- Claude、Cursor、Cline などへのシームレスな接続
🚀 インストール
📋 前提条件
- Python 3.13以上
- USBデバッグが有効になっているAndroidデバイス
- ADB (Android Debug Bridge) がインストールされ、PATH に設定されている
- UV パッケージ マネージャー (依存関係管理に推奨)
- ネットワーク制御の場合: ADB over TCP/IP が有効になっている Android デバイス
🔮 クイックスタート
DroidMindサーバーを実行する
DroidMind をサーバーとして実行し、MCP 経由で AI アシスタントを接続します。
AIアシスタントと併用する
- DroidMind を SSE モードで起動します。Copy
- MCP プロトコル URI を使用して AI アシスタントを接続します。Copy
- AI が自然言語を通じて Android デバイスを制御できるようになりました。
🛠️ 利用可能な MCP リソースとツール
リソース
devices://list
- 接続されているすべてのデバイスを一覧表示しますdevice://{serial}/properties
- 詳細なデバイスプロパティを取得するlogs://{serial}/logcat
- デバイスから最新のログを取得しますlogs://{serial}/anr
- アプリケーション応答なし (ANR) のトレースを取得しますlogs://{serial}/crashes
- アプリケーションのクラッシュログを取得するlogs://{serial}/battery
- バッテリーの統計と履歴を取得しますlogs://{serial}/app/{package}
- アプリケーション固有のログを取得するfs://{serial}/list/{path}
- デバイス上のディレクトリの内容を一覧表示しますfs://{serial}/read/{path}
- デバイスからファイルの内容を読み取りますfs://{serial}/stats/{path}
- 詳細なファイル/ディレクトリ統計情報を取得しますapp://{serial}/{package}/manifest
- AndroidManifest.xml の内容を取得しますapp://{serial}/{package}/data
- アプリのデータディレクトリ内のファイルを一覧表示しますapp://{serial}/{package}/shared_prefs
- アプリの共有設定を取得する
ツール
devicelist
- 接続されているすべての Android デバイスを一覧表示しますdevice_properties
- 特定のデバイスの詳細なプロパティを取得しますdevice_logcat
- デバイスから最新の logcat 出力を取得するlist_directory
- デバイス上のディレクトリの内容を一覧表示するconnect_device
- TCP/IP経由でデバイスに接続するdisconnect_device
- Androidデバイスから切断するshell_command
- デバイス上でシェルコマンドを実行するinstall_app
- デバイスにAPKをインストールするuninstall_app
- デバイスからアプリをアンインストールするstart_app
- デバイス上でアプリを起動するstop_app
- デバイス上のアプリを強制停止するclear_app_data
- アプリのデータとキャッシュを消去するlist_packages
- デバイスにインストールされているパッケージを一覧表示しますget_app_manifest
- アプリの AndroidManifest.xml の内容を取得するget_app_permissions
- アプリが要求した権限を取得するget_app_activities
- アプリで定義されたアクティビティを取得するget_app_info
- アプリの詳細情報を取得するreboot_device
- デバイスを再起動します(通常、リカバリ、またはブートローダー)screenshot
- デバイスからスクリーンショットを取得するcapture_bugreport
- デバイスから包括的なバグレポートを生成しますdump_heap
- メモリ分析のために実行中のプロセスからヒープダンプを作成するpush_file
- デバイスにファイルをアップロードするpull_file
- デバイスからファイルをダウンロードするdelete_file
- デバイスからファイルまたはディレクトリを削除するcreate_directory
- デバイス上にディレクトリを作成するfile_exists
- デバイス上にファイルが存在するかどうかを確認するread_file
- デバイス上のファイルの内容を読み取るwrite_file
- デバイス上のファイルにテキストコンテンツを書き込むfile_stats
- ファイルまたはディレクトリに関する詳細情報を取得しますtap
- 特定の座標でデバイス画面をタップしますswipe
- 画面上のある点から別の点へスワイプするジェスチャを実行しますinput_text
- キーボードから入力するのと同じようにデバイス上でテキストを入力しますpress_key
- ハードウェアキーまたはソフトウェアキー(例:HOME、BACK、VOLUME)を押しますstart_intent
- Androidインテントを使用してアプリアクティビティを開始する
📊 AIアシスタントクエリの例
AI アシスタントを DroidMind に接続して、次のクエリを試してください。
- 「接続されているすべての Android デバイスを一覧表示し、そのプロパティを表示します」
- 「192.168.1.100 で携帯電話に接続し、バッテリーの状態を確認してください」
- 「Pixel のスクリーンショットを撮って、現在画面に表示されているものを見せてください」
- 「デバイスの空きストレージ容量を確認してください」
- 「デバイスのANRトレースとクラッシュログを表示してください」
- 「最近のログを見て、エラーがあれば教えてください」
- 「このAPKファイルをデバイスにインストールして、成功したかどうか教えてください」
- 「携帯電話にインストールされているすべてのアプリのリストを表示してください」
- 「デバイスをリカバリモードで再起動する」
- 「私の携帯電話で実行されている Android のバージョンは何ですか?」
- 「デバイスがルート化されているかどうかを確認し、セキュリティパッチレベルを教えてください」
- 「com.android.settings のマニフェストファイルを表示してください」
- 「アプリの共有設定を確認してください」
- 「座標500,1000にある設定アイコンをタップしてください」
- 「画面上部から下にスワイプして通知シェードを開きます」
- 「現在のテキストフィールドにパスワードを入力してください」
- 「ホーム画面に戻るには、戻るボタンを3回押します」
- 「com.android.settings パッケージを起動して設定アプリを開きます」
🔒 セキュリティ機能
DroidMind には、AI アシスタントの表現力を維持しながらデバイスを保護する包括的なセキュリティ フレームワークが含まれています。
- コマンド検証: すべてのシェルコマンドは安全なコマンドの許可リストに対して検証されます。
- リスク評価: コマンドはリスクレベル (安全、低、中、高、重大) 別に分類されます。
- コマンドサニタイズ: コマンドインジェクション攻撃を防ぐために入力がサニタイズされます
- 保護されたパス: システムディレクトリと重要なパスは変更から保護されています
- 包括的なログ記録: すべてのコマンドは監査のためにリスクレベルとともにログに記録されます。
- 疑わしいパターンの検出: 潜在的に危険なパターンを持つコマンドはブロックされます
- ADBコマンドセキュリティ:適切な非同期検証によるADB固有のコマンドの特別な処理
セキュリティシステムは、破壊的な操作を防ぎながら、一般的な操作は許可できる程度に許容されるように設計されています。リスクの高いコマンドは実行前にユーザーに警告を表示し、重要な操作は明示的なオーバーライドなしに完全にブロックされます。
💻 開発
DroidMind は、依存関係管理と開発ワークフローに UV を使用します。UV は、高速で信頼性の高い Python パッケージマネージャーおよびリゾルバーです。
🤝 貢献する
貢献を歓迎します!お気軽にプルリクエストを送信してください。
- リポジトリをフォークする
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature
) - UVで開発環境をセットアップする
- 変更を加える
- テストとリンティングを実行する
- 変更をコミットします (
git commit -m 'Add some amazing feature'
) - ブランチにプッシュする (
git push origin feature/amazing-feature
) - プルリクエストを開く
📝 ライセンス
このプロジェクトは Apache ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。
DroidMind が役に立つと思ったら、 Monster Ultra Violet を買ってください⚡️
You must be authenticated.
Tools
AI アシスタントが Android デバイスを制御および操作できるようにするモデル コンテキスト プロトコル (MCP) サーバー。これにより、自然言語コマンドによるデバイス管理、アプリのデバッグ、システム分析、UI 自動化が可能になります。
- 💫 Features
- 🚀 Installation
- 📋 Prerequisites
- 🔮 Quick Start
- 🛠️ Available MCP Resources and Tools
- 📊 Example AI Assistant Queries
- 🔒 Security Features
- 💻 Development
- 🤝 Contributing
- 📝 License