Skip to main content
Glama
rodneyrdx

safari-ios-webinspector-mcp

by rodneyrdx

Safari iOS Web Inspector MCP

macOS専用のMCPサーバーで、Safari Web Inspectorを通じてiPhone SafariおよびiPhone Chromeのセッションを検査・自動化します。

ステータス

このリポジトリには、以下の動作する最初の実装が含まれています:

  • macOS、Xcode、idevice_idios_webkit_debug_proxy の環境チェック

  • libimobiledevice から取得した物理UDIDとiOSバージョンによる信頼済みデバイスの拡充

  • iOS WebKitブリッジのライフサイクル管理

  • ios_webkit_debug_proxy によるデバイスおよびページの検出

  • Apple safaridriver による管理下のiPhone Safariセッション

  • 生のWebKit Automation ドメインによる管理下のiPhone Safariセッション

  • プロトコルに基づくランタイム評価、コンソールキャプチャ、ネットワークイベントのバッファリング

  • ランタイム注入JavaScriptによるDOMスナップショットとページレベルの自動化

  • クラッシュ検出、再読み込みの試行、スクリーンショットのためのSafari/Web Inspector UIフォールバック

  • デバッグバンドルのエクスポート

現在の制限:

  • このブリッジはプロトコルファーストで実用的な設計です。複数のWebKitイベント形状を正規化しますが、iOS/WebKitのプロトコル差異により、ページごとに利用可能な機能が減少する場合があります。

  • 現在接続されている実機のiPhoneでは、正常なSafariページが transportMode: broker_only にダウングレードされるため、ランタイム/ページ自動化は意図的に無効化され、サーバーは証跡/リカバリのワークフローにフォールバックします。

  • 新しい管理下の safaridriver パスは、新しいSafari自動化ウィンドウで安全なブラウザのみの自動化を提供しますが、既存のライブSafariタブにはまだアタッチしません。

  • 新しい launch_automation_page パスも、新しい分離されたAutomationコンテキストで安全なブラウザのみの自動化を提供しますが、Safari WebDriverと同様に既存の通常のSafariタブを採用しません。

  • コンソールとネットワークのストリーミングは、safaridriver 管理バックエンドでは引き続き利用できません。

  • コンソールとネットワークのストリーミングは、生のAutomation管理バックエンドでも利用できません。

安全上の境界:

  • このプロジェクトは設計上、ブラウザのみを対象としています

  • リセット、リストア、ペアリング変更、ファームウェア、または一般的なiPhoneシステムの自動化は対象外です

Related MCP server: MCP Safari Server

インストール

npm install
npm run build

ローカルで実行:

npm run dev

ビルド後にMCPサーバーとして使用:

[mcp_servers.safari-ios-webinspector]
command = "node"
args = ["/absolute/path/to/dist/src/index.js"]

ドキュメント

動作検証

接続中のiPhoneに対して実機での動作検証を実行:

npm run shakeout

正常なページに対して生のブローカートレースを取得:

npm run trace:broker

生のiPhone Automationシムを直接プローブ:

npm run probe:automation -- --udid <DEVICE_UDID>

由来とプライバシー

この公開リポジトリには、文書化されたWebKitの動作と、宣言された依存関係の公開インターフェースに基づいて独立に作成された実装が含まれています。調査ノートは、プロトコル調査の参考となったアップストリームのプロジェクトとドキュメントにリンクしています。

デバイス識別子、ローカルパス、キャプチャされたページ、デバッグバンドル、および顧客またはアプリケーション固有の資料は含まれていません。テストでは、合成デバイスデータと example.com のURLを使用しています。

ライセンス

MIT。 LICENSE を参照してください。サードパーティのパッケージは、package-lock.json およびその配布物で宣言されているとおり、それぞれのライセンスの下にあります。

Related MCP Connectors

Related MCP Servers