appium/appium-mcp

Appium MCP on Steroids!

appium‑mcp – AI強化 Appium サーバー(モバイルテスト自動化用)

何であるか – 標準的な Appium 自動化フレームワークの上に配置される Node.js ベースの MCP(Model Context Protocol)サーバーです。通常の Appium 機能(Android UiAutomator2、iOS XCUITest など)を提供するだけでなく、AI駆動の補助機能も追加しています。自然言語によるデバイス操作、ロケータの自動生成、そして plain English から Java/TestNG テストコードを生成することが可能になります。


コア機能(README に記載)

カテゴリ 提供される機能
クロスプラットフォームモバイル自動化 組み込みの Appium ドライバーを使用して、Android および iOS デバイス(実機、エミュレータ、シミュレータ)に対応します。
AI駆動の要素検出 スクリーンショットを設定可能なビジョンモデル(OpenAI互換)に送信し、自然言語クエリに一致する UI 要素を返すツール(appium_ai)を提供します。
インテリジェントなロケータ生成 優先順位ルールに基づいて堅牢なセレクタ(XPath、アクセシビリティIDなど)を生成し、不安定なテストを低減します。
自動テスト生成 自然言語のテスト記述を、Page Object Model を使用する Java/TestNG コードに変換します。
セッション管理 簡単な MCP コマンドで Appium セッションの作成・接続・クリーンアップが可能。ローカルドライバーとリモート WebDriver/Appium サーバーの両方をサポートします。
多言語対応 AIレイヤーは英語、スペイン語、中国語、日本語、韓国語など複数の言語を理解できます。
観測性(Observability) オプションの OpenTelemetry トレーシング、各アクションに対する構造化された「証拠」記録、およびスクリーンショットの保存設定が可能。
拡張可能なプラグイン API 開発者がカスタムツールを追加したり、既存のツールを置き換えたりできます。

一般的なワークフロー

  1. インストール – サーバーを (npx appium-mcp@latest) インストールし、IDE の MCP 設定(Cursor、Gemini CLI、Claude Code など)に追加します。
  2. 環境変数の設定 – 最低限 ANDROID_HOME(macOS では iOS ツール)を設定し、必要に応じて CAPABILITIES_CONFIG を JSON ファイルへのパスとして指定します。
  3. セッションの開始 – サーバーがローカルドライバーを起動する(action=create)か、既存のリモート Appium サーバーに接続する(remoteServerUrl)かを選択します。
  4. AIに依頼 – 「Login ボタンをタップ」や「ラベルが Email のフィールドを探す」などの自然言語リクエストを送信。サーバーは AI_VISION_* 変数で設定されたビジョンモデルを使用して要素を検出し、アクションを実行します。
  5. コード生成 – 「ログイン後にウェルカム画面にユーザー名が表示されることを検証する」といった記述を渡すと、Page Object スケルトンを含む実行可能な Java/TestNG コードを返します。
  6. オプションのトレーシングAPPIUM_MCP_OTEL_ENABLED=true を有効化して OpenTelemetry を有効にすると、各ツール呼び出しのスパンを収集でき、CI デバッグに役立ちます。

インストールとクイックスタート(README から)

{
  "mcpServers": {
    "appium-mcp": {
      "disabled": false,
      "timeout": 100,
      "type": "stdio",
      "command": "npx",
      "args": ["appium-mcp@latest"],
      "env": {
        "ANDROID_HOME": "/path/to/android/sdk",
        "CAPABILITIES_CONFIG": "/path/to/your/capabilities.json"
      }
    }
  }
}
  • Cursor IDE では、ワンクリックインストールバッジをクリックして自動でサーバーを追加できます。
  • Gemini CLI では:gemini mcp add appium-mcp npx -y appium-mcp@latest
  • Claude Code CLI では:claude mcp add appium-mcp -- npx -y appium-mcp@latest

設定のハイライト

  • AIビジョンAI_VISION_ENABLED=true で有効化し、AI_VISION_API_BASE_URLAI_VISION_API_KEY を指定してください。デフォルトモデルは Qwen3-VL-235B-A22B-Instruct です。
  • ドキュメントツールAPPIUM_MCP_DOCS_ENABLED=true で有効化。オプションの @appium/mcp-documentation パッケージが必要です。
  • OpenTelemetryAPPIUM_MCP_OTEL_ENABLED で切り替え。エクスポーターのエンドポイント、サービス名などを設定するための標準 OTEL_* 変数を設定できます。
  • セッションクリーンアップAPPIUM_MCP_ON_CLIENT_DISCONNECT で制御(delete_all または skip)。
  • 証拠記録APPIUM_MCP_EVIDENCE=true を設定すると、各要素検出やジェスチャー応答に構造化された JSON ブロックを添付でき、CI 診断に役立ちます。

どんな人が使うべきか?

  • セレクタを手動で作成する代わりにアシスタントと会話することで、モバイルテストをより迅速に書ける QA エンジニア。
  • 可靠な AI 補助による要素位置検出と自動テストスタブ生成を必要とする CI パイプラインを開発する開発者。
  • LLM駆動の開発ツール(Cursor、Claude、Gemini)を採用しており、それらの IDE と統合できる即戦力の MCP サーバーを探しているチーム。
  • モバイルデバイス上のビジョンベース UI インタラクションを研究している研究者。サーバーは任意の OpenAI互換ビジョンエンドポイントに接続可能。

制限事項と要件(README に基づく)

  • Node 22+、Java 8+、Android SDK(Android用)、Xcode(macOS 上の iOS 用)が必要です。
  • AIビジョン機能は、必要な API エンドポイントとキーが提供された場合にのみ動作します。それ以外は appium_ai ツールは登録されません。
  • サーバープロセスごとに1つのアクティブな Appium セッションのみを保持。並行セッションが必要な場合は、別々のサーバーインスタンスが必要です。
  • 「一般」プラットフォームモードでは、リモート Appium サーバーに任意の能力セットを渡すことができますが、ローカル埋め込みドライバーは Android と iOS に限定されています。

まとめ

appium-mcp は、Appium 自動化スタックに AI駆動機能(自然言語による要素位置検出、自動生成テストコード、多言語対応)を追加し、MCP プロトコルを通じて現代の LLM中心の IDE とスムーズに統合できる本格的なソフトウェアプロジェクトです。単なるチュートリアルやリンク集ではなく、AI強化モバイルテストの分野に確固たる位置を占めています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト