mcpField
F
Fonino

Fonino

ローカル
fonino.app生産性05 日前に更新

Fonino について

FoninoはMac上で動作し、エージェントから実機のiPhoneやAndroidを操作できるMCPサーバーです。送信、投稿、購入、削除などはユーザーの承認が必要で、アプリや操作にも制限があります。

主な機能

  1. 01画面の表示とアプリの起動
  2. 02タップ、スワイプ、文字入力
  3. 03送信前のユーザー承認
  4. 04機密アプリと高リスク操作の制限
  5. 05USBまたはミラーリングでiPhoneを操作

活用シーン

  1. 01エージェントに情報検索やアプリ操作を任せる
  2. 02承認後にメッセージ送信などを行う
  3. 03ユーザー操作が必要なログイン時にスマートフォンへ引き継ぐ

MCP 対応

FoninoはローカルHTTPとstdioでMCPクライアントに接続し、デバイス、画面、タップ、文字入力、メッセージ、承認などのツールを提供します。送信、投稿、購入、削除を伴う操作はユーザーの承認まで保留されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"fonino-fonino": {
"command": "npx",
"args": [
"-y",
"fonino"
]
}
}
}
起動コマンドnpx -y fonino

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

パッケージ
npmfonino0.1.1

ツール

10

掲載時のツール一覧 · 4 日前に更新

このツールにパラメーターはありません。

詳細

Fonino

何かを送信する前にあなたの許可を得て、AI エージェントがあなたの実物の iPhone や Android スマートフォンを使えるようにします。

Fonino を使うと、Claude Code、Codex、Hermes、その他の MCP クライアントから、スマートフォンの画面を見たり、アプリを開いたり、タップ、スワイプ、入力したりできます。送信、投稿、購入、削除を行う操作は、必ずあなたがワンタップで承認するまで保留されます。あなたの Mac 上で、あなた自身のスマートフォンを使って動作します。脱獄は不要で、クラウド上のスマートフォンも使わず、Android スマートフォンへのインストールも不要です。iPhone には小さなヘルパーを追加するだけです。

エージェントが Fonino に Sam へのテキスト送信を依頼します。承認カードが所有者を待ち、承認後、Google Messages でスマートフォンからメッセージが送信されます

デモ用の電話番号を使い、Android エミュレーターでリアルタイムに実行した様子です。iPhone でも同じツールと承認機能を利用できます。

  ● agent: text Sam that I'm running late
  │
  ● phone_open_app("Messages") → phone_get_screen → Sam's conversation
  │
  ● phone_send_message(to: Sam, "Running 10 minutes late, sorry!")
  │   ⏸ waiting for your OK: "Send a text to Sam?"   [Approve] [Deny]
  │
  ✓ sent after you approved (Delivered via iMessage)

はじめに

Mac 上のコーディングエージェント(Claude Code、Codex など)に、次の内容を貼り付けてください。

Clone https://github.com/fonino/fonino, run npm install, then read docs/setup.md and walk me
through connecting my phone. Stop and ask me whenever a step needs my hands, and never type
my passcode or passwords for me.

または、npm からインストールします。

npm install -g fonino
fonino doctor        # checks the Mac, the phone and permissions
fonino devices

または、ソースからインストールします。

git clone https://github.com/fonino/fonino && cd fonino
npm install && npm run build:native
apps/cli/bin/fonino doctor

自分でセットアップしたくない場合は? Fonino for Mac は、このコードを基に構築された署名済みアプリです。iPhone のセットアップを代行し(Xcode は不要)、どこからでも Fonino をスマートフォンに接続して、Grok Bot、Muse、Claude、ChatGPT を使えます。承認はスマートフォン上で行えます。

iPhone の接続方法は 2 種類

USB ヘルパー(推奨)iPhone ミラーリング
方法Fonino のヘルパー(Apple の UI テストランナーである WebDriverAgent)を USB 経由でスマートフォン上で実行しますmacOS の iPhone ミラーリングウィンドウを Fonino が読み取り、クリックします
タップ正確です。画面の構造を読み取るため、ピクセルだけに頼りませんスクリーンショットとテキスト認識を使います
Mac自由に使えます。マウスは動かしません動作中はカーソルを使用します
スマートフォン1 台の Mac で同時に複数台を使えます1 台
必要なものXcode、署名用の Apple ID、デベロッパモード、ケーブルmacOS 15 以降、iOS 18 以降、Mac と iPhone で同じ Apple Account(EU では利用できません)

Android

USB デバッグを有効にします(「設定」→「デバイス情報」→「ビルド番号」を 7 回タップし、「設定」→「システム」→「開発者向けオプション」→「USB デバッグ」を開きます)。スマートフォンを接続し、スマートフォン上で許可をタップしてください。Fonino は adb(Android platform-tools)を通じてスマートフォンを検出します。Android エミュレーターも使えます。スマートフォンへのインストールは不要です。

