iphone-mcp は何をしますか?
📱 AppiumベースのMCPサーバーでiPhoneのタスクを自動化。アプリ操作、UI操作、スクリーンショットのキャプチャをストリーミングHTTP経由で実現します。
概要
hunterkevv/iphone-mcp は、Appiumサーバーと通信するためのMCP(Model Context Protocol)インターフェースを提供します。これにより、AIエージェントからiOSデバイスの操作やテストを自動化できます。
主な機能
- アプリ制御: Appiumセッションを介してiOSアプリの起動、終了、バックグラウンド遷移など
- UI操作: 要素のタップ、スワイプ、テキスト入力、属性取得
- スクリーンショット: ストリーミングHTTPを使用した高速スクリーンショットキャプチャ
- デバイス情報: デバイス名、OSバージョン、画面サイズなどの取得
セットアップ
前提条件
- Node.js 18+
- Appium 2.x がインストールされ、iOSデバイスが接続されていること
- Xcode(シミュレーター用)またはApple Developer Programアカウント(実機用)
インストール
npm install -g @hunterkevv/iphone-mcp
またはプロジェクトに追加:
npm install @hunterkevv/iphone-mcp
使用方法
MCPサーバーを起動します:
iphone-mcp --port 3100 --appium-port 4723
利用可能なオプション:
| オプション | 説明 | デフォルト値 |
|---|---|---|
--port | MCPサーバーのポート | 3100 |
--appium-port | Appiumサーバーのポート | 4723 |
--host | Appiumサーバーのホスト | localhost |
--device | デバイスUID(省略時は自動検出) | auto |
MCPツール一覧
セッション管理
create_session- 新しいAppiumセッションを作成close_session- アクティブなセッションを終了get_session_info- 現在のセッション情報を取得
アプリ操作
launch_app- 特定のバンドルIDでアプリを起動close_app- アプリを終了activate_app- アプリをフォアグラウンドに復帰
UI操作
tap- 座標をタップswipe- 指定方向にスワイプsend_keys- テキストを入力get_element- XPath/CSSセレクタで要素を取得get_element_attributes- 要素の属性を取得scroll- 縦方向にスクロール
スクリーンショット
take_screenshot- ストリーミングHTTP経由でスクリーンショットをキャプチャstream_screenshot- 連続的なスクリーンショットストリームを開始
設定例(Claude Code)
{
"mcpServers": {
"iphone": {
"command": "npx",
"args": [
"-y",
"@hunterkevv/iphone-mcp",
"--port", "3100",
"--appium-port", "4723"
]
}
}
}
トラブルシューティング
- Appium接続エラー:
appiumコマンドでAppiumサーバーが起動していることを確認 - デバイス未検出:
xcrun xctrace list devicesでデバイス一覧を確認 - 権限エラー: Xcode Helperとアクセシビリティ権限が有効化されていることを確認
開発者情報
- GitHub: hunterkevv/iphone-mcp
- ライセンス: MIT