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デバイスの開発用コンピュータを信頼します
- Xcode コマンドラインツールがインストールされていることを確認します:
テストの実行
- プロジェクトをビルドします。
- 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が正しいことを確認します。- シミュレータが応答しなくなった場合は閉じて再起動してください
- Xcodeコマンドラインツールがインストールされていることを確認します:
貢献
追加機能やバグ修正に関する問題やプル リクエストをお気軽に送信してください。
ライセンス
マサチューセッツ工科大学
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
- -securityFlicense-qualityA Model Context Protocol (MCP) server implementation for interacting with Phabricator API. This server allows LLMs to interact with Phabricator through a standardized interface.Last updated -5Python
- AsecurityAlicenseAqualityA beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.Last updated -3936JavaScriptApache 2.0
- -securityAlicense-qualityThis MCP server implementation allows users to manage and expose actions as tools from their Integration App workspace through the Model Context Protocol.Last updated -1022TypeScriptISC License
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that interacts with system APIs, allowing users to check connections, search employees, register breakfast, and update chemical information by shifts.Last updated -2126JavaScript