mcpField
I
Icemoon — control a real iPhone with AI

Icemoon — control a real iPhone with AI

ローカル
icemoon.app開発ツール013 週間前に更新

Icemoon — control a real iPhone with AI について

Icemoonは、アプリに同梱されたローカルサーバーを通じて、実機のiPhoneをMCP対応クライアントに公開します。構造化された画面情報の読み取りやタッチ操作、iOSを脱獄しない複数手順の自動化が可能です。

主な機能

  1. 01構造化された画面要素の読み取り
  2. 02タッチ操作とキーボード入力
  3. 03進捗を確認できる複数手順の計画
  4. 04接続済みiPhoneの複数台制御
  5. 05スケジュール実行と保存スクリプト

活用シーン

  1. 01アプリのオンボーディング自動化と画面保存
  2. 02複数端末での保存済み自動化の実行
  3. 03接続端末での購入手順の録画
  4. 04アプリ操作の定期実行

MCP 対応

ローカルMCPサーバーは、互換クライアントに端末、画面読み取り、入力、ナビゲーション、計画、スケジュール管理のツールを提供します。Mac上のIcemoonアプリを介してUSB接続端末と通信します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"app-icemoon-automation-studio": {
"command": "npx",
"args": [
"-y",
"icemoon-mcp"
],
"env": {
"ICEMOON_APP": "<ICEMOON_APP>",
"ICEMOON_DASHBOARD_URL": "<ICEMOON_DASHBOARD_URL>"
}
}
}
}
起動コマンドnpx -y icemoon-mcp
設定が必要な環境変数
ICEMOON_APPPath to AutomationStudio.app if it is not in /Applications. The Icemoon macOS app must be installed and licensed — get it at https://icemoon.app
ICEMOON_DASHBOARD_URLWhere the running Icemoon app listens locally. Defaults to http://127.0.0.1:8088

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

パッケージ
npmicemoon-mcp1.0.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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)

  1. Icemoon をインストールし、iPhone を接続します — 手順ガイドをご覧ください。
  2. Icemoon アプリで AI Copilot → Install to Claude Desktop を開きます。アプリは、バンドルされた Python ランタイムを使って、サーバー(automation-studio という名前)を ~/Library/Application Support/Claude/claude_desktop_config.json に自動登録します。手動でインストールするものはありません。
  3. 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_URLhttp://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_screennavigate_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 — 脱獄不要。Macから、人間のようなタッチ操作で実際のiPhoneを自動化。

コメント

MCP は初めてですか?

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

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