mcpField
I
iPhone Use

iPhone Use

ローカル
github.com生産性393今日更新

iPhone Use について

iphone-use は Mac から AI エージェントや人が実機の iPhone を操作できるツールです。API のないアプリにも対応し、画面テキストの取得や操作のほか、完了したタスクの再生可能なフロー化ができます。

主な機能

  1. 01アクセシビリティテキストで画面を読み取り
  2. 02アプリ内でタップ、入力、スワイプ、スクロール
  3. 03USB または Wi-Fi で接続
  4. 04モデルを使わず記録済みフローを再生
  5. 05ブラウザーまたは iOS アプリから操作
  6. 06ログの読み取りとアプリビルドのインストール

活用シーン

  1. 01API のないアプリから情報を読み取る
  2. 02Notes に長文を入力
  3. 03実機でアプリのテストを実行
  4. 04繰り返し行う端末操作を再生

MCP 対応

Mac 上のデーモンが MCP サーバーを通じて iPhone の操作機能を公開し、Claude Code、Codex、Claude Desktop、Cursor などのクライアントに対応します。エージェントやスクリプト向けの HTTP API も提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

iphone-use アイコン

iphone-use

AI エージェントが実際の iPhone を操作できるようにします。
Claude Code、Codex、または任意の MCP クライアントが画面をテキストとして読み取り、API のないアプリも含め、あらゆるアプリでタップ、入力、スワイプを行えます。

最新リリース PR チェック ライセンス:PolyForm Shield 1.0.0 プラットフォーム:macOS 15+ iPhone:iOS 15+ Rust で構築 MCP サーバー

英語 · 簡体字中国語

curl -fsSL https://raw.githubusercontent.com/leeguooooo/iphone-use/main/install.sh | sh

https://github.com/user-attachments/assets/ee298774-bf3e-4fd0-9a08-481b20904f61

実際の iPhone の録画による1分間のデモ · 中国語版

広告 · 募集中

こちらに広告を掲載

こちらで製品を紹介して、継続的なメンテナンスを支援しましょう。

広告について問い合わせる · [email protected]

有償セットアップとプロジェクトスポンサーシップ

実際の iPhone のセットアップ、エージェントの接続、または iOS アプリのテストワークフローの作成でサポートが必要ですか?ご利用の環境、ワークフロー、期待する結果、現在困っていることをメールでお知らせください。実現可能性を確認し、作業を開始する前に範囲、受け入れ基準、見積もりについて合意します。

有償セットアップについて問い合わせる · スポンサーシップについて相談する · [email protected]

継続的なメンテナンスを支援したいですか?一度限り、または定期的な寄付について、メールでご相談ください。

GitHub でのコミュニティによるバグ報告や機能リクエストも引き続き歓迎しています。お問い合わせには認証情報や個人アカウントのデータを含めないでください。

iphone-use を選ぶ理由

  • あらゆるアプリに対応し、API は不要です。 ヘルスケア、銀行や決済アプリ(画面収録が黒くなるアプリも含む)、チャットアプリ、テスト対象の独自アプリで動作します。
  • USB または Wi-Fi に対応しています。 最初にケーブルで iPhone をセットアップすれば、その後は暗号化トンネル経由で Wi-Fi から操作できます。
  • 古い iPhone にも対応します。 iOS 15 以降で動作し、iPhone をアップデートする必要はありません。
  • 高速です。 独自の XCTest デバイスランナーが約 0.1 秒で画面を読み取ります。画面が落ち着くまで待ってから結果を返すタップには、約 1.9 秒かかります(数値)。
  • 結果を正確に伝えます。 各アクションについて、実行されたか、送信されなかったか、結果が不明かを報告し、再試行が安全かどうかも伝えます。要素が別の要素に覆われている場合、タップは拒否され、完了したことにはされません。
  • フローを再実行できます。 一度実行したタスクは、モデルもトークンも使わず、1 回の呼び出しで再実行できるフローになります。
  • 人もリモートから操作できます。 LAN 内でも、どこからでも、ブラウザーや別の iPhone から自分で iPhone を操作できます。ライブ H.264 画面、マウスとキーボード、QR コードによるペアリングに対応しています。エージェントと人は、互いの操作を妨げずに 1 台の iPhone を共有できます(詳細)。
  • エージェントの操作をリアルタイムで確認できます。 MCP Apps に対応している場合はエージェントホストのサイドパネルに、またはブラウザーや iOS アプリに iPhone の画面が表示されます。
  • Mac 上のものは何も動きません。 Mac の画面、カーソル、フォーカスには一切触れません。

