mcpField
A
ADB MCP Server

ADB MCP Server

ローカル
github.com/watabee開発ツール887 週間前に更新

ADB MCP Server について

ADB MCP Serverは、Android Debug Bridgeの操作をClaudeなどのMCPクライアントに提供し、接続済みAndroidデバイスの管理に使えます。デバイスやパッケージの確認、アプリと権限の管理、ファイル転送、スクリーンショット、アクティビティの起動に対応します。

主な機能

  1. 01接続済みデバイスの一覧表示
  2. 02インストール済みパッケージの絞り込み
  3. 03アプリのインストールと削除
  4. 04アプリ権限の管理
  5. 05ファイル転送と画面キャプチャ
  6. 06アクティビティ起動とADB管理

活用シーン

  1. 01接続デバイスとインストール済みアプリの確認
  2. 02テスト中のAPKのインストールや削除
  3. 03画面キャプチャとデバイスファイルの転送
  4. 04アプリ権限の変更やアクティビティの起動

MCP 対応

指定したAndroidデバイスやエミュレーターでADB操作を実行するMCPツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ADB MCP サーバー

Android Debug Bridge(ADB)用の MCP サーバーです。Claude が Android デバイスを操作できるようにします。

ツール

  1. get-devices

    • 接続されている Android デバイスを一覧表示します
    • 任意の入力:
      • showDetails(boolean、デフォルト:true):デバイスの詳細を表示します(-l)
    • 戻り値:詳細情報を含む、接続されているデバイスの一覧
  2. list-packages

    • デバイスにインストールされているパッケージを一覧表示します
    • 任意の入力:
      • showPath(boolean、デフォルト:false):APK ファイルのパスを表示します(-f)
      • showDisabled(boolean、デフォルト:false):無効なパッケージのみを表示します(-d)
      • showEnabled(boolean、デフォルト:false):有効なパッケージのみを表示します(-e)
      • showSystem(boolean、デフォルト:false):システムパッケージのみを表示します(-s)
      • showThirdParty(boolean、デフォルト:false):サードパーティパッケージのみを表示します(-3)
      • showInstaller(boolean、デフォルト:false):パッケージのインストーラーを表示します(-i)
      • includeUninstalled(boolean、デフォルト:false):アンインストールされたパッケージを含めます(-u)
    • 戻り値:指定されたフィルターに基づくパッケージの一覧
  3. input-text

    • デバイスにテキストを入力します
    • 必須の入力:
      • text(string):入力するテキスト
    • 戻り値:テキスト入力の確認
  4. install-apk

    • デバイスに APK ファイルをインストールします
    • 必須の入力:
      • apkPath(string):APK ファイルのパス
    • 任意の入力:
      • allowReinstall(boolean、デフォルト:true):再インストールを許可します(-r)
      • allowTestPackages(boolean、デフォルト:true):テストパッケージを許可します(-t)
      • allowDowngrade(boolean、デフォルト:true):ダウングレードを許可します(-d)
      • grantPermissions(boolean、デフォルト:false):すべての権限を付与します(-g)
    • 戻り値:インストール結果
  5. uninstall-apk

    • アプリケーションをアンインストールします
    • 必須の入力:
      • packageName(string):アンインストールするパッケージ名
    • 任意の入力:
      • keepData(boolean、デフォルト:false):アプリのデータとキャッシュを保持します(-k)
    • 戻り値:アンインストール結果
  6. clear-app-data

    • アプリケーションデータを消去します
    • 必須の入力:
      • packageName(string):データを消去するパッケージ名
    • 戻り値:操作結果
  7. pull

    • デバイスからファイルを取得します
    • 必須の入力:
      • remotePath(string):デバイス上のファイルのパス
    • 任意の入力:
      • localPath(string):ローカルの保存先パス
    • 戻り値:ファイル転送結果
  8. push

    • デバイスにファイルを転送します
    • 必須の入力:
      • localPath(string):ローカルファイルのパス
      • remotePath(string):デバイス上の保存先パス
    • 戻り値:ファイル転送結果
  9. screencap

    • スクリーンショットを撮影します
    • 必須の入力:
      • remotePath(string):スクリーンショットの保存先となるデバイス上のパス(例:/sdcard/screenshot.png)
    • 任意の入力:
      • usePng(boolean、デフォルト:true):PNG として保存します(-p)
    • 戻り値:スクリーンショットの撮影結果
  10. rm

    • Android デバイスからファイルを削除します
    • 必須の入力:
      • path(string):削除するデバイス上のファイルのパス
    • 任意の入力:
      • force(boolean、デフォルト:false):強制的に削除します(-f)
      • recursive(boolean、デフォルト:false):再帰的に削除します(-r)
    • 戻り値:ファイル削除結果
  11. reset-permissions

    • アプリのすべての権限をリセットします
    • 必須の入力:
      • packageName(string):対象のパッケージ名
    • 戻り値:権限のリセット結果
  12. grant-permission

    • 特定の権限を付与します
    • 必須の入力:
      • packageName(string):対象のパッケージ名
      • permission(string):付与する権限
    • 戻り値:権限の付与結果
  13. revoke-permission

    • 特定の権限を取り消します
    • 必須の入力:
      • packageName(string):対象のパッケージ名
      • permission(string):取り消す権限
    • 戻り値:権限の取り消し結果
  14. start-activity

    • am start を使用してアクティビティを開始します
    • 入力は任意です:
      • component (string):コンポーネント名
      • action (string):インテントアクション
      • data (string):インテントデータ URI
      • mimeType (string):MIME タイプ
      • category (string[]):インテントカテゴリ
      • extras (array):インテントの追加情報
      • flags (string[]):インテントフラグ
      • waitForLaunch (boolean, default: false):起動を待機します (-W)
      • debuggable (boolean, default: false):デバッグモード (-D)
      • stopApp (boolean, default: false):アプリを強制停止します (-S)
    • 戻り値:アクティビティの開始結果
  15. kill-server

    • ADB サーバープロセスを終了します
    • 入力は不要です
    • 戻り値:成功メッセージまたはエラー
  16. start-server

    • ADB サーバープロセスを起動します
    • 入力は不要です
    • 戻り値:成功メッセージまたはエラー
  17. help

    • ADB のヘルプ情報を表示します
    • 入力は不要です
    • 戻り値:ADB のヘルプテキスト

すべてのツールで、以下のデバイス選択パラメーターを使用できます:

  • deviceId (string, optional):ID で特定のデバイスを指定します
  • useUsb (boolean, default: false):USB デバイスを対象にします (-d)
  • useEmulator (boolean, default: false):エミュレーターを対象にします (-e)

セットアップ

  1. ADB をインストールします:

    • Android SDK Platform Tools をダウンロードします
    • ADB をシステムの PATH に追加します
    • adb version でインストールを確認します
  2. USB デバッグを有効にします:

    • Android デバイスで、「設定」>「端末情報」に移動します
    • ビルド番号を 7 回タップして、開発者向けオプションを有効にします
    • 開発者向けオプションで USB デバッグを有効にします
サーバーのインストール
# Clone the repository
git clone [repository-url]
cd mcp-server-adb

# Install dependencies
npm install

# Build the project
npm run build
Claude Desktop での使用方法

claude_desktop_config.json に以下を追加します:

{
  "mcpServers": {
    "adb": {
      "command": "node",
      "args": [
        "-y",
        "/path/to/mcp-server-adb/build/index.js",
        "/path/to/adb"
      ]
    }
  }
}

/path/to/adb を実際の ADB 実行ファイルのパスに置き換えてください。

ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。