FindMyPipe – Linux から Apple Find My を照会する AI エージェント向けツール
FindMyPipe は Linux 上で Apple Find My ネットワークにアクセスし、デバイスの位置情報を構造化 JSON で返すローカル CLI ブリッジです。AI エージェント、シェルスクリプト、自動化パイプライン向けに設計されており、周辺の興味ポイント検索やプライバシー保護機能を備えています。
FindMyPipe は、Linux システム向けのオープンソースのローカル CLI ブリッジツールです。Apple の iCloud を介して Find My ネットワークにアクセスし、iPhone、iPad、Mac、AirPods などの Apple デバイスの位置情報をリアルタイムで取得します。出力は構造化 JSON 形式で、AI エージェント、シェルスクリプト、自動化ワークフローに最適です。
基本的なデバイス位置特定機能に加えて、FindMyPipe は位置情報を活用したワークフローも可能にします。例えば、AI エージェントはデバイスの座標を使って周辺のレストラン、ホテル、病院、交通機関などの興味ポイントを外部 API 経由で検索し、よりリッチなコンテキスト認識型アプリケーションを構築できます。
主な機能は以下の通りです:
- Apple デバイス(iPhone、iPad、Mac、AirPods)のリアルタイム位置特定
- 座標を POI API(Google Places、OSM、Foursquare など)に渡して周辺情報を取得
- プロフェッショナルな CLI、クリーンな JSON 出力でパイプ処理や解析が容易
- プライバシー優先:ログ内の認証情報は秘匿、デバイス ID は SHA-256 ハッシュ化
- モックモードが標準で動作、Apple ID 不要ですぐに試せる
- オプションのキャッシュ機能(TTL 設定可能)で iCloud API への過剰なリクエストを防止
- スマートフィルター:--skip-offline と --max-age で新鮮なデータのみ取得
- 完全な 2FA ログインフロー、インタラクティブな認証をサポート
- AgentSkills.io 標準準拠のスキル定義を同梱、あらゆるエージェントフレームワークに統合可能
CLI コマンドとしては、doctor(状態確認)、list(全デバイス一覧)、locate(名前や ID で特定デバイスを検索)、login(iCloud 認証)を提供。すべてのコマンドで --json オプションにより構造化出力が可能です。
プライバシーとセキュリティの面では、HTTP サーバーを稼働させず、すべての I/O は標準入出力経由。Webhook も使用せず、Apple サーバーへのアウトバウンドポーリングのみ。認証情報は一切ログに記録されず、デバイス ID はハッシュ化、生データはデフォルトで非表示。ファイルのパーミッションは厳格に設定されます(ディレクトリ 0700、ファイル 0600)。
インストールには Python 3.11+ と Linux(または macOS)、Find My が有効な Apple ID(ライブモードの場合)が必要。pip で簡単にインストールでき、モックモードですぐに使い始められます。
アーキテクチャは、上層の AI エージェントやシェルスクリプトが CLI 経由で findmy-agent と通信し、内部では CLI 層(Typer)、キャッシュ層、コアロジック層、プロバイダー層(Mock/iCloud)が連携、最終的に HTTPS で Apple iCloud API と通信します。
現在、iPhone、iPad、Mac、AirPods に対応していますが、AirTag や「探す」ネットワークのアイテムは未対応です。今後のロードマップには POI 統合の組み込みが計画されています。MIT ライセンスで提供され、コミュニティによって開発されています。