mcpField
M
mcp-idb

mcp-idb

ローカル
github.com/noahlozevski開発ツール786 週間前に更新

mcp-idb について

mcp-idbは、MCPクライアントとFacebookのiOS Development Bridge(idb)をつなぎ、iOSデバイスの管理やテスト実行を自動化します。画面操作、スクリーンショット、アプリのインストールを伴う作業向けです。

主な機能

  1. 01iOSデバイス管理の自動化
  2. 02idb経由のテスト実行
  3. 03画面操作の自動化
  4. 04スクリーンショットテスト
  5. 05アプリのインストールと削除

活用シーン

  1. 01iOSテスト開発の自動化
  2. 02テスト用スクリーンショットの撮影
  3. 03iOS画面上のコントロール操作
  4. 04iOSアプリのインストールや削除

MCP 対応

idbを使ったiOSデバイス管理とテスト実行機能をMCPクライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"idb": {
"command": "npx",
"args": [
"-y",
"@noahlozevski/mcp-idb"
]
}
}
}
起動コマンドnpx -y @noahlozevski/mcp-idb

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@noahlozevski/mcp-idb

ツール

1

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
commandstringはい実行する 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' のようにタップすると(要素の中心付近を指定)、ボタンを正常に操作できます。
optionsarrayいいえ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 で確認できます。

トラブルシューティング

よくある問題と解決策:

  1. idb companion が見つからない:idb-companion が Homebrew 経由でインストールされていることを確認してください
  2. デバイスが検出されない:iOS デバイスが以下の状態であることを確認してください。
    • USB 経由で接続されている
    • コンピューターで信頼されている
    • デベロッパモードが有効になっている

コントリビューション

このパッケージに変更を加える際は、標準的な MCP のコントリビューションガイドラインに従ってください。

ライセンス

このプロジェクトは Mobile Control Plane(MCP)の一部であり、Amazon の社内ライセンスポリシーに従います。

コメント

MCP は初めてですか?

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

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