頼めること

Open Health and tell me how many steps I walked each day this week.
Find the newest message from Mom in WeChat and read it to me.
Collect every transaction on this bank statement page, all the way to the end.
Write this 2,000-word draft into a new note in Notes.
Run my app's login test on the real phone and tell me which step fails.

エージェントはアプリ名でアプリを見つけ(launch_app {"app": "Health"})、長いテキスト(最大 20,000 文字)を一度に入力します。ページをまたぐリストを読み取り、最後まで到達したかどうかを伝えることもできます。

仕組み

 Claude Code / Codex / any MCP client ──MCP──┐
 scripts and other agents ─────────────HTTP──┤
                                             ▼
                          iphone-use daemon on your Mac ──USB or Wi-Fi──▶ XCTest runner on the iPhone
                                             ▲
 you, in a browser or the iOS app ───────────┘

Mac 上で、iPhone ごとに 1 つのデーモンが動作します。アクセシビリティツリー(ピクセルではなくテキスト)として画面を読み取り、iPhone にインストールする小型の XCTest ランナーを通じてタップや文字入力を送り、応答する前に画面が落ち着いたことを確認します。エージェントも人も同じデーモンを経由し、一度に iPhone を操作できるのはどちらか一方です。

インストール

必要なもの

  • macOS 15 以降を搭載した Mac と、Apple ID でサインイン済みの Xcode(無料の Apple ID でも使えます)。
  • iOS 15 以降を搭載し、デベロッパモードを有効にした iPhone(「設定」→「プライバシーとセキュリティ」→「デベロッパモード」)。
  • 初回のセットアップに使う USB ケーブル。インストールする前に iPhone を接続してロックを解除してください。

インストーラーが iPhone をセットアップし、エージェントが「設定」を開いて読み取る様子を表示します。MCP サーバーを Claude Code と Codex に登録し、インストール済みの場合は Cursor と Claude Desktop にも登録します(IPHONE_USE_NO_CLIENT_SETUP=1 を指定すると、この 2 つはスキップされます)。また、ワンタイムサインインでブラウザーに操作ページを開くため、パスワードをコピーする必要はありません。不足しているものがあれば、その内容と解決方法を表示します。

iphone-use status    # is the phone ready for agents?
iphone-use doctor    # what is missing, and how to fix it
iphone-use setup     # set the phone up again (after a new iPhone or Xcode)
iphone-use try       # a harmless check: open Settings, read the screen, go Home
iphone-use login     # sign a browser in again, with a QR code for the iPhone
iphone-use upgrade   # update everything
~/.iphone-use/uninstall.sh --dry-run   # what uninstalling would remove (drop --dry-run to do it)
エージェントにインストールを頼むこともできます

iPhone を接続した Mac の Codex または Claude Code に、以下を貼り付けてください。