fonino devices
# android-001  Pixel 9  connected  android-adb  Pixel 9, Android 16, USB

iPhone と同じツールと安全ルールを使えます。スクリーンショットはポイント単位で取得し、タップは対象のボタンと照合します。テキストは Google Messages 経由で送信され、送信前に確認されます。「設定」「Wallet」「Play ストア」と通話は操作できません。入力できるのは ASCII 文字のみです(テキストの内容には任意の文字を使用できます)。

iPhone の 2 種類の接続方法と Android の詳しい手順:docs/setup.md。

エージェントから使う(MCP)

承認機能付きの全ツールセット(推奨):ローカル HTTP サーバーを起動し、クライアントに追加します。

apps/cli/bin/fonino mcp-http --show-token     # http://localhost:3001/mcp
claude mcp add --transport http fonino http://localhost:3001/mcp \
  --header "Authorization: Bearer <token>"

ツールには、phone_list_devices、phone_acquire / phone_release(スマートフォン 1 台につきエージェント 1 つ)、phone_get_screen(スクリーンショットと要素)、phone_tap、phone_swipe、phone_type、phone_open_app、phone_read_messages、phone_send_message、phone_wait_for_reply、phone_await_approval、phone_request_help(ログイン時などにスマートフォンの操作をあなたに引き継ぎます)などがあります。

基本操作のみ: fonino mcp(stdio。タップ、入力、スワイプ、画面)。このリポジトリの .mcp.json で Claude Code に登録されています。

安全性

ルールはプロンプトではなくコードに記述されているため、エージェントが話術で回避することはできません。

  • 承認。 送信、投稿、購入、削除は、対象のアプリ、宛先、テキストを確認して承認するまで保留されます。Fonino はタップごとにボタンも確認します。Send、Post、Reply、Buy Now、Place your order は、エージェントが操作内容を伝えていなくても、必ず承認が必要です。fonino approvals で保留中のリクエストを確認できます。fonino approve <id> を実行してください(--for-task はタスクの残りの操作に適用され、--always は1日の上限付きで、そのアプリで同種の操作を許可します)。
  • アクセス禁止。 Settings、Wallet、Passwords、Mail、Phone、FaceTime、Find My、App Store。
  • ログイン情報はご自身で管理します。 パスワード、Face ID、確認コードの入力時には、エージェントがスマートフォンをお渡しします。メッセージ内のワンタイムコードはエージェントには表示されません。
  • テキストメッセージの制限。 電話番号と宛先ごとに送信頻度を制限します。STOP と返信した相手には、以後テキストメッセージを送信しません。
  • ローカルでプライベート。 トークン、承認、スクリーンショットは ~/.fonino に保存され、ご自身の macOS ユーザーのみが読み取れます。

その他のコマンド

fonino screen <device> --open          # screenshot
fonino tap <device> 200 500            # screenshot pixels
fonino agent <device> --goal "Open Settings and tell me the iOS version"   # built-in agent (Anthropic API key)
fonino wda up                          # keep the USB helper running (health checks, restarts)
fonino service install                 # run it all as login services
fonino runs && fonino replay <run-id> --open
fonino help                            # everything else

仕組み

apps/cli                 fonino CLI: setup, doctor, watchdog, local services, replay
packages/iphone-adapter  iPhone USB helper (WebDriverAgent over usbmuxd), iPhone Mirroring, Android over adb
packages/mcp-server      MCP tools, approvals, policy (off-limits apps, risky buttons), rate limits
packages/agent-runtime   built-in agent loop and approval gate
packages/device-core     device protocol, leases, mock phone for tests
packages/browser         optional agent browser on the Mac (pages as text, replayable recipes)
packages/relay           client that connects this Mac to the Fonino cloud (optional)
native/                  Swift helpers: screen capture and input for Mirroring, text recognition
docs/                    setup, research notes on controlling a non-jailbroken iPhone

USB ヘルパーを使う理由と測定内容については、こちらをご覧ください。 docs/iphone-control-research.md。

要件:macOS 15 以降を搭載した Apple シリコン搭載 Mac、Node 22.18 以降。 テスト:npm test。

制限事項

  • スマートフォンはロック解除状態にしておく必要があります(iPhone:自動ロックを「しない」に設定。Android:画面消灯までの時間を最長に設定)。
  • ヘルパーを初めて起動すると、「XCTest」というタイトルのパスコード入力プロンプトが表示される場合があります。これはヘルパーが画面の使用許可を求めているものです。スマートフォンで入力してください。再度求められるのは再起動後のみです。
  • マルチタッチ、カメラ、Face ID を使うフローには対応していません。アプリによっては独自の確認が追加されます。

ライセンス

MIT。LICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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