Safari Technology Preview 247: Safari MCP サーバーの紹介

Safari Technology Preview 247: Safari MCP サーバーの紹介

Apple は Safari Technology Preview 247 で Safari MCP サーバーをリリースし、AI エージェントが Safari のブラウザウィンドウと直接やり取りできるようにしました。この統合により、エージェントはリアルタイムのブラウザデータにアクセスしてウェブアプリケーションを自律的にデバッグでき、開発者がブラウザの状態を手動で LLM に伝える必要が減ります。

自律的なウェブデバッグとテスト

Safari MCP サーバーは「デバッグダンス」――ブラウザ、デベロッパーツール、コードエディタを行き来する繰り返しのサイクル――を排除し、AI エージェントに Safari でコードがどのようにレンダリングされるかを直接可視化させます。これにより、エージェントは以下のような高付加価値タスクを自律的に実行できます。

  • クロスブラウザ互換性: エージェントは Safari で計算されたスタイルやレイアウトを検査し、開発者がウィンドウを手動で切り替えることなくブラウザ固有のバグを特定・修正できます。
  • パフォーマンス分析: ページ上の JavaScript を評価することで、エージェントはナビゲーションタイミングやリソースロード時間を抽出し、パフォーマンスボトルネックを特定できます。
  • アクセシビリティ監査: エージェントは欠落ラベル、不適切な ARIA 属性、低い色コントラストなどを自動的にスキャンできます。
  • 状態検証: エージェントはセレクタを使って要素を照会し、フォームの状態や複雑なユーザーフロー(例: 決済プロセス)を検証して、アプリケーションが期待通りに動作しているかを確認できます。

利用可能な MCP ツール

Safari MCP サーバーは、任意の MCP 対応クライアントがブラウザを制御しデータを取得できる包括的なツールセットを提供します。

ツール 説明
browser_console_messages 現在または指定したタブのバッファされたコンソールログを返します
browser_dialogs ブラウザダイアログの一覧を取得し、受諾、却下、またはテキスト入力で応答します
evaluate_javascript ページ内で JavaScript コードを実行し、結果を返します
get_network_request 記録された単一のネットワークリクエストの詳細(ヘッダー、ボディ、タイミング)を取得します
get_page_content ページテキストを Markdown、HTML、JSON などの形式で抽出します
list_network_requests ネットワークリクエストの概要(URL、メソッド、ステータス、タイミング)を一覧表示します
page_interactions DOM 操作(クリック、入力、スクロール、ホバー、キー押下)を実行します
screenshot 現在のページの PNG スクリーンショットを取得します
set_viewport_size ブラウザのビューポートサイズを CSS ピクセルで設定します
navigate_to_url 指定 URL に遷移し、ロードされたページコンテンツを返します

その他の利用可能なツールには close_tabcreate_tablist_tabspage_infoset_emulated_mediaswitch_tabwait_for_navigation があります。

インストールとセットアップ

Safari MCP サーバーを使用するには、Safari Technology Preview をインストールし、以下の設定を有効にする必要があります。

  1. Advanced: 「Web 開発者向け機能を表示」を有効にする。
  2. Developer: 「リモートオートメーションと外部エージェント」を有効にする。

設定例

Claude 用には次のターミナルコマンドを使用します: claude mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

Codex 用には次のコマンドを使用します: codex mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

他のエージェント向けには、mcp.json または config.json ファイルに以下を追加します:

{
  "safari-mcp-stp": {
    "command": "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver",
    "args": ["--mcp"]
  }
}

プライバシーとセキュリティ

Safari MCP サーバーはユーザーのマシン上でローカルに実行され、独立したネットワーク呼び出しは行いません。AutoFill や一般的なブラウザ履歴などの個人 Safari データへはアクセスできません。取得されたデータ(スクリーンショット、ログ、ページコンテンツ)は直接実行中のエージェントに送信され、Apple がこのデータを受け取ることはありません。エージェントはブラウザ状態へのフルアクセス権を持つため、信頼できるエージェントのみを使用するようユーザーに推奨します。

コミュニティの見解と代替案

Safari MCP サーバーは Apple エコシステムの開発者にとってネイティブな道を提供しますが、コミュニティは既存の代替手段やブラウザオートメーションの広範なトレンドにも言及しています。

  • クロスブラウザツール: 他のブラウザ向けに同様の MCP サーバーを利用している開発者もおり、Safari を追加することで Chrome と Firefox の MCP サーバーと合わせた互換性テストスイートが完成すると指摘されています。
  • 既存ドライバ: safaridriver は何年も前から W3C WebDriver 実装として存在しており、MCP 実装は LLM 向けにインターフェースを簡素化しただけだという声があります。
  • 代替フレームワーク: 一部の開発者は実行速度の向上を求めて Playwright-CLI や Chrome DevTools Protocol (CDP) への直接操作を好むと述べています。

要約: Apple は Safari Technology Preview 247 向けに Model Context Protocol (MCP) サーバーを導入し、AI エージェントが DOM、ネットワークリクエスト、コンソールログを直接検査してウェブデバッグを自動化できるようにしました。

タイトル: Safari Technology Preview 247: Safari MCP サーバーの紹介

Sources