世界を動かす技術を、日本語で。

ウェブ開発者のためのSafari MCPサーバー

2026年7月3日原文(webkit.org)

概要

  • Safari Technology Preview 247 で新機能「Safari MCP server」公開
  • エージェントとSafariブラウザ を連携し、ウェブ開発・デバッグ効率化
  • DOMやネットワーク、スクリーンショット等への 自動アクセス を実現
  • ターミナルからの操作で ウィンドウ切替や手動デバッグを削減
  • 導入方法・ツール一覧・セキュリティ注意点 も解説

Safari MCP serverとは

  • Safari MCP server は、Model Context Protocol(MCP)対応のサーバーソフト
  • ウェブ開発者向け にSafariブラウザとエージェント(AIや自動化ツール)を連携
  • エージェントが Safariウィンドウの状態を直接把握 し、レンダリングやバグを自動的に検証
  • DOM、ネットワークリクエスト、スクリーンショット、コンソール出力 などの情報取得が可能
  • ターミナル上での操作 のみでデバッグ可能、ウィンドウ切替・手動プロンプトの手間を削減

主なユースケース

  • Safari向けウェブ開発 の効率化
    • エージェントが実際のSafari描画を自動チェック
  • Safari互換性の改善
    • 他ブラウザでは見逃しがちなバグもSafariで自動検証
  • パフォーマンス分析
    • JavaScript実行やリソースロード時間などの測定
  • アクセシビリティチェック
    • ラベル欠如、ARIA属性不備、コントラスト不足などの自動検出
  • ユーザー状態の検証
    • フォームの状態、要素の存在、インタラクションの確認

利用可能なツール一覧

  • browser_console_messages :コンソールログの取得
  • browser_dialogs :ダイアログの一覧・操作(承認/却下/テキスト入力)
  • close_tab :指定タブのクローズ
  • create_tab :新規タブ作成(URL指定可)
  • evaluate_javascript :ページ上でのJavaScript実行・結果取得
  • get_network_request :単一ネットワークリクエストの詳細取得
  • get_page_content :ページ内容の抽出(Markdown/HTML/JSON等)
  • list_network_requests :ネットワークリクエスト一覧(URL/メソッド/ステータス/タイミング)
  • list_tabs :全タブの一覧(ハンドル/URL)
  • navigate_to_url :指定URLへの遷移・ページ内容取得
  • page_info :現在ページの情報(URL/タイトル/ロード状態)
  • page_interactions :DOM操作一括実行(クリック/入力/スクロール/ホバー/キー入力等)
  • screenshot :ページ全体のPNGスクリーンショット取得
  • set_emulated_media :CSSメディアタイプのエミュレート(例:print)
  • set_viewport_size :ビューポートサイズの指定
  • switch_tab :指定タブへの切替
  • wait_for_navigation :ページロード完了待ち(最終URL/タイトル取得)

導入方法・セットアップ手順

  • Safari Technology Preview のインストール
  • Safari設定 > 詳細 > ウェブ開発者向け機能表示 の有効化
  • Safari設定 > 開発 > リモートオートメーションと外部エージェント有効化
  • 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)

実用例・対話フロー

  • 例:「Safariで自分のサイトのバグを見つけて」
  • 例:「Safariでサイトのアクセシビリティをチェック」
  • 例:「Safariでサイトのパフォーマンスを確認」
  • エージェントが自動でSafari MCP serverを認識し、適切な操作を実行
  • 初回リクエストのみで、以降はエージェントが自律的にデバッグ・解析

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

  • Safari MCP serverは ローカルマシン上のみで動作
  • ネットワーク通信や個人情報へのアクセスなし
  • 取得したデータ(ページ内容・スクリーンショット・ログ等)は 実行中のエージェントへ直接送信
  • その後のデータ取扱いは 利用するエージェントやモデル依存
  • 信頼できるエージェントのみ利用推奨

開発背景・フィードバック

  • AIを活用したウェブ開発の生産性向上 を目的に開発
  • AIを使わないワークフローでも Safariのテスト・デバッグ効率化 に貢献
  • フィードバックやバグ報告は WebKitバグレポート で受付
  • 開発者連絡先: Saron Yitbarek (BlueSky)、Jen Simmons (Bluesky/Mastodon)、Jon Davis (Bluesky/Mastodon)