Install iphone-use (https://github.com/leeguooooo/iphone-use) on this Mac so you can drive my iPhone.
1. Run: curl -fsSL https://raw.githubusercontent.com/leeguooooo/iphone-use/main/install.sh | sh
2. Run `iphone-use doctor`. Fix what it reports that can be fixed from the terminal, and run
   `iphone-use setup` when it tells you to.
3. Some steps only I can do: signing in to an Apple ID in Xcode, tapping Trust on the iPhone,
   turning on Developer Mode, unlocking the phone. For those, stop, tell me exactly what to do,
   and wait until I say it is done. Never ask me for a password or a code.
4. Run `iphone-use doctor` again until nothing is missing, then `iphone-use try`.
5. If the phone_* tools are not loaded in this chat yet, tell me to start a new chat.
Codex と Claude Code のプラグイン

各プラグインはスキルと MCP サーバーを追加します。いずれも上記のインストールが必要です。

codex plugin marketplace add leeguooooo/iphone-use && codex plugin add iphone-use@iphone-use

Claude Code では:

/plugin marketplace add leeguooooo/iphone-use
/plugin install iphone-use@iphone-use

人が操作するリモートコントロール

エージェントにサービスを提供するデーモンを使って、自分でスマートフォンを操作することもできます。

  • ブラウザーから。 ライブ画面はスマートフォン上で H.264 にエンコードされて届きます。LAN ではネイティブ解像度で約 50 fps、低速な接続向けには軽量モードで表示されます。クリックでタップ、ドラッグでスワイプ、長押しでロングタップ、ホイールまたはトラックパッドでスクロールできます。入力方法を使ってスマートフォンに直接入力でき、⌘V で貼り付けられます。Controls パネルには画面上の要素が一覧表示され、ラベルを指定してタップできます。また、Flow パネルでは操作が記録され、再生可能なフローになります。ページはブラウザーの言語(英語または中国語)に合わせて表示され、サイドバーで切り替えられます。
  • 別の iPhone から。 ネイティブ iOS アプリ(最小デプロイメントターゲットは iOS 15)は、Mac のページに表示された QR コードをスキャンしてペアリングするため、アドレスやパスワードを入力する必要はありません。ハードウェアデコーダーで画面を再生でき、複数のスマートフォンを切り替えて操作できます。iphone-use setup-app でインストールすると、自分のチームの署名が付与されます。有料チームの場合は、Mac なしでアプリから自身のスマートフォンも操作できます(詳細)。
  • キャプチャ時に非表示になる画面。 銀行アプリや決済アプリは画面キャプチャを黒塗りにします。その場合は、何も表示されない画面の代わりに、画面上の要素を示すライブのワイヤーフレームが表示され、引き続きタップして操作できます。
  • どこからでも。 認証付き HTTPS リバースプロキシまたは Tailscale などの VPN を経由して Mac に接続すれば、ネットワークの外からスマートフォンを操作できます(セキュリティに関する注意事項)。
  • 操作の競合なし。 スマートフォンを操作できるのは一度に 1 人だけです。あなたが操作している間、エージェントは待機するか、誰がスマートフォンを操作しているかを通知されます。その逆も同様です。

操作中も Mac 上では何も動きません。ウィンドウがフォーカスを奪うことはなく、カーソルもそのままの位置にとどまります。

エージェントから使う

Mac 上のデーモンが iPhone を操作し、次の 3 つの方法で同じ操作を提供します。

  • Claude Code、Codex、Claude Desktop、Cursor、その他の MCP クライアント向けの MCP サーバー。
  • エージェントやスクリプト向けの HTTP API(/agent/*)。
  • ユーザー向けの Web ページとネイティブ iOS アプリ(リモート操作)。

インストーラーは、存在する場合、Claude Code、Codex、Cursor、Claude Desktop に MCP サーバーを登録します(IPHONE_USE_NO_CLIENT_SETUP=1 を設定すると、Cursor と Claude Desktop は対象外になります)。それ以外の MCP クライアントに必要なのはコマンドだけです。この Mac では、サーバーがデーモンとそのトークンを自動で見つけます。

{
  "mcpServers": {
    "iphone-use": {
      "command": "/Users/YOU/Applications/iPhoneUse.app/Contents/MacOS/iphone-use-mcp"
    }
  }
}
Cursor、VS Code、Claude Desktop、Gemini CLI、opencode、Windsurf の設定

絶対パス(YOU を置き換えてください)を使用し、エントリーをファイルに統合してください。既存のサーバー設定は残してください。

  • Cursor:~/.cursor/mcp.json(またはプロジェクト内の .cursor/mcp.json)に、上記の mcpServers ブロックを追加します。

  • Claude Desktop:~/Library/Application Support/Claude/claude_desktop_config.json に、上記の mcpServers ブロックを追加します。アプリを終了して再起動してください。

  • Gemini CLI:~/.gemini/settings.json(またはプロジェクト内の .gemini/settings.json)に、上記の mcpServers ブロックを追加します。

  • Windsurf / Devin Desktop:~/.codeium/windsurf/mcp_config.json(新しいビルドでは ~/.config/devin/mcp_config.json)に、上記の mcpServers ブロックを追加します。

  • VS Code / Copilot:ワークスペース内の .vscode/mcp.json、またはすべてのワークスペースで使う場合は MCP: Open User Configuration を使用します。キーは servers です。

    {
      "servers": {
        "iphone-use": {
          "type": "stdio",
          "command": "/Users/YOU/Applications/iPhoneUse.app/Contents/MacOS/iphone-use-mcp"
        }
      }
    }
    
  • opencode:~/.config/opencode/opencode.json(またはプロジェクト内の opencode.json)に設定します。キーは mcp で、コマンドは配列で指定します。

    {
      "$schema": "https://opencode.ai/config.json",
      "mcp": {
        "iphone-use": {
          "type": "local",
          "command": ["/Users/YOU/Applications/iPhoneUse.app/Contents/MacOS/iphone-use-mcp"],
          "enabled": true
        }
      }
    }
    

HTTP API を直接呼び出すこともできます。

AUTH="Authorization: Bearer $TOKEN"; CTL="X-Phone-Control: 1"
curl -s -H "$AUTH" $HOST/agent/elements                     # the screen as text + a snapshot token
curl -s -H "$AUTH" -H "$CTL" -X POST "$HOST/agent/input?return=delta" \
  -d '{"type":"tap","element":7,"snapshot":"…"}'            # tap, then what changed (~2 s)

アプリ開発者やテスター向けに、同じツールで iPhone のログやクラッシュレポートの読み取り、画面の MP4 録画、ビルド(.ipa、.app、または https リンク)のインストール、シミュレートされた位置情報の設定、エージェントがアプリを開いたときに読み取るアプリごとのメモの保存もできます。IPHONE_USE_MCP_TOOLS=readonly を設定すると、読み取り専用ツールのみが公開されます。また、iphone-use-mcp --listen 127.0.0.1:PORT を実行すると、MCP を HTTP 経由で提供します。ループバックリスナーに接続できるのは同じ Mac からのみです。別のマシン上のクライアントから接続する場合は、認証付きトンネルの背後に配置するか、IPHONE_USE_MCP_TOKEN を設定したうえで別のアドレスで待ち受けてください(ループバック以外ではこの設定が必須です)。

手元に iPhone がありませんか?開発中は、同じ方法で iOS シミュレーターを操作できます(プレビュー機能、Xcode が必要です)。iphone-use simulator start "iPhone 16 Pro" を実行すると、すべてをビルドして起動します。その後、claude mcp add iphone-sim -e IPHONE_USE_INSTANCE=sim -- iphone-use-mcp でエージェントを接続します。シミュレーターを参照してください。

MCP ツールとエージェント API リファレンスを参照してください。

安全性とプライバシー

  • 秘密情報は端末から外に出ません。 ログイン、パスコード、Face ID が必要になると、エージェントは停止し、スマートフォンで操作を完了するよう求めます。パスワードやコードを尋ねることはありません。
  • エージェントの指示では回避できない制限。 デーモンは、ブロックしたアプリ(たとえば IPHONE_USE_BLOCKED_APPS の Wallet, Passwords)を拒否し、タスクごとのアクション数に上限を設けます(IPHONE_USE_MAX_ACTIONS)。エージェントのプロンプトに何が書かれていても適用されます(詳細)。
  • 実行内容を確認できます。 ウェブページには、ライブ画面の上に各アクションが「“Wi-Fi”をタップしました」のように分かりやすい言葉で表示されます。入力したテキストは保存されず、長さだけが記録されます。
  • デフォルトでローカル動作。 デーモンはパスワードで保護された 127.0.0.1:44321 で待ち受け、スマートフォン上のランナーは、起動ごとに発行されるトークンで署名されたリクエストのみを受け付けます。iOS 15/16 の LAN 経由の通信は暗号化されません(セキュリティ)。
  • テレメトリーはありません。 このビルドは利用状況データを送信しません(テレメトリー・プライバシーポリシー)。

phone_home_layout は、ペアリング済みのスマートフォンに保存されたホーム画面のページ、Dock、フォルダ、ウィジェットスタックを、フォルダを開いたりスクリーンショットを撮ったりせずに読み取ります。応答を絞り込むには page を使います。ページのインデックスには、非表示または集中モードでフィルタリングされたページも含まれます。ドラッグする前に新しい UI 要素を取得し、グリッドの位置を画面座標として扱わないでください。

フロー:タスクを一度実行し、モデルなしで再生する

繰り返し実行するタスクはフローとして保存されます。フローはアプリごとに確認済みのスクリプトで、モデルなしで再生できるため、トークンを消費しません。公式レジストリは leeguooooo/iphone-use-flows です。ブラウザーの Flow パネルでフローを記録し、PR を作成してレジストリに公開します。

エージェントはフローを自動で見つけます。アプリに入ると、応答にそのアプリのフローが一覧表示されます。フローがないアプリでエージェントが複数ステップのタスクを実行すると、そのタスクをフローとして保存するかどうかを尋ねます。デーモンはすでに手順をドラフトとして記録しています。デーモンはレジストリを自動で最新の状態に保ちます(IPHONE_USE_FLOWS_NO_AUTO_UPDATE=1 で無効化し、IPHONE_USE_FLOWS_NO_SUGGEST=1 で保存の提案を停止できます)。

MCP=~/Applications/iPhoneUse.app/Contents/MacOS/iphone-use-mcp
$MCP flow update                            # sync the registry (sha256-checked)
$MCP flow list                              # what is available
$MCP flow run health/export-all-zh-cn       # replay one; failures say which step and why
$MCP flow draft --out my-task.json          # what you just did on the phone, as a draft flow

フローを使うと、再実行可能なテストスイート($MCP test suite.yaml。CI 用の終了コードを返します)や、デーモンが cron 行に基づいて開始するスケジュール実行($MCP schedule add)も作成できます。テストとスケジュール実行をご覧ください。

速度

iphone-use は、独自の XCTest ランナー(runner/)を通じてスマートフォンを操作します。WebDriverAgent HTTP API を使用し、速度を重視して構築されています。

  • 要素ツリーを属性ごとにたどる代わりに、属性セットを固定したアクセシビリティスナップショットを一度取得して画面を読み取ります。
  • タッチ操作を直接合成し、アプリがアイドル状態になるのを待たずに実行します。操作後、デーモンが画面の表示が落ち着いたことを確認します。
  • HTTP サーバーと MJPEG ストリームを内蔵した小型のアプリ 1 つで動作し、スマートフォンに追加の依存関係はありません。

同じ iPhone 13 を USB 接続し、agent-device と比較して測定した結果(2026 年 10 月):

iphone-use ランナーagent-device
画面の読み取り(アクセシビリティツリー)0.08–0.135 秒約 0.7 秒
タップ後、画面が落ち着くまで待機1.0 秒2.8–3.3 秒

エージェント API 全体を通じて、ラベルでタップし、画面の変化が落ち着いた状態で応答を返すまでの時間は、iPhone 17 Pro Max で約 1.9 秒です。WebDriverAgent ベースのリリースでは 4.2 秒でした。ライブビューは 27~28 fps でストリーミングされます。各スマートフォンには専用のデーモンとランナーが割り当てられるため、2 台を同時に操作しても、1 台だけの場合と同じ速度で動作します。

詳細情報

ライセンス

PolyForm Shield 1.0.0。このプロジェクトはソースを利用可能な形式で公開しています。ライセンスの条件に従い、競合しない用途での使用、変更、配布が許可されています。無料の場合も含め、競合する製品やサービスを提供するために本ソフトウェアを使用することは禁止されています。ライセンスの適用範囲とサードパーティに関する通知をご覧ください。

*-use ファミリー

AI エージェントが実際の対象を1つ操作できるようにする、小さく組み合わせ可能なCLIです。どのリポジトリも同じ形式です。curl … install.sh | shでインストールし、標準出力にJSONを出力します。また、エージェントに操作方法を教えるコンパニオンスキルが付属します。適切なインストール方法はプロジェクトやリリースごとに異なるため、各リポジトリのREADMEでスキルのインストール方法を説明しています。

リポジトリエージェントに提供するもの
chrome-use実際のブラウザー — ログイン済みセッション、フォーム、スクレイピング、スクリーンショット
mail-useメール — Gmail / QQ / 163 / 任意のIMAPでの閲覧、検索、送信、振り分け
wechat-usemacOS上のWeChat — メッセージの送信、連絡先や履歴の照会
discord-useDiscord — メッセージ、チャンネル、フォーラム、Webhook(RESTのみ、Rust)
cookie-useサイトごとに複数のログイン済みアカウント — セッションの取得、切り替え、適用
profile-use個人プロフィールを安全に利用 — 登録 / KYC / チェックアウトフォームへの入力
bitwarden-useBitwarden / Vaultwarden — ヘッドレスでのパスキー(FIDO2)ログイン
chatgpt-useAPIキー不要で、ChatGPTのサブスクリプションをコーディングエージェントのバックエンドとして利用
computer-usemacOSデスクトップそのもの
pixcake-use読み取り専用のPixCake調査 — スナップショット / 差分 / SQLiteの検査

作者

郭立 (Guo Li / leeguoo) によって開発 — leeguoo.com · GitHub · X · *-use ファミリーにあるその他のツール。

コメント

MCP は初めてですか?

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

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