mcp-idb について
mcp-idbは、MCPクライアントとFacebookのiOS Development Bridge(idb)をつなぎ、iOSデバイスの管理やテスト実行を自動化します。画面操作、スクリーンショット、アプリのインストールを伴う作業向けです。
主な機能
- 01iOSデバイス管理の自動化
- 02idb経由のテスト実行
- 03画面操作の自動化
- 04スクリーンショットテスト
- 05アプリのインストールと削除
活用シーン
- 01iOSテスト開発の自動化
- 02テスト用スクリーンショットの撮影
- 03iOS画面上のコントロール操作
- 04iOSアプリのインストールや削除
MCP 対応
idbを使ったiOSデバイス管理とテスト実行機能をMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| command | string | はい | 実行する IDB コマンド(例:list-apps、screenshot など)。 - コマンドの全一覧を表示するには、'idb help' を実行します。 - 特定のコマンドのヘルプを表示するには、'idb <command> --help' を実行します。 デバイス(シミュレーター)との対話: 重要:UI 操作を実行する前に、必ず 'idb ui describe-all' コマンドを使ってボタンの特定を試してください。 うまくいかない場合は、以下のコマンドを試してください。 - **タップ** - **コマンド:** 'idb ui tap X Y [--duration DURATION]' - **説明:** 指定された画面座標でのタップをシミュレートします。タップ時間も設定できます。 - **スワイプ** - **コマンド:** 'idb ui swipe X_START Y_START X_END Y_END [--delta STEP_SIZE]' - **説明:** 始点から終点へのスワイプ操作をシミュレートします。デフォルトでは 10 ポイント刻みで移動します。'--delta' を使うと刻み幅を変更できます。 - **ボタンを押す** - **コマンド:** 'idb ui button {APPLE_PAY, HOME, LOCK, SIDE_BUTTON, SIRI} [--duration DURATION]' - **説明:** 指定したハードウェアボタンを押す操作をシミュレートします。'--duration' フラグで押下時間を調整できます。 - **テキスト入力** - **コマンド:** 'idb ui text "some text"' - **説明:** 指定されたテキスト文字列を対象デバイスに入力します。 - **キーイベント** - **単一キー:** 'idb ui key KEYCODE [--duration DURATION]' - **キーシーケンス:** 'idb ui key-sequence KEYCODE1 KEYCODE2 ...' - **説明:** キー押下イベントをシミュレートします。単一キーコマンドは 1 つのキーの押下(時間指定は任意)に、キーシーケンスコマンドは複数のキーイベントの連続実行に使用します。 **idb ui describe-all の Frame と座標:** 'idb ui describe-all' の出力には、各 UI 要素の詳細なレイアウト情報が含まれます。各要素には 'frame' オブジェクトがあり、次の情報を含みます。 - **x と y:** デバイス画面を基準とした要素の左上隅の座標。 - **width と height:** 要素のサイズ。 さらに、'AXFrame' 文字列では、'{{x, y}, {width, height}}' のような人が読みやすい形式でデータが示されます。 これらの値から要素の位置を特定できます。正確に操作するには、通常、中心座標(x + width/2, y + height/2)を計算します。たとえば、サンプル出力では、"More, tab, 4 of 4" ボタンの frame は x=330、y=876.33 から始まり、幅は 110、高さは 45.67 です。'idb ui tap 375 880' のようにタップすると(要素の中心付近を指定)、ボタンを正常に操作できます。 |
| options | array | いいえ | IDB コマンドのオプション引数 |
詳細
mcp-idb
Facebook の iOS Development Bridge(idb)との MCP サーバー統合です。
概要
このパッケージは、MCP(Model Context Protocol)と Facebook の idb(iOS Development Bridge)を統合し、MCP を通じた iOS デバイスの自動管理とテスト実行を可能にします。
サーバーを起動します:
npx -y @noahlozevski/mcp-idb
前提条件
idb のインストール
idb をインストールするには:
brew tap facebook/fb
brew install idb-companion
# verify installation
idb
詳細については、idb の公式 GitHub リポジトリをご覧ください。
設定
mcp-config.json の設定
MCP 設定で idb を使用するには、mcp-config.json に以下を追加します。
{
"mcpServers": {
"idb": {
"command": "npx",
"args": ["-y", "@noahlozevski/idb"]
}
}
}
使用例:
- テスト開発の自動化
- スクリーンショットテスト
- 操作の自動化(「画面上のホームボタンをタップする」)
- アプリケーションのインストール/削除
開発
コードのフォーマット
このプロジェクトでは、コードのフォーマットに Prettier を使用しています。コードをフォーマットするには:
npm run format # Format all files
フォーマット設定は、プロジェクトのルートにある .prettierrc で確認できます。
トラブルシューティング
よくある問題と解決策:
- idb companion が見つからない:idb-companion が Homebrew 経由でインストールされていることを確認してください
- デバイスが検出されない:iOS デバイスが以下の状態であることを確認してください。
- USB 経由で接続されている
- コンピューターで信頼されている
- デベロッパモードが有効になっている
コントリビューション
このパッケージに変更を加える際は、標準的な MCP のコントリビューションガイドラインに従ってください。
ライセンス
このプロジェクトは Mobile Control Plane(MCP)の一部であり、Amazon の社内ライセンスポリシーに従います。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。