phone-eye
Phone-Eye 📱👁️
AIエージェントに、実際のAndroidスマホを見せ、操作させましょう。
あなたのコーディングエージェントは、コードを読み、コマンドを実行し、ドキュメントを閲覧できます。しかし、実際のスマホ上で、実際のピクセルで、構築中のアプリを見ることができるでしょうか? Phone-Eyeは、それに目と指を与えます。
phone_look("what's on screen, and where is the login button?")
→ "Login button at (540, 1830) — a green 'Sign in' …"
phone_tap(540, 1830)
phone_look("did the next page load?")5つの動詞、フレームワークなし: エージェントはそれらを組み合わせて、必要なワークフローを構成します。あらゆるMCPクライアント (Claude Code、Codex、Cursor、dshなど) で動作します。
なぜ
スマホで動くものを構築・テストするなら、このループをご存じでしょう: 実機でレイアウトが崩れ、手動でスクリーンショットを撮り、画面を言葉で説明し(「右上の歯車、アカウントの隣」)、エージェントとスマホの間で座標デコーダーを演じる。Phone-Eyeはそのループを閉じます — エージェントは、コードベースで反復するのと同じように、デバイスと反復します。
融合された2つのチャネル:
ビジョン — ビジョンモデルが、ライブスクリーンショットに関する自然言語の質問に答えます(ゲームキャンバス、画像、ピクセルが表示できるあらゆるものに対応)。
UIツリー — アクセシビリティツリーが持つ正確なテキストと境界を取得するための
uiautomatorダンプ。
ビジョンはプラグ可能です。 describe_image(path, question)を公開するMCPサーバーならどれでも動作します — クラウドのGLMビジョンがすぐに使えるほか、ローカルのQwen-VLエンドポイントを指定すれば、ピクセルがLAN外に出ることはありません。
Related MCP server: scrcpy-mcp
インストール
要件: Python 3.10以上、PATHにadb(platform-tools / android-tools)、USBデバッグが有効なスマホ、そして任意のMCPビジョンサーバー。
git clone https://github.com/boheastill/phone-eye
cd phone-eye
pip install -r requirements.txt
# env (defaults shown):
export ANDROID_SERIAL="" # empty = first adb device; or 192.168.x.x:5555
export PHONE_EYE_VISION_URL="http://127.0.0.1:8102/mcp" # your vision MCPクライアント(stdio)に接続します:
// Claude Code / dsh-mcp-client / any stdio MCP config
{
"mcpServers": {
"phone-eye": { "command": "python", "args": ["/path/to/phone-eye/server.py"] }
}
}または、自社のフリートの背後でHTTPサービス(streamable-http)として実行し、http://<host>:8122/mcpを追加します — docs/fleet.mdを参照。
スマホを接続する(一度だけ)
USBで一度接続すれば、その後はWi-Fiでずっと使えます:
adb devices # USB: accept the debugging prompt on the phone
adb tcpip 5555 # switch to Wi-Fi mode
adb connect <phone-ip>:5555 # unplug and goツール
Tool | 説明 |
| ライブ画面についてビジョンモデルに質問; UIツリーのテキストと境界を融合 |
| タップ |
| スワイプ |
| ASCIIを入力(スペース可; CJKはクリップボード経由が必要 — 既知のadbの癖) |
| スクリーンショットをディスクに保存し、パスを返す |
できること / できないこと
✔ 1台の実Androidデバイスに対するエージェントの目と手、デバイスへのインストール不要、root不要 ✔ ビジョン優先(UIツリーでは見えない場所でも機能)で、精度のためのツリー融合 ✔ プライバシーオプション: ビジョンをLAN限定モデルに向ける
✘ テストフレームワークではない(DSL/レコーダーなし — エージェントがロジック) ✘ iOSではない、デバイスファームでもない(まだ) ✘ 人間向けのモバイルUIではない(それは別の製品)
ステータスとロードマップ
フェーズ1(現在): 5つの動詞、単一デバイス、プラグ可能なビジョン — 実ハードウェア(Redmi K40 Gaming / Android 13)でエンドツーエンドに検証済み。これまでの一番のお気に入りの芸当: 自分の画面に表示されたUSBデバッグ認証ダイアログを発見し、ボタンを読み取り、「許可」を自分でタップしました。
フェーズ2: オフラインビジョンのクイックスタート、マルチデバイス対応、リトライ/検証ラッパー
その他すべて: リクエスト駆動 — イシューを開くとキューで優先されます。
ライセンス
MIT
FAQ
ビジョンサーバー?持っていません。 describe_image(path, question)を公開するMCPサーバーならどれでも動作します。最も手軽なクラウドオプションはGLMビジョンエンドポイントです。完全オフラインの場合は、ローカルのQwen-VL(llama.cpp / OllamaのOpenAI互換 + 20行のアダプター)で、すべてのピクセルをLAN内に保てます。
なぜdshネイティブプラグインではないのですか? MCPファーストにより、同じ5つの動詞がすべてのクライアントで機能します。dshユーザーは@deepseek-ai/dsh-mcp-clientまたはdsh plugin addで接続できます。
検証済みデバイス
デバイス | Android | 接続 | 備考 |
Redmi K40 Gaming (ares) | 13 (HyperOS) | Wi-Fi adb ( | 作者のフリートの日常使用機 |
この表にPRで追加してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
A real Android phone in the cloud for MCP agents: observe the screen, act, reset to a saved state.
Cloud Android phones for AI agents: create a phone, read the screen, tap, type, install APKs, park.
Control real Android and iOS devices with LLM agents — tap, swipe, type, automate flows.
Melaya is a remote MCP server. It gives an assistant hands on your own Android phone and browser: it reads the screen through the accessibility tree, then taps, types and navigates inside the apps and sites you allow-list, with no per-app API. It also builds, schedules and runs agent pipelines across 6k+ connected tools. OAuth 2.1, nothing to install.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables full Android control from any AI agent via 7 MCP tools, including screen capture, touch interaction, app management, and system control.MIT
- AlicenseAqualityAmaintenanceMCP server that gives AI agents full vision and control over Android devices via ADB and scrcpy. Supports screenshots, input, apps, UI automation, shell, files, and clipboard.38266 npm115MIT
- AlicenseBqualityDmaintenanceAn MCP server that allows AI agents to drive real Android devices via adb, capturing screenshots, reading the live UI tree, and performing actions like tap, swipe, and type.135 npm1Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables agents to interact with Android via text-based UI trees instead of screenshots, supporting taps, swipes, input, macro recording, and device control through an MCP server and CLI.-