MCP Appium サーバー
Appium を使用したモバイル アプリ自動化のためのモデル コンテキスト プロトコル (MCP) サーバー実装。
前提条件
Node.js (v14以上)
Java開発キット(JDK)
Android SDK(Android テスト用)
Xcode (iOS テスト用、macOS のみ)
Appiumサーバー
Androidデバイスまたはエミュレータ / iOSデバイスまたはシミュレータ
環境設定
コマンドを実行する前に、環境変数が適切に設定されていることを確認してください。
.bash_profile
、.zshrc
、またはその他のシェル構成ファイルに必要な環境変数が含まれていることを確認します。
MCP-Appium を実行する前に環境ファイルをソースします。
注: システムはドライバーを初期化するときに
.bash_profile
自動的に取得しようとしますが、新しいターミナル セッションでテストを実行する前に、適切な環境設定を手動で確認することをお勧めします。
Xcode コマンドラインツールの設定
iOS テストでは、適切な Xcode コマンドライン ツールの構成が不可欠です。
Xcode コマンドライン ツールがまだインストールされていない場合はインストールします。
インストールを確認し、現在の Xcode パスを確認します。
必要に応じて、正しい Xcode パスを設定します (特に複数の Xcode バージョンがある場合)。
Xcode ライセンス契約に同意します:
iOS の実際のデバイスをテストする場合は、Xcode で Apple Developer アカウントが適切に設定されていることを確認してください。
Xcodeを開く
「設定」>「アカウント」へ移動
Apple IDをまだ追加していない場合は追加してください
必要なプロビジョニングプロファイルをダウンロードする
iOS 開発用の環境変数を設定します。
更新された構成を取得します。
設定
依存関係をインストールします:
Appium サーバーをインストールして起動します。
Android デバイス/エミュレータをセットアップします。
Androidデバイスで開発者向けオプションを有効にする
USBデバッグを有効にする
USB経由でデバイスを接続するか、エミュレータを起動します
adb devices
を使用してデバイスが接続されていることを確認する
iOS テストの場合 (macOS のみ):
Xcode コマンドラインツールがインストールされていることを確認します:
xcode-select --install
iOSシミュレーターをセットアップするか、実際のデバイスを接続する
実際のデバイスを使用する場合は、iOSデバイスの開発用コンピュータを信頼します
テストの実行
プロジェクトをビルドします。
MCP サーバーを起動します。
新しいターミナルでテストを実行します。
テスト構成
Androidの設定
サンプルテストでは、Android設定アプリをデモとして使用します。独自のアプリをテストするには、以下の手順に従ってください。
examples/appium-test.ts
を編集します。deviceName
デバイスに合わせて更新しますAPKファイルへの
app
を設定するか、インストールされたアプリの
appPackage
とappActivity
を更新する
共通機能の構成:
iOS 設定
新しい Xcode コマンドライン サポートを使用した iOS テストの場合:
examples/xcode-appium-example.ts
の設定例:
利用可能なアクション
MCP サーバーはさまざまな Appium アクションをサポートしています。
要素の相互作用:
要素を見つける
W3C Actions API を使用した要素のタップ/クリック (「W3C 標準ジェスチャ」セクションを参照)
テキストを入力
W3C Actions API で要素までスクロールする
長押し
アプリ管理:
アプリを起動/閉じる
アプリをリセット
現在のパッケージ/アクティビティを取得する
デバイスコントロール:
画面の向き
キーボード操作
デバイスのロック/ロック解除
スクリーンショット
バッテリー情報
高度な機能:
コンテキスト切り替え(ネイティブ/WebView)
ファイル操作
通知
カスタムジェスチャー
Xcode コマンドラインツール (iOS のみ):
iOS シミュレーターの管理 (起動、シャットダウン)
シミュレータ上でのアプリのインストール/アンインストール
アプリの起動/終了
スクリーンショットを撮る
ビデオを録画する
シミュレータの作成/削除
デバイスの種類とランタイムを取得する
W3C標準ジェスチャー
MCP-Appium ライブラリは、モバイル自動化の最新標準であるタッチ ジェスチャ用の W3C WebDriver Actions API を実装するようになりました。
タップ要素のW3Cアクション
tapElement
メソッドは、インテリジェントなフォールバックを備えた W3C Actions API を使用するようになりました。
スクロールのためのW3Cアクション
scrollToElement
メソッドは W3C Actions API を使用するようになりました。
カスタム W3C ジェスチャー
executeMobileCommand
メソッドを使用して、独自のカスタム W3C ジェスチャを作成できます。
W3C 標準ジェスチャ実装の詳細な例についてはexamples/w3c-actions-swipe-demo.ts
参照してください。
Xcodeコマンドラインツールの使用
新しいXcodeCommands
クラスは、iOS テスト用の強力なツールを提供します。
クリック機能の使用
click()
メソッドはtapElement()
のより直感的な代替手段を提供します。
トラブルシューティング
デバイスが見つかりません:
adb devices
の出力を確認するUSBデバッグが有効になっていることを確認する
デバイスを再接続してみてください
アプリがインストールされません:
APKパスが正しいことを確認する
デバイスに十分なストレージがあるか確認する
アプリがデバッグ用に署名されていることを確認する
要素が見つかりません:
Appium Inspectorを使用してセレクタを検証する
画面上に要素が表示されているかどうかを確認する
さまざまなロケーター戦略を試す
接続の問題:
Appiumサーバーが実行中であることを確認する
ポートの競合を確認する
正しい機能が設定されていることを確認する
iOS シミュレータの問題:
Xcodeコマンドラインツールがインストールされていることを確認します:
xcode-select -p
xcrun simctl list devices
を使用してシミュレータのUDIDが正しいことを確認します。シミュレータが応答しなくなった場合は閉じて再起動してください
貢献
追加機能やバグ修正に関する問題やプル リクエストをお気軽に送信してください。
ライセンス
マサチューセッツ工科大学
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Appium を使用してモバイル アプリの自動化を可能にし、標準化されたプロトコルを通じてさまざまなデバイスのインタラクション、要素の操作、アプリの管理をサポートするモデル コンテキスト プロトコル (MCP) サーバーです。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that facilitates communication between ABAP systems and MCP clients, providing tools for managing ABAP objects, handling transport requests, and performing code analysis to enhance ABAP development workflows.Last updated -55MIT License
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that enables AI assistants to control and interact with Android devices, allowing for device management, app debugging, system analysis, and UI automation through natural language commands.Last updated -8236Apache 2.0
- AsecurityAlicenseAqualityA Model Context Protocol server that enables scalable mobile automation through a platform-agnostic interface for iOS and Android devices, allowing agents and LLMs to interact with mobile applications using accessibility snapshots or coordinate-based interactions.Last updated -174,9532,034Apache 2.0
- AsecurityAlicenseAqualityA Model Context Protocol server that enables scalable mobile automation for iOS and Android through a platform-agnostic interface, allowing LLMs to interact with mobile applications via accessibility snapshots or screenshot-based inputs.Last updated -174,9531Apache 2.0