mcpField
M
Maestro

Maestro

ローカル
maestro.dev開発ツール16.2k今日更新

Maestro について

Maestro は Android、iOS、Web アプリの UI とエンドツーエンドテスト向けのオープンソースフレームワークです。YAML フローを使い、CLI 内蔵の MCP サーバーを通じてエージェントが実機を操作できます。

主な機能

  1. 01YAML による読みやすいテストフロー
  2. 02Android、iOS、Web に対応
  3. 03エミュレーターやデバイスで実行
  4. 04動的な画面への自動待機
  5. 05CLI に MCP サーバーを内蔵

活用シーン

  1. 01モバイルアプリの E2E テスト作成
  2. 02Web ブラウザーでの UI フロー検証
  3. 03コーディングエージェントによる端末操作と確認
  4. 04YAML テストフローの CI 利用

MCP 対応

Maestro MCP は Maestro CLI に同梱され、MCP クライアントにライブデバイスの画面確認、タップ、スクロール、アサーション機能を公開します。エージェントは YAML の E2E テストフローも作成・実行できます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

ヒント

テスター同士がつながることで、素晴らしいことが生まれます — Maestro コミュニティに参加する

Maestro ロゴ

Maestro は、Android、iOS、ウェブアプリの UI テストとエンドツーエンドテストを簡単かつ高速にするオープンソースのフレームワークです。

CLI で最初の YAML フローを手書きして 5 分以内に実行することも、Maestro Studio でフローを視覚的に作成することも、Maestro MCP をコーディングエージェントに追加してエージェント型 UI テストを行うこともできます。

フローは、あらゆるエミュレーター、シミュレーター、ブラウザー、Android 実機で実行できます。iOS 実機にはまだ対応していません。

エミュレーター上の Twitch Android アプリで実行される、プレーンな YAML で記述された Maestro フロー

 

目次

 

Maestro を選ぶ理由

Maestro は、前身となるツール(Appium、Espresso、UIAutomator、XCTest、Selenium、Playwright)から得た知見に基づいて構築されています。さらに、早い段階で 3 つの方針を決めました。プラットフォームのアクセシビリティレイヤーを通じてアプリを操作すること、ドライバーや SDK を必要とせず単一のバイナリとしてインストールできること、そしてすべてのテストを YAML コマンドのフラットなリストにすることです。

  • 人が読みやすい YAML フロー – launchApp、tapOn、assertVisible などのコマンドで操作を記述します。
  • コーディングエージェント向けに設計 – Maestro MCP サーバーは Maestro CLI に同梱されています(maestro mcp。ほかにインストールするものはありません)。Claude Code、Cursor、Codex、Grok Build、または任意の MCP クライアントから、実機でアプリを操作できます。画面の確認、タップ、スクロール、アサーションを行い、作業中に自分の成果も検証できます。繰り返し実行可能なテストが必要なときは、フローの作成を依頼してください。これがエージェント型 UI テストです。
  • フレームワークに依存しない – React Native、Flutter、ネイティブの iOS と Android、Ionic、ハイブリッドアプリのいずれでも、同じコマンドを使用できます。Meta は Maestro を使って React Native 自体をテストしており、Expo は Maestro を推奨 E2E テストプラットフォームとしてサポートしています。
  • クロスプラットフォーム対応 – Android、iOS、ウェブ向けの共通フロー構文を、エミュレーター、シミュレーター、ブラウザー、Android 実機で使用できます。
  • 堅牢性とスマートな待機 – フレークへの耐性と自動待機機能を備えており、手動で sleep() を呼び出さなくても動的な UI に対応します。
  • 高速な反復と簡単なインストール – インストールコマンドは 1 行で、ドライバー、SDK、依存関係は不要です。フローは解釈実行されるため、コンパイルの手順もありません。5 分で最初のテストを実行できます。

シンプルな例:

# flow_contacts_android.yaml

appId: com.android.contacts
---
- launchApp
- tapOn: "Create new contact"
- tapOn: "First Name"
- inputText: "John"
- tapOn: "Last Name"
- inputText: "Snow"
- tapOn: "Save"

 

はじめに

Maestro を使用するには、システムに Java 17 以降をインストールする必要があります。次のコマンドを実行して Java のバージョンを確認できます。

java -version

CLI のインストール:

次のコマンドを実行して、macOS、Linux、または Windows(WSL)に Maestro をインストールします。

curl -fsSL "https://get.maestro.mobile.dev" | bash

以下のリンクから、次の手順を確認できます。

 

Maestro MCP – エージェントによる UI テスト

Maestro MCP を通じて Android エミュレーター上で動作を確認するコーディングエージェント。Maestro Viewer にはすべてのコマンドがリアルタイムで表示されます

Maestro MCP は Maestro CLI に組み込まれており、Claude Code、Cursor、Codex、Gemini CLI、Copilot、Grok Build、または任意の MCP クライアントで動作します。エージェントにライブデバイス(エミュレーター、シミュレーター、または物理 Android デバイス)を提供し、Maestro Viewer がそのデバイスをコーディングエージェント内に埋め込み、実行中のすべての MCP コマンドを表示します。

Maestro MCP を使うと、エージェントはアプリを直接操作できます。画面を確認し、タップやスクロールを行い、アサーションを実行できます。機能の構築や変更を行う間、デバイス上で自分の作業を確認します。

エージェントにテストを書かせることもできます。エンドツーエンドのフローを依頼すると、プレーンな YAML を作成し、パスするまで実行します。フローは決定論的な CI テストとしてリポジトリに残ります。

各コーディングエージェントのセットアップ方法は、Maestro MCP ドキュメントをご覧ください。

 

Maestro Studio – テスト IDE

Maestro Studio Desktop は、ターミナルを使わずにテストを視覚的に設計、実行できる軽量 IDE です。Studio はオープンソースプロジェクトではありませんが、無料で利用できます。そのため、Maestro Studio のコードはここにはありません。

  • 簡単なセットアップ – macOS、Windows、Linux 用のネイティブアプリをダウンロードするだけです。
  • ビジュアルなフロービルダーとインスペクター – 操作を記録し、要素を確認して、フローを視覚的に作成できます。

Maestro Studio をダウンロード

 

Maestro Cloud – 並列実行とスケーラビリティ

テストスイートが大きくなったら、専用インフラストラクチャ上で数百件のテストを並列実行し、実行時間を最大 90%短縮できます。通知機能、決定論的な環境、包括的なデバッグツールも組み込まれています。

Maestro Cloud の料金体系は完全に明確で、料金ページで確認できます。

👉 7 日間の無料トライアルを開始

 

リソースとコミュニティ

 

貢献

Maestro は Apache 2.0 ライセンスのオープンソースです。ぜひご貢献ください!

Maestro が役に立った場合は、⭐ リポジトリにスターを付けてプロジェクトを応援してください。

  Built with ❤️ by Maestro.dev

コメント

MCP は初めてですか?

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

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