mcpField
D
Dev Tools For Android (dta) Mcp

Dev Tools For Android (dta) Mcp

リモート
github.com/yamsergey開発ツール553 週間前に更新
リポジトリ

Dev Tools For Android (dta) Mcp について

DTA(Development Tools for Android)は、AI コーディングエージェントが MCP 経由で Android デバイスを確認・操作できるツールキットです。レイアウトツリー、ネットワーク記録、モック、画面操作を提供します。Android 開発者向けで、Android Studio、コマンドライン、任意の MCP クライアントから利用できます。

主な機能

  1. 01レイアウトツリーと Compose 情報の確認
  2. 02HTTP と WebSocket の通信を自動記録
  3. 03HTTP と WebSocket のモックルール作成
  4. 04sidekick を組み込んだビルドと起動
  5. 05デバイスでのタップ、スワイプ、テキスト入力

活用シーン

  1. 01Android アプリのネットワークリクエストとレスポンスのデバッグ
  2. 02レイアウトと再コンポジションの問題調査
  3. 03バックエンドを変更せずに API レスポンスをモック化

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttp://localhost:12321/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Android 向け開発ツール(DTA)

Maven Central JetBrains Marketplace Snyk Security

Model Context Protocol を通じて、AI アシスタントが Android デバイスに直接アクセスできるツールキットです。コーディングエージェントは、Android Studio、ターミナル、または任意の MCP クライアントから、画面の確認、ネットワークトラフィックの読み取り、レイアウトツリーの調査、レスポンスのモック、アプリの操作を行えます。

動画の概要

記事:AI を使った Android アプリのデバッグ

クイックスタート

オプション A:Android Studio プラグイン
JetBrains Marketplace からインストール

または:Settings → Plugins → Marketplace → 「DTA」を検索

このプラグインにはデーモンが組み込まれており、デバッグビルドに sidekick を自動で注入します。また、4 タブのインスペクター(Layout、Network、WebSocket、MCP)も利用できます。CLI や手動セットアップは不要です。

オプション B:CLI
brew tap yamsergey/packages
brew install dta-cli

要件: Java 21+

自動注入(推奨)

プロジェクトの変更は不要です。CLI または MCP の run_app ツールを使用すると、sidekick を自動注入してアプリをビルドし、起動できます。

dta-cli run --project /path/to/your/android/project

Gradle を init スクリプトとともに実行し、dta-sidekick を debugImplementation 依存関係として追加して APK をビルドし、デバイスにインストールしてメインアクティビティを起動します。AI アシスタントも MCP の run_app ツールを使って同じ操作を行えます。

手動(代替方法)

sidekick をビルドファイルに直接追加する場合:

dependencies {
    debugImplementation 'io.github.yamsergey:dta-sidekick:0.9.36'
}

Sidekick は AndroidX Startup を通じて自動的に初期化されるため、依存関係の追加以外にコードの変更は不要です。

AI アシスタントを接続する

AS プラグインを使用する場合: MCP タブを開き、サーバーを有効にして、ドロップダウンからエージェントを選択します。コピーして貼り付けるだけで使える、正確な設定スニペットが表示されます。Claude Code、Cursor、Android Studio Gemini、Claude Desktop、VS Code などで動作します。

プラグインを使用しない場合(CLI のみ):

Claude Code
claude mcp add dta -- dta-cli mcp
Cursor

DTA を Cursor に追加

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "dta": {
      "command": "dta-cli",
      "args": ["mcp"]
    }
  }
}

エージェントでできること

画面の分析

DTA は実際の UI 階層を返します。ビュークラス、境界、位置、レイアウトパラメーター、Compose 固有のデータ(コンポーザブル名、再コンポジション回数)、WebView や Chrome Custom Tabs の DOM ツリーを確認できます。セマンティックなアクセシビリティツリーを返す adb shell uiautomator dump とは異なり、エージェントは全体像を把握できます。

