Mobster について
Mobsterは、モバイル自動化を開発する人向けのMITライセンスのiPhoneエージェントエンジンです。観察・判断・検証・操作のループに安全機構とベンチマークを備え、これを使うMac製品は別途提供されています。
主な機能
- 01iPhone画面の読み取りと操作
- 02操作結果の段階的な検証
- 03リスクの高い操作の承認
- 04機密情報のマスキングと重複操作防止
- 05ベンチマークと評価ツール
活用シーン
- 01エージェントによるiPhoneタスクの試作
- 02モバイル自動化の動作確認とテスト
- 03ベンチマークによるiOSタスク完了度の評価
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Mobster engine
Mobster for Macを支えるエージェントループと、そのループを使って測定した研究成果です。MIT。
iPhoneを操作するエージェントは、メッセージを読み、送信をタップできます。このリポジトリには、そのタイミングを判断するコードが含まれています。観察、判断、検証、実行のループ、読み取りと操作を行うWebDriverAgentドライバー、そしてすべてのアクションを保護するセーフティコアです。ベンチマーク、評価、公開した結果も併せて収録しており、成果だけでなく損失も示しています。
Mobster for Macは、このループを基盤に構築された製品です。iPhoneをセットアップしてライブ表示し、カード上で確認を求め、スケジュールに沿ってワークフローを実行します。Claude Code、Cursor、Codexにも追加でき、アプリに蓄積された速度と品質に関する改善を取り入れてループを実行します。mobster.devでMobster for Macを入手。
ループを読む
| パス | 内容 |
|---|---|
mobile_agent/frontier.py | ループ本体です。1つのモデルが各ステップを計画し、ガード、タスク契約、DONEゲートが備わっています |
mobile_agent/contract.py | タスクの要求内容と、各項目が完了したことを示す画面上の証拠です |
mobile_agent/engines.py | アプリとベンチマークが共有する設定(モデル、推論、制限)と、結果の概要です |
mobile_agent/drivers.py, state.py | WebDriverAgentのHTTP APIです。アクセシビリティツリーをスナップショットとして取得し、タップ、文字入力、スワイプを行います |
mobile_agent/transport.py, gemini.py | モデル呼び出しの基盤となるトランスポートです。Claude、OpenAI、Geminiのクライアントと価格表はmodel_clients.pyにあります |
mobile_agent/journal.py, task_policy.py, effect_ledger.py, secret_filter.py, system_dialogs.py, permissions/ | セーフティコアです。デバイスロックと実行ジャーナル、送信、購入、投稿、削除と見なす操作、重複アクションのガード、秘密情報のマスキング、iOS独自のプロンプト、承認ゲートが含まれます |
mobile_agent/harness_api.py | Mobster for Macとの接点です。レジストリとフックがありますが、このリポジトリでは空です |
examples/reference_loop.py | 実行時の順序に沿ったループのAPIです |
mobile_agent/bench/, mobile_agent/evals/ | MobsterBench-iOS、iOSWorldハーネス、ベースライン、ペアA/Bテストツール、ラベル付けされたVisionJudgeのデータセットです |
mobile_agent/docs/, research/ | 設計メモと日付入りの研究レポートです |
1つのステップの仕組み
- 観察。 ドライバーがWebDriverAgentからアプリのアクセシビリティツリーを読み取り、各要素の役割、ラベル、値、フレームを含むスナップショットに変換します。
- 判断。 モデルにタスク、ここまでの計画、番号付きの行として表した画面を渡すと、次に行う1~6個のアクションが返されます。
- 検証。 アクションを実行する前に、ループはアクションを選択した画面に照らして確認します。実行後は画面を再度読み取り、アクションが反映されたことを確認します。
- 実行。 ドライバーがタップ、文字入力、またはスワイプを行います。ループは契約の証拠が画面に表示されるか、制限によって停止されるまでステップ1に戻ります。
各ステップを通じて、セーフティコアが次の保護を行います。
- 送信、購入、投稿、削除の前にはループが確認を求めます(
task_policy.py、permissions/)。結果が不明なアクションは再送されません(effect_ledger.py)。 - 次のアクションを送る前に、すべてのイベントが出力されます。Mobster for Macは各イベントをジャーナルに記録し(
journal.py)、1台のスマートフォンを同時にロックできるのは1つの実行のみです。 - パスワード、ワンタイムコード、カード番号、キーは、保存される前にマスキングされます(
secret_filter.py)。 - スマートフォンから読み取ったテキストはデータです。指示としてモデルに渡されることはありません。
examples/reference_loop.pyでは、iOSのバージョンを「設定」で読み取る、固定された読み取り専用タスクを通じてAPIの一連の流れを示します。iPhoneに接続するWebDriverAgentランナーと、ClaudeまたはOpenAIのキーを用意してください。すべての承認要求に対して「いいえ」と回答します。
結果
各数値は、何を対象に、いつ測定したかを示しています。手法と信頼区間は、mobile_agent/docs/benchmarks.md および research/ に記載されています。
| 測定対象 | 結果 | 失敗と課題 |
|---|---|---|
iOSWorld の dev_core 分割、このループ、低い推論設定の Claude Sonnet 5.5、シミュレーター、2026年10月10日〜11日 | 公式合格率 53.8%、エージェントの実行時間 p50 103 秒、1タスクあたり約 $0.18 | 複数アプリを使うタスクの合格率は31%です。公開済みの最高結果は全133タスクで51.9%のため、両者を直接比較することはできません |
| iOSWorld、未見の16タスク、ペアA/Bテスト、2026年9月28日 | Sonnet 5.5 は50%(95%信頼区間 28〜72)、1タスクあたり $0.197。Opus 5.5 は56%(31〜81)。gpt-5.6-sol は50% | この規模では、モデル間の差はいずれも統計的に有意ではありません |
| MobsterBench-iOS、68タスク、USB接続のiPhone 15 Pro、2026年9月24日 | 66タスク中54タスクに合格(82%、信頼区間 71〜89)、1タスクあたり p50 7.7 秒、$0.0057 | 複数アプリを使うタスクは6件中2件。リスクのあるタップを1件ブロックし、意図しない操作を2件記録しました。未使用のテストセットではありません。パスの間に修正を加えました(63%、71%、82%)。ベースラインは実行していません |
| 所要時間の内訳、346回の実行、2026年9月22日 | 実時間の約61%がデバイス側、約36%がモデル側です | 少なくとも17%は画面が安定するまでの待ち時間です |
| FrameClock(安定判定のクロックとしてのMJPEGストリーム)、iPhone 15 Pro、2026年9月23日 | ナビゲーションの安定までの平均時間は1,122ミリ秒から996ミリ秒に短縮し、48回中、早すぎる安定判定は0回 | 32回中0回の早すぎる安定判定でも、最大約9%の可能性が残ります。Safariのピクセル安定性は測定していません |
| 公開ドメインのラベル付き画像135枚でのVisionJudge、2026年9月23日 | 117件の回答中1件が誤り(適合率99.1%) | 評価者は1人です。同じセットで閾値を調整しており、スマートフォンのスクリーンショットではありません |
| アクション検証器、34回の試行、2026年9月19日 | 正しいアクションは14件中14件を許可し、誤ったアクションは12件中12件をブロックしました | 拒否すべきアクションを6件通してしまいました。「追加」の繰り返しは未解決です |
9月の結果は、このループがMobsterの唯一のエンジンになった2026年10月13日より前のものです。10月のiOSWorldの数値は、このループの結果です。調査メモでは、Mobster for Mac に含まれるモジュール(フレームクロック、ヘッジ付き呼び出し、スキル)について説明しています。これらのコードはこのリポジトリにはありません。
テスト
テストの実行に、スマートフォン、シミュレーター、ネットワーク、キーは不要です。
make venv
make test-backend
mobile_agent/tests/test_engine_boundary.py は、エンジンが自身のモジュール以外をインポートしていないことを確認し、スクリプト化されたスマートフォンとモデルでリファレンス例を実行します。
サードパーティ製ソフトウェア
エンジンは、PyPI から jsonschema および referencing(MIT)、Pillow(MIT-CMU)をインストールします。WebDriverAgent(BSD-3-Clause、Facebook, Inc.)とは HTTP 経由で通信します。このリポジトリには、そのコードは含まれていません。VisionJudge の画像は CC0 またはパブリックドメインで、クレジット表記は mobile_agent/evals/vision/manifest.json に記載されています。
ライセンス
MIT、著作権者は Radish Retail, LLC です。LICENSE を参照してください。脆弱性の報告方法は SECURITY.md をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。