Icemoon — control a real iPhone with AI について
Icemoonは、アプリに同梱されたローカルサーバーを通じて、実機のiPhoneをMCP対応クライアントに公開します。構造化された画面情報の読み取りやタッチ操作、iOSを脱獄しない複数手順の自動化が可能です。
主な機能
- 01構造化された画面要素の読み取り
- 02タッチ操作とキーボード入力
- 03進捗を確認できる複数手順の計画
- 04接続済みiPhoneの複数台制御
- 05スケジュール実行と保存スクリプト
活用シーン
- 01アプリのオンボーディング自動化と画面保存
- 02複数端末での保存済み自動化の実行
- 03接続端末での購入手順の録画
- 04アプリ操作の定期実行
MCP 対応
ローカルMCPサーバーは、互換クライアントに端末、画面読み取り、入力、ナビゲーション、計画、スケジュール管理のツールを提供します。Mac上のIcemoonアプリを介してUSB接続端末と通信します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y icemoon-mcpICEMOON_APPPath to AutomationStudio.app if it is not in /Applications. The Icemoon macOS app must be installed and licensed — get it at https://icemoon.appICEMOON_DASHBOARD_URLWhere the running Icemoon app listens locally. Defaults to http://127.0.0.1:8088ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Icemoon MCP Server — Claude から実機の iPhone を操作
AI に手を与えましょう。 Icemoon は、ローカルの Model Context Protocol サーバーを通じて、実機の iPhone を Claude(および MCP 互換のあらゆるクライアント)に公開します。AI はデバイスの画面を読み取り、複数ステップのタスクを計画し、人間のようなタッチ操作で実行します。標準の iOS で動作し、脱獄は不要です。
このリポジトリは、Icemoon アプリに同梱されている MCP サーバーの公式ドキュメントおよび連携リファレンスです。サーバー自体はアプリにバンドルされています(商用、クローズドソース)。MCP クライアントへの接続に必要な情報は、すべてここに記載されています。
ウェブサイト: icemoon.app · MCP の概要: icemoon.app/mcp · インストールガイド: icemoon.app/install
できること
┌────────────┐ MCP (stdio) ┌──────────────────┐ USB ┌────────────┐
│ Claude │ ◄─────────────────► │ Icemoon MCP │ ◄──────────► │ iPhone(s) │
│ (or any │ │ server + app │ │ stock iOS │
│ MCP client)│ │ on your Mac │ │ │
└────────────┘ └──────────────────┘ └────────────┘
- ピクセルではなく、構造として画面を認識 — 識別子と座標を備えた実際の UI 要素(ボタン、ラベル、テキストフィールド)を認識します。
- スクリプトではなく、手のようにタッチ — スワイプのたびに固有のベジェ曲線を描き、タップには自然なタイミングの揺らぎを持たせ、実際の iOS キーボードで文字を入力します。
- 計画を見える形で実行 — 複数ステップのタスクでは、AI が計画を作成し、Icemoon ダッシュボードで進捗をリアルタイムに確認できます。
- 複数のデバイスを操作 — 接続はプールされており、AI は接続済みの iPhone を瞬時に切り替えたり、呼び出しごとに特定のデバイスを指定したりできます。
- ローカルで動作 — MCP サーバーとデバイスはお使いの Mac 上で動作します。Icemoon のサーバーにデータが送られることはありません。
必要条件
- Apple Silicon(M1 以降)搭載の macOS 13 以降
- Icemoon がインストールされ、アクティベーション済みであること — MCP サーバーは Farm および Scale プランに含まれています
- USB 接続された 1 台以上の iPhone(標準の iOS、脱獄不要 — セットアップガイド)
クイックスタート(Claude Desktop)
- Icemoon をインストールし、iPhone を接続します — 手順ガイドをご覧ください。
- Icemoon アプリで AI Copilot → Install to Claude Desktop を開きます。アプリは、バンドルされた Python ランタイムを使って、サーバー(
automation-studioという名前)を~/Library/Application Support/Claude/claude_desktop_config.jsonに自動登録します。手動でインストールするものはありません。 - Claude Desktop を再起動します。すべてのチャットでデバイス用ツールを利用できるようになります。
次のように依頼してみてください。
iPhone で設定を開き、おやすみモードをオンにして、設定が保持されていることを確認してください。
npm 経由(あらゆる MCP クライアント)
icemoon-mcp は軽量なランチャーです。インストール済みの Icemoon アプリを見つけ、その中にバンドルされたサーバーに stdio を渡します。Python のインストールも、パスの確認も不要です。
{
"mcpServers": {
"icemoon": {
"command": "npx",
"args": ["-y", "icemoon-mcp"]
}
}
}
ランチャー自体は MIT ライセンスで、依存関係はありません。ソースを読むと、約 100 行です。単体では何も行いません。Icemoon アプリがインストールされ、ライセンスが有効になっている必要があります。そうでない場合は、入手先を表示して終了します。
AI エージェントにセットアップを任せる場合は、llms-install.md を参照するよう伝えてください。確認する前提条件、作成する設定、各エラーメッセージの意味が記載されています。
| 変数 | デフォルト | 用途 |
|---|---|---|
ICEMOON_APP | /Applications/AutomationStudio.app | 別の場所にインストールされている場合のアプリバンドルのパス |
ICEMOON_DASHBOARD_URL | http://127.0.0.1:8088 | 実行中の Icemoon アプリが待ち受ける場所 |
手動設定(Claude Code、Cursor、その他の MCP クライアント)
npm を使わない場合は、バンドルされたサーバーを直接実行するよう、任意の MCP クライアントを設定できます。バンドル内のランタイムとスクリプトを指定してください。
{
"mcpServers": {
"automation-studio": {
"command": "/Applications/AutomationStudio.app/Contents/Resources/mcp_python/bin/python3",
"args": ["/Applications/AutomationStudio.app/Contents/Resources/mcp_server.py"],
"env": {
"DASHBOARD_URL": "http://127.0.0.1:8088",
"PYTHONPATH": "/Applications/AutomationStudio.app/Contents/Resources/mcp_libs"
}
}
}
}
注意事項:
DASHBOARD_URLはローカルの Icemoon ダッシュボードを指します(デフォルトのポートは8088)。アプリが実行中である必要があります。- 正確なパスはビルドによって異なる場合があります。最も簡単な方法は、ワンクリックインストールを一度実行し、生成された設定ブロックを
claude_desktop_config.jsonからコピーすることです。
ツール
8つのグループにわたる53個のツールです。パラメーターを含む完全なリファレンスはdocs/tools.mdをご覧ください。同じ一覧は、機械可読なサーバーカードとしても公開されています。
| グループ | ツール | AI が得られる情報 |
|---|---|---|
| デバイスとセッション | list_devices connect_device disconnect_device device_status get_metrics | 実行中のデバイスの検出、プールされた接続、呼び出しごとのport=ターゲット指定 |
| 画面の理解 | get_visible_elements identify_screen get_screen_info get_screen_map get_element_at_position find_by_id find_by_label get_nav_map screenshot_save | 構造化された UI の読み取り — 要素、画面のフィンガープリント、アプリのナビゲーションマップ |
| タッチと入力 | tap tap_by_id tap_by_label tap_relative double_tap touch_hold swipe swipe_relative scroll pinch type_text smart_type keyboard_dismiss press_button | 人間のようなジェスチャーの合成、実際の iOS キーボードを通じた文字入力 |
| アプリとナビゲーション | open_app kill_app get_app_list navigate_to wait_for_screen | navigate_toは、検出 → 経路の決定 → 実行 → 検証を1回の呼び出しで行い、目的の画面に移動します |
| バッチ処理とプラン | run_batch sleep_delay foreach_elements plan_create plan_add_step plan_update_step plan_get | アクションシーケンス全体を1回のラウンドトリップで実行、ダッシュボード上でプランの進行状況をリアルタイム表示 |
| デバイスの状態 | lock_device unlock_device set_location pasteboard_get pasteboard_set video_record set_action_recording | ロック/ロック解除、クリップボード、画面録画、シミュレートされた GPS、アクションの記録 |
| スケジュールとスクリプト | schedule_task list_scheduled_tasks delete_scheduled_task list_saved_scripts | 保存済みの自動化を後で、指定したスケジュールで、デバイス群に対して実行 |
| ユーティリティ | http_request get_2fa_code | タスクの途中で外部データを取得(SSRF 対策済みの URL 検証)、サインインフロー用の TOTP コードを生成 |
プロンプトの例
- インストールしたばかりのアプリのオンボーディングを進め、各画面のスクリーンショットを撮ってください。
- 接続されているすべての iPhone で、保存済みの「朝のレポート」自動化を実行し、失敗したデバイスがあれば教えてください。
- すべてのデバイスでアプリのチェックアウト画面に移動し、一連の操作を動画に記録してください。
- 毎日9:00にアプリを開き、フィードを更新してスクリーンショットを保存するよう、スケジュールを設定してください。
セキュリティとプライバシー
- サーバーはローカルでバインドし、
127.0.0.1上のIcemoonダッシュボードとのみ通信します。デバイスはUSB経由で接続します。 - すべてのツール呼び出しはローカルの監査ログに記録されます(機密パラメーターはマスキングされます)。
http_requestはURLを検証し、プライベートネットワークの宛先をブロックします。- 画面の内容が届くのは、接続したMCPクライアント(例:Claude)のみです。届くのは、あなたのために作業している間だけです。
FAQ
これはオープンソースですか? このリポジトリ内のドキュメント、サンプル、マニフェストはMITライセンスです。サーバーは商用のIcemoonアプリに同梱されています。
Icemoonアプリがなくても動作しますか? いいえ。MCPサーバーは、アプリの自動化エンジンのAI向けインターフェースです。
Androidに対応していますか? いいえ。iOSのみです。人間のような入力と脱獄不要のセットアップを実現しているのは、この用途に特化しているためです。
どのプランに含まれていますか? FarmとScaleです。料金をご覧ください。
関連リンク
- icemoon-dev/icemoon — メインプロジェクト。ドキュメント、課題トラッカー、リリースノートがあります
icemoon-mcpon npm- icemoon.app — 製品サイト
Icemoon — 脱獄不要。Macから、人間のようなタッチ操作で実際のiPhoneを自動化。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。