サマリー
・iOS(WebDriverAgent)やAndroid(ADB)経由で、アプリの状態取得・画面操作・デバイス制御を行うモバイル自動化用MCPサーバーを用いてスクリーン操作を自動化。
・Flutterエンジンは専用のレンダリングビューを使用するため、WebDriverAgentやADBではウィジェット構造を取得できず、スクリーンショット解析もLLM精度の限界で要素座標特定が難しい点が課題だった。
・上記に対しDart VM Serviceを利用してウィジェットツリーを取得。WidgetsBinding経由でセマンティクス要素を抽出し、要素の座標を計算してMCPサーバーが扱いやすいJSON形式で返却。
・取得したウィジェット情報をAIが解析し、画面状態を理解→次アクション決定→実行のループを構築。Flutterアプリを自然言語で操作できる可能性を実証。Demoではコメント投稿などを自動化。
