Zeptap について
Zeptapは、エージェントから実機のiPhoneを操作できるMacアプリとMCP設定です。実機でのiOSテストや日常的な操作に使え、各操作後にスクリーンショットを返して結果を確認できます。
主な機能
- 01USBとBluetoothによる実機iPhoneの操作
- 02スクリーンショット撮影とOCRによる文字読み取り
- 03タップ、スワイプ、入力、アプリ起動
- 04各操作後のスクリーンショット返却
- 05複数の接続済みiPhoneに対応
活用シーン
- 01実機iPhoneでのiOSアプリテスト
- 02アプリの登録手順を確認して画面を撮影
- 03設定変更や日常的なスマホ操作
- 04複数の接続済みiPhoneの操作
MCP 対応
Zeptapはhttp://127.0.0.1:47801/mcpでローカルのStreamable HTTP MCPサーバーを実行します。stdioクライアント向けのリレーも用意されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AI エージェントが実機の iPhone の画面を見て、タップ、スワイプ、入力できるようにします。
Zeptap Mac アプリ用の MCP 設定、Claude Code プラグイン、エージェントスキル、stdio リレーです。
概要
Zeptap は、AI エージェントが実機の iPhone を操作できる Mac アプリです。Mac は USB 経由で iPhone の画面を読み取り、AssistiveTouch を通じて Bluetooth 経由でタップや入力を送信します。アプリはローカルで MCP サーバーを http://127.0.0.1:47801/mcp(Streamable HTTP、ループバックのみ、認証なし)で起動します。すべての操作でスクリーンショットが返されるため、エージェントは自分の作業を確認できます。
実機で自分の iOS アプリをテストしたり、普段使っているエージェントに日常的なスマートフォン操作を任せたりできます。
「自分のアプリを開いて、サインアップの流れを確認して」 · 「ダークモードですべての画面のスクリーンショットを撮って」 · 「低電力モードをオンにして」 · 「設定で Wi-Fi のパスワードを探して」
このリポジトリにはクライアント設定、プラグイン、スキル、リレーが含まれています。アプリ本体は含まれていません。
知っておくとよいこと
🔌 iPhone へのインストールは不要です。 Xcode、デベロッパモード、Apple Developer アカウントは不要です。iPhone で必要な手順は Bluetooth のペアリングだけです。
📱 シミュレーターではなく実機の iPhone です。 App Store アプリ、設定、Safari、メッセージ、TestFlight のビルドに対応しています。タップできるものなら、エージェントが操作できます。
🔒 ローカルのみで動作します。 MCP サーバーは同じ Mac からの接続のみを受け付けます。スクリーンショットは、接続したエージェントにのみ送信されます。プライバシーをご覧ください。
💳 Mac アプリは有料ですが、最初の 1 時間は無料です。 Mac アプリはクローズドソースです。初回の利用時間終了後は、月額 25 ドル、買い切り 99 ドル、または iPhone 5 台まで対応する買い切り 199 ドルです。料金をご覧ください。このリポジトリの内容はすべて MIT ライセンスです。
はじめる
- **Zeptap をダウンロード**するか、
brew install --cask zeptap/tap/zeptapを実行します。 - USB ケーブルで iPhone を接続し、「信頼」をタップして、セットアップアシスタントで Bluetooth をペアリングします。
- エージェントにサーバーを追加(以下を参照)し、スクリーンショットを撮るよう依頼します。
必要なもの: Bluetooth 搭載の macOS 14 以降の Mac、iPhone、USB ケーブル。
エージェントを接続する
Claude Code
claude mcp add --transport http --scope user zeptap http://127.0.0.1:47801/mcp
または、サーバーとスキルを追加するプラグインをインストールします。
/plugin marketplace add zeptap/mcp
/plugin install zeptap@zeptap
Cursor
~/.cursor/mcp.json:
{ "mcpServers": { "zeptap": { "url": "http://127.0.0.1:47801/mcp" } } }
Codex
~/.codex/config.toml:
[mcp_servers.zeptap]
url = "http://127.0.0.1:47801/mcp"
VS Code
.vscode/mcp.json:
{ "servers": { "zeptap": { "type": "http", "url": "http://127.0.0.1:47801/mcp" } } }
Claude Desktop およびその他の stdio クライアント
{ "mcpServers": { "zeptap": { "command": "npx", "args": ["-y", "@zeptap/mcp"] } } }
Node を使わない場合:
{ "mcpServers": { "zeptap": { "command": "/Applications/Zeptap.app/Contents/MacOS/Zeptap", "args": ["--stdio"] } } }
動作確認(Zeptap を起動した状態で):
curl -s http://127.0.0.1:47801/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
ツール
| ツール | 機能 |
|---|---|
list_phones | この Mac に接続されている iPhone と、phone に渡す ID を一覧表示します |
screenshot | 現在の iPhone 画面を画像で返します |
find_text | 画面上のテキストをデバイス上で OCR します。フィルターは任意です |
wait | 待機してから、画面が落ち着いた状態のスクリーンショットを返します |
load_skill | 組み込みのアプリガイドを返します |
tap、double_tap、long_press | 座標 x、y をタッチします |
tap_text | 画面に表示されているテキストラベルをタップします |
drag、flick | 点間をドラッグするか、指定した方向にスクロールします |
type_text、press_key | テキストを入力するか、修飾キーを指定してキーを押します |
home、back、dismiss | ホーム画面に戻る、前の画面に戻る、シートやキーボードを閉じる操作を行います |
open_app | 名前を指定してインストール済みアプリを開きます |
lock、unlock | USB 経由でロックする、またはキーチェーンに保存されたパスコードでロック解除します(オプトイン) |
各アクションは、画面が落ち着いた後にスクリーンショットを返します。list_phones 以外の各ツールでは phone を任意で指定できます。省略すると、ツールは Zeptap でアクティブな iPhone を操作します。完全なリファレンスは zeptap.com/docs/agents/tools をご覧ください。
このリポジトリの内容
| パス | 内容 |
|---|---|
skills/zeptap/SKILL.md | エージェントスキル:接続の確認、観察・操作・検証のループ、最初に確認すべきタイミング。~/.claude/skills/ にコピーするか、プラグインをインストールしてください |
.claude-plugin/ | Claude Code のプラグインとマーケットプレイスのマニフェスト |
.mcp.json | プラグインがインストールする MCP 設定 |
bin/zeptap-mcp.js | @zeptap/mcp。Zeptap --stdio を起動する stdio リレーです。アプリが /Applications にない場合は ZEPTAP_BIN を設定してください |
server.json、smithery.yaml | レジストリのマニフェスト |
FAQ
Android や iOS Simulator でも動作しますか?
いいえ。Zeptap は Mac にケーブルで接続された実機の iPhone を操作します。Windows、Linux、リモートのスマートフォンにも対応していません。
複数の iPhone を操作できますか?
はい。list_phones を呼び出してから、各呼び出しで phone を指定してください。異なる iPhone に対する呼び出しは並行して実行されます。Lifetime Plus ライセンスでは最大 5 台の iPhone を利用できます。
どのような用途を想定していますか?
自分の iOS アプリのテストや、自分のアカウントとアプリの自動化です。偽のエンゲージメント、大量のアカウント作成、デバイスのなりすましには使用できません。
サポート
[email protected] までメールでお問い合わせいただくか、ドキュメント をご覧ください。エラーについてはトラブルシューティングをご確認ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