ネットワーク分析

Sidekick はアプリの起動時から自動的に記録します。HTTP リクエスト(OkHttp)、WebSocket 接続、Chrome Custom Tab のトラフィックが対象です。(WebView 自体のネットワークリクエストはまだキャプチャされませんが、DOM、Cookie、ストレージはキャプチャされます。)「記録開始」ボタンを押す必要も、リクエストを取り逃す心配もありません。エージェントはいつでも全履歴を照会できます。

モック

キャプチャしたデータを使うか、一から作成して、HTTP と WebSocket のモックルールを作成できます。プログラムから制御するには、カスタムアダプターを追加します。

Sidekick.configure(
    SidekickConfig.builder()
        .httpMockAdapter { transaction, proposedResponse ->
            proposedResponse.withBody("""{"message": "mocked"}""")
        }
        .build()
)
ビルドと起動

run_app ツールは、sidekick を自動注入した APK をビルドしてインストールし、メインアクティビティを起動します。これらすべてを 1 回の MCP 呼び出しで実行できます。手動での Gradle のセットアップは不要です。環境のサンドボックスによってツールの実行がブロックされた場合は、代替手段として正確なシェルコマンドを返します。

検証

エージェントはタップ、スワイプ、テキスト入力、キー押下を行い、その後、画面の状態とネットワークトラフィックを確認して動作を検証できます。会話を離れることなく、調査、モック、操作、検証の全サイクルを実行できます。

Android Studio プラグイン

DTA Inspector ツールウィンドウには、次の 4 つのタブがあります。

タブ機能
レイアウトUI ツリーとデバイスのスクリーンショットを表示し、ホバー時のハイライト、クリックによる選択、双方向の選択同期に対応
ネットワークHTTP リクエストの一覧(ヘッダー、本文、所要時間を表示)。カスタムタブと WebView のトラフィックにも対応
WebSocket接続一覧 → メッセージ一覧 → メッセージ詳細
MCPHTTP サーバーの有効化、ポートの選択、エージェントごとの設定スニペット(クリップボードへのコピー機能付き)

プラグインは Gradle init スクリプトを介して、デバッグビルドに dta-sidekick を自動注入します。プロジェクトファイルを変更する必要はありません。

インスペクターの Web インターフェース

dta-cli inspector-web

http://localhost:8080 を開くと、レイアウトツリー、ネットワーク、WebSocket、モックルールエディターなど、同じ機能を使って視覚的に検査できます。

Web インスペクターでは、開発者とエージェントの双方向通信が可能です。要素を言葉で説明する代わりに、クリックして選択できます。

MCP トランスポート

トランスポートコマンド用途
stdiodta-cli mcpClaude Desktop、Cursor、および任意の stdio MCP クライアント
HTTPdta-cli mcp serve --http --port 12321AS Gemini、Claude Code HTTP、および任意の Streamable HTTP クライアント
プラグインMCP タブで有効化AS に組み込まれた HTTP サーバー。CLI は不要

モジュール

モジュール説明
dta-pluginAndroid Studio プラグイン(4 タブのインスペクター、組み込みデーモン、MCP サーバー)
dta-cliCLI インターフェース(mcp、inspector-web、run、inspect コマンド)
dta-mcpMCP サーバー(stdio と HTTP トランスポート、ツール定義)
dta-daemonJavalin HTTP デーモン(sidekick 接続、CDP ウォッチャー、レイアウト情報の拡充)
dta-sidekickアプリ内検査ライブラリ(Android AAR、AndroidX Startup による自動初期化)
tools-androidGradle Tooling API のコア統合
workspace-kotlinKotlin Language Server 用の workspace.json コンバーター

CLI リファレンス

dta-cli --help
dta-cli <command> --help

ライセンス

Apache License 2.0 — LICENSE.txt を参照

コメント

MCP は初めてですか?

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

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