まとめ

  • Safari MCP server 導入で デバッグ効率・品質向上
  • ターミナルからの自動化・省力化 で、開発者とユーザー双方の満足度向上
  • 今後のウェブ開発における新たなワークフロー として注目

Hackerたちの意見

2025年11月からChromeの公式MCPデベロッパーツールサーバーを使ってるよ。https://github.com/ChromeDevTools/chrome-devtools-mcp それまではChromeのウェブドライバーを使ってたけど、MCPの方が速くて機能も豊富なんだ。LLMにもFirefoxでページをテストさせるように指示してるよ。公式のMCPを使って、Firefoxでもちゃんと動くか確認してるんだ。https://github.com/mozilla/firefox-devtools-mcp これからSafariも互換性テストに加えるつもり。いいね!

これらを使うのと、Chrome/Firefoxの設定でplaywright mcpを使うのって違いがあるの?

でも、Appleって本当にウェブ開発者のこと気にしてるのかな?AppleデバイスがないとSafariでどうやってテストするの?AppleがSafariだけのシンプルな仮想マシンを作るのってそんなに難しいのかな?

Chromeの独占状態でもEdgeや他のブラウザを無視するわけにはいかないから、Chromiumでテストするよね。同じように、完璧ではないけどWebKitもテストできるし、LinuxやWindowsでもできるよ。例えば、https://orionbrowser.com/platforms/linux AppleはSafariの仮想マシンを作るビジネスには関わってないけど、MacOSの仮想マシンが欲しいならCSPに頼るといいよ。https://aws.amazon.com/ec2/instance-types/mac/ たくさんの人がソフトウェアテストのオーケストレーションを事前に設定してるから。

LinuxやOS XでIEをテストするのと同じだね。

AppleデバイスがないとSafariでどうやってテストするの?プレイステーションのゲームをプレイステーション(開発キット)なしでどうやってテストするの?ハードウェアのファームウェアをハードウェアなしでどうやってテストするの?エミュレーターやシミュレーターがないと、プログラムを実行するために必要なハードウェアなしでどうやってプログラムを実行するの?これが質問だなんて、ほとんど言葉を失いそうだよ。理論的な話で、実際に言いたいことが後から出てくるならまだしも、そんなことはなかった。確かに、特定のハードウェアでしか動かないものもあって、仮想化やエミュレーションなしではそのハードウェアの外でテストすることはできないんだ。これは数十年も前からのことだよ、コンピュータの始まりからずっと。 > AppleがSafariだけのシンプルな仮想マシンを作るのってそんなに難しいの?Appleがやることは、良くも悪くも、難しさで決まることはほとんどないみたいで、戦略的な決定なんだ。彼らが自分たちのために壁のある庭を作ってるってことに気づいてないなら、何がそのことを納得させるのか分からないよ。ほとんどの人にはこれが非常に明確だと思う。もし気に入らないなら、私たちのようにそこで遊ばなければいいんだ。

でも、Appleは本当にウェブ開発者のことを気にしているの? 新しいツールをリリースしたばかりだから、そうだよね。

個人的にはPlaywright-CLIをおすすめするよ。https://github.com/microsoft/playwright-cli これ、試したMCPサーバーよりずっと速く動くんだ。

あと、spelもおすすめだよ。https://github.com/Blockether/spel これは持続的なブラウザーセッションを提供してくれるし、Chromium、Firefox、WebKitエンジンにも対応してる。

これ、私には重く感じました。フルブラウザ、デバッグプロトコル、毎回の読み込みでDOMダンプ。MCPとCLIの違いは小さい問題で、その下にあるものがもっと重要です。だから、システムのウェブビューを直接操作して、DOMの代わりに状態トークンとデルタを返す小さなRustバイナリを作りました。HNのフロントページを読み込むのにエージェントは約50トークンかかります。MCPとCLIの両方に対応しているので、エージェントが好む方を選んでください。 https://github.com/frane/vibesurfer

Playwrightはユーザーテストにめっちゃいいよ(Electronとも相性抜群!)。

ウェブを構築する方法はたくさんあって、AIを使うものと使わないものがあります。もしAIがあなたのワークフローの一部なら、このツールがさらに生産性を高めると思います。使っていないなら、それも全然OKです。2026年に言うのはクレイジーなことだけど、コードを書くのにエージェントに全部任せないと、ある人たちからは初心者扱いされるんですよね。

Hacker Newsで議論の続きを見る