mcpField
M
MCP-ADB

MCP-ADB

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

MCP-ADB について

MCP-ADBはAndroid Debug Bridge(ADB)と連携し、AIアシスタントがAndroidデバイスを操作できるMCPサーバーです。画面キャプチャやキーイベントに対応し、複数台から対象を指定できます。

主な機能

  1. 01画面キャプチャとリサイズ
  2. 02Base64形式での画像取得
  3. 03Androidキーイベントの送信
  4. 04対象デバイスの指定
  5. 05接続デバイスの一覧表示

活用シーン

  1. 01Androidデバイスの画面確認
  2. 02ナビゲーションや戻るキーの送信
  3. 03接続中の複数デバイスから対象を選択

MCP 対応

MCPサーバーは画面キャプチャとキー送信のツールを提供します。リソースURIから接続デバイス一覧、スクリーンショット、デバイス情報にアクセスできます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

日本語

MCP-ADB

AI アシスタントが Android デバイスとやり取りできるように、Android Debug Bridge(ADB)との連携を提供する Model Context Protocol(MCP)サーバーです。

機能

  • スクリーンショットの撮影:接続された Android デバイスのスクリーンショットを、自動でサイズ変更して撮影します
  • Base64 画像データ:Base64 エンコードされた文字列として、スクリーンショットのデータを直接受け取ります
  • キーイベントの制御:Android デバイスにキーイベントを送信します(ナビゲーション、戻る、ホーム)
  • 複数デバイスのサポート:複数のデバイスが接続されている場合、対象のデバイスを指定できます
  • デバイス一覧:接続されているすべての Android デバイスをリソースとして一覧表示します
  • リソースへのアクセス:リソース URI を通じてスクリーンショットやデバイス情報にアクセスできます

前提条件

  • Node.js(v16 以降を推奨)
  • Android Debug Bridge(ADB)がインストールされ、PATH から利用可能であるか、ADB_PATH 環境変数で設定されていること
  • USB デバッグが有効な Android デバイスが接続されていること

インストール

# Clone the repository
git clone https://github.com/isseikz/mcp-adb.git
cd mcp-adb

# Install dependencies
npm install

# Build the project
npm run build

使用方法

Claude Desktop での使用

この MCP サーバーを Claude Desktop で使用するには、Claude Desktop のインストールディレクトリ、または Claude - Settings - Developer - Edit Config から確認できる claude_desktop_config.json に mcp-adb を追加します。

claude_desktop_config.json ファイルの設定例を以下に示します。

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

```json
{
  "mcpServers": {
    "mcp-adb": {
      "command": "node",
      "args": ["/path/to/mcp-adb/build/index.js"],
      "env": {
        "ADB_PATH": "/path/to/adb"
      }
    }
  }
}
利用可能なツール
スクリーンショットツール

接続された Android デバイスからスクリーンショットを撮影し、幅が 640px になるよう自動でサイズ変更します。

パラメーター:

  • deviceId(任意):複数のデバイスが接続されている場合、対象のデバイスを指定します

応答:

  • Base64 エンコードされた画像データ(PNG 形式)が応答に直接含まれます

例:

{
  "name": "screenshot",
  "arguments": {
    "deviceId": "emulator-5554"
  }
}
キー入力ツール

接続された Android デバイスにキーイベントを送信します。

パラメーター:

  • keycode:送信する Android キーコード(以下の一覧を参照)
  • deviceId(任意):複数のデバイスが接続されている場合、対象のデバイスを指定します

利用可能なキーコード:

  • KEYCODE_DPAD_CENTER - 中央/OK ボタン
  • KEYCODE_DPAD_DOWN - 下へのナビゲーション
  • KEYCODE_DPAD_UP - 上へのナビゲーション
  • KEYCODE_DPAD_LEFT - 左へのナビゲーション
  • KEYCODE_DPAD_RIGHT - 右へのナビゲーション
  • KEYCODE_DPAD_UP_LEFT - 左上への斜め移動
  • KEYCODE_DPAD_UP_RIGHT - 右上への斜め移動
  • KEYCODE_DPAD_DOWN_LEFT - 左下への斜め移動
  • KEYCODE_DPAD_DOWN_RIGHT - 右下への斜め移動
  • KEYCODE_BACK - 戻るボタン
  • KEYCODE_HOME - ホームボタン

例:

{
  "name": "pressKey",
  "arguments": {
    "keycode": "KEYCODE_DPAD_DOWN",
    "deviceId": "emulator-5554"
  }
}
リソース
接続されたデバイス

接続されているすべての Android デバイスを一覧表示します。

adb://devices

応答:

  • 接続されたデバイス ID の一覧
スクリーンショット

ファイル名を指定して、特定のスクリーンショットにアクセスします。

adb://screenshots/{filename}

例:

adb://screenshots/screenshot-2025-04-10T16-30-48-931Z.png

開発

プロジェクト構成
mcp-adb/
├── src/
│   └── index.ts    # Main server implementation
├── build/          # Compiled JavaScript files
├── temp/           # Temporary directory for screenshots
├── package.json    # Project dependencies and scripts
└── tsconfig.json   # TypeScript configuration
ビルド
npm run build

これにより、TypeScript コードがコンパイルされ、build ディレクトリに JavaScript が生成されます。

要件

このプロジェクトでは、以下の依存関係を使用しています。

  • @modelcontextprotocol/sdk:MCP サーバーの実装
  • fs-extra:拡張ファイルシステムメソッド
  • sips:画像のサイズ変更に使用します(macOS に組み込まれており、コンテキストの消費を抑えます)

ライセンス

MIT

貢献

貢献を歓迎します!お気軽に Pull Request を送信してください。

コメント

MCP は初めてですか?

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

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