- Server Safari MCP menghubungkan agen coding ke jendela Safari yang sebenarnya, sehingga bisa langsung memeriksa kondisi yang terlihat di browser saat pengembangan dan debugging web
- Agen dapat mengakses DOM, permintaan jaringan, tangkapan layar, dan output konsol untuk memeriksa hasil rendering serta pengalaman pengguna yang sulit diketahui hanya dari kode
- Ini mengurangi beban perpindahan jendela berulang dan penjelasan prompt yang panjang pada pekerjaan yang sangat dipengaruhi perbedaan antar-browser, seperti kompatibilitas Safari, performa, aksesibilitas, serta verifikasi status formulir dan checkout
- Menyediakan alat untuk kontrol tab, navigasi URL, eksekusi JavaScript, pemeriksaan permintaan jaringan, ekstraksi konten halaman, interaksi DOM, tangkapan layar, serta emulasi viewport dan media
- Server hanya berjalan di mesin lokal dan tidak melakukan panggilan jaringan sendiri, tetapi data halaman yang ditangkap dikirim langsung ke agen yang dijalankan pengguna, sehingga perlu memakai agen yang tepercaya
Peran Server Safari MCP
- Server Safari MCP ditambahkan ke Safari Technology Preview 247
- Ini adalah server Model Context Protocol untuk pengembang web yang menghubungkan agen ke jendela browser Safari
- Agen dapat memeriksa bagaimana kode benar-benar dirender di browser, sehingga mengurangi kesenjangan antara analisis kode dan pemeriksaan kondisi browser
- Klien yang kompatibel dengan MCP dapat terhubung ke Server Safari MCP
- Agen yang terhubung dapat mereproduksi dengan lebih dekat kondisi yang dilihat pengguna di browser
- akses DOM
- akses permintaan jaringan
- akses tangkapan layar
- akses output konsol
Cara mengurangi siklus debugging berulang
- Debugging web pada umumnya mengulang alur melihat masalah di browser, memeriksa konsol dan tab style, lalu kembali ke kode untuk memperbaiki
- Bahkan saat memakai agen, pengguna tetap harus mengambil tangkapan layar, menjelaskan masalah, lalu bolak-balik lagi antara browser, prompt, dan agen jika perbaikannya belum cukup
- Server Safari MCP memungkinkan agen memeriksa kondisi browser secara langsung, sehingga mengurangi perpindahan jendela dan beban menulis prompt yang detail
- Meski pengguna tidak menjelaskan situasi dengan prompt yang sempurna, agen dapat melanjutkan pekerjaan berikutnya berdasarkan informasi yang bisa diperiksa di Safari
Kasus penggunaan utama
-
Pengembangan web di Safari
- Agen dapat memeriksa bukan hanya kode, tetapi juga hasil rendering aktual di Safari
-
Meningkatkan kompatibilitas Safari
- Jika pengujian hanya dilakukan di satu browser, bug potensial di browser lain bisa terlewat
- Agen dapat membuka situs di Safari dan memeriksa computed style, layout, serta perbedaan dari perilaku yang diharapkan
-
Analisis performa
- Dengan mengevaluasi JavaScript di halaman, agen dapat menampilkan metrik performa seperti navigation timing dan resource load time
- Jika bagian yang memperlambat situs ditemukan, target perbaikannya jadi lebih mudah dipersempit
-
Pemeriksaan aksesibilitas
- Agen dapat memeriksa masalah aksesibilitas umum seperti label yang hilang, atribut ARIA yang tidak tepat, dan contrast yang rendah
-
Verifikasi status pengguna
- Agen dapat memeriksa status formulir, mencari elemen dengan selector, memverifikasi interaksi tertentu, dan menampilkan berbagai status dalam alur checkout
Alat yang disediakan
browser_console_messages: mengembalikan log konsol yang dibuffer dari tab saat ini atau tab tertentu
browser_dialogs: melihat daftar dialog browser dan menangani respons
- mendukung accept, dismiss, dan input teks untuk JavaScript prompt
create_tab, close_tab, switch_tab, list_tabs: membuat, menutup, berpindah, dan melihat daftar tab browser
navigate_to_url: berpindah ke URL dan mengembalikan konten halaman yang sudah dimuat
page_info: memeriksa URL, title, dan loading state halaman saat ini
evaluate_javascript: menjalankan kode JavaScript di dalam halaman dan mengembalikan hasilnya
list_network_requests: melihat ringkasan permintaan jaringan pada tab saat ini
- mencakup URL, method, status, dan timing
get_network_request: melihat informasi detail dari satu permintaan jaringan
- mencakup headers, body, dan timing
get_page_content: mengekstrak konten teks halaman dalam berbagai format seperti markdown, HTML, dan JSON
page_interactions: menjalankan interaksi DOM seperti click, type, scroll, hover, dan keyPress secara berurutan
screenshot: menangkap halaman saat ini sebagai tangkapan layar PNG
set_emulated_media: mengemulasikan CSS media type seperti print untuk pengujian responsive design
set_viewport_size: mengatur ukuran viewport browser dalam satuan CSS pixel
wait_for_navigation: menunggu halaman saat ini selesai dimuat dan mengembalikan URL serta title akhir
Cara memulai
- Pertama, Anda harus menginstal Safari Technology Preview
- Setelah instalasi, aktifkan opsi berikut di pengaturan Safari
- Safari Settings > Advanced > Show features for web developers
- Safari Settings > Developer > Enable remote automation and external agents
- Jika menggunakan Claude, Anda dapat memakai perintah berikut di terminal
claude mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp
- Jika menggunakan Codex, Anda dapat memakai perintah berikut
codex mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp
- Untuk agen lain, Anda dapat menambahkan konfigurasi berikut ke
mcp.json atau config.json
"safari-mcp-stp": {
"command": "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver",
"args": ["--mcp"]
}
- Contoh di atas memakai nama server
safari-mcp-stp, tetapi Anda bisa memakai nama lain seperti safari
Prompt dan perilaku agen
- Setelah instalasi, Anda bisa mulai dengan prompt sederhana seperti berikut
Find bugs on my site in Safari
How accessible is my site in Safari?
See how my website performs in Safari
- Cara kerja tiap agen sedikit berbeda, tetapi meski tidak diminta secara eksplisit untuk memakai Server Safari MCP, agen bisa menggunakannya sendiri
- Dalam alur contoh, saat pengguna menanyakan bug pada flight page di Safari, agen menemukan dua bug dan memeriksa tambahan hal-hal yang bisa menimbulkan masalah bagi pengguna Safari
- Hanya dengan permintaan awal, agen dapat melanjutkan pemeriksaan lanjutan dan identifikasi masalah dengan bantuan Server Safari MCP
Eksekusi lokal dan pemrosesan data
- Server Safari MCP berjalan sepenuhnya di mesin lokal
- Tidak melakukan panggilan jaringan sendiri
- Tidak mengakses informasi pribadi Safari
- AutoFill
- aktivitas browser lainnya
- Saat konten halaman, tangkapan layar, atau log konsol ditangkap, data tersebut dikirim langsung bukan ke Apple, melainkan ke agen yang sedang dijalankan pengguna
- Cara data itu diproses setelahnya bergantung pada agen dan model yang digunakan
- Sama seperti agen lain yang diberi izin akses browser, Anda hanya boleh memakai agen yang Anda percayai
Pemanfaatan yang diharapkan WebKit
- Dalam pengembangan web, ada alur yang memakai AI dan ada juga yang tidak
- Jika AI menjadi bagian dari alur pengembangan, Server Safari MCP dapat membantu meningkatkan produktivitas
- Tujuannya adalah membantu agen memahami tampilan dan perilaku di browser Safari, sehingga pengujian dan debugging Safari menjadi lebih mudah
- Jika ada masalah, Anda dapat mengirimkan isu melalui WebKit bug report
2 komentar
Safari MCP ya.. rasanya jadi bernostalgia, haha
Komentar Hacker News
Sejak November 2025 saya menggunakan server MCP DevTools resmi Chrome
https://github.com/ChromeDevTools/chrome-devtools-mcp
Sebelumnya saya memakai Chrome WebDriver, tetapi MCP lebih cepat dan fiturnya juga lebih banyak
Saya meminta LLM untuk menguji halaman dengan MCP resmi Firefox guna memastikan apakah ini juga berjalan di Firefox
https://github.com/mozilla/firefox-devtools-mcp
Sekarang Safari juga akan saya tambahkan ke pengujian kompatibilitas
Saya membuat MCP untuk mencakup kebutuhan itu
Federico Viticci membahas sedikit lebih rinci apa arti semua ini di MacStories, Mastodon, dan episode terbaru podcast Connected, dan penjelasannya juga lebih mudah diakses oleh orang awam
Tautan yang ada di tulisan aslinya juga sangat layak untuk dilihat
https://www.macstories.net/linked/safaris-new-mcp-server-is-...
https://mastodon.macstories.net/@viticci/116847167023618099
https://relay.fm/connected/610
Saya sangat menantikannya bukan hanya untuk pengujian, tetapi juga untuk pekerjaan sehari-hari
Jika agen bisa melakukan otomatisasi browser secara alami di browser tempat saya sudah login, rasanya serah-terima antara saya dan agen akan jauh lebih mulus
Ini juga karena Chrome cukup boros baterai, jadi saya selama ini memakai Safari sebagai browser utama
Saya juga memakai orkestrator kontainer agen, dan ada alat MCP yang mengekspos port kontainer sehingga hasil pekerjaan bisa ditampilkan di panel web: https://github.com/DeepBlueDynamics/nemesis8
Hari ini saya berencana menambahkan koneksi Safari MCP ke n8, dan rilis baru dengan lebih banyak fitur dijadwalkan keluar malam ini
Dari sudut pandang layanan di sisi lain browser, tidak ada cara untuk mengetahui siapa yang melakukan apa
Saya tidak tahu bagaimana agen dibatasi, atau bagaimana melacak apa yang saya lakukan dan apa yang dilakukan agen
Saya penasaran apakah ada sesuatu yang saya lewatkan, atau saya memang sudah ketinggalan zaman
Secara pribadi saya merekomendasikan Playwright-CLI: https://github.com/microsoft/playwright-cli
Bagi saya ini berjalan jauh lebih cepat daripada server MCP yang pernah saya coba
Mendukung mesin Chromium, Firefox, dan WebKit melalui daemon
Hanya saja saya memakai Playwright MCP
Ada browser penuh, protokol debug, dan dump DOM setiap kali dibaca; dibanding MCP atau CLI, yang lebih penting adalah apa yang ada di bawahnya
Karena itu saya membuat biner Rust kecil yang langsung menjalankan webview sistem dan mengembalikan token status serta delta alih-alih DOM
Bahkan saat memuat halaman depan HN, biayanya bagi agen hanya sekitar 50 token
Mendukung MCP dan CLI sekaligus, jadi agen bisa memilih mana yang disukainya
https://github.com/frane/vibesurfer
safaridriver yang disediakan Apple sudah ada sejak beberapa tahun lalu
Ini menggunakan WebDriver W3C dan dapat dipakai untuk berinteraksi dengan instans Safari
Tidak yakin Apple benar-benar peduli pada pengembang web
Kalau tidak punya perangkat Apple, bagaimana cara menguji di Safari?
Apa sesulit itu bagi Apple untuk membuat mesin virtual minimum yang hanya berisi Safari?
Bagaimana menguji firmware perangkat keras tanpa perangkat keras, atau bagaimana menjalankan program tanpa perangkat keras yang dibutuhkan ketika tidak ada emulator atau simulator
Jika sesuatu hanya berjalan di perangkat keras tertentu dan tidak ada virtualisasi atau emulasi, maka itu memang tidak bisa diuji di luar perangkat keras tersebut, dan begitulah dunia komputasi selama puluhan tahun sejak masa-masa awal
Keputusan Apple sering kali ditentukan oleh strategi, bukan oleh apakah itu sulit atau mudah, dan cukup jelas bahwa mereka sedang membangun taman bertembok
Kalau tidak suka, ya jangan ikut bermain di sana seperti orang-orang lainnya
Dengan cara yang sama, meskipun tidak sempurna, Anda bisa menguji WebKit, dan kalau mau bahkan di Linux atau Windows:
https://orionbrowser.com/platforms/linux
Saya rasa Apple tidak akan menjalankan bisnis mesin virtual Safari, tetapi jika Anda butuh mesin virtual macOS, lihat saja penyedia layanan cloud: https://aws.amazon.com/ec2/instance-types/mac/
Banyak di antaranya sudah menyiapkan orkestrasi pengujian perangkat lunak
Belakangan ini saya menyuruh agen menjalankan Chrome dan berkomunikasi langsung lewat CDP, dan hasilnya bekerja cukup baik
Penasaran bagaimana perbandingannya dengan Playwright
Dari sudut pandang pengembangan web, kelebihan Playwright tampaknya adalah bisa dipakai di banyak browser
Jika alat khusus per browser lebih cepat atau lebih efisien dalam penggunaan token, mungkin itu pilihan yang lebih baik untuk otomatisasi pekerjaan dan Claws
“Ada banyak cara untuk membangun web, baik memakai AI maupun tidak. Jika AI adalah bagian dari alur kerja Anda, saya rasa alat ini akan membantu meningkatkan produktivitas. Jika tidak, itu juga tidak masalah.”
Agak aneh mendengar kalimat seperti ini di tahun 2026
Karena ini adalah zaman ketika, bagi sebagian orang, jika Anda menulis kode sendiri dan tidak menyerahkan semuanya kepada agen, Anda dianggap pemula
Sekarang bagus karena orang yang memakai AI tidak perlu lagi menyembunyikan fakta itu
Apakah yang aneh itu bahwa mereka harus menambahkan kalimat penafian seperti ini untuk menenangkan kubu anti-AI yang fanatik?
Ini jelas alat untuk pengembangan berbantuan AI, jadi justru sangat aneh kalau mereka merasa perlu menambahkan kalimat seperti, “Kami juga menyampaikan penghiburan bagi Anda yang tidak memakai AI”
Hanya saja anehnya itu ke arah yang berbeda dari yang Anda pikirkan
Hal yang membuat MCP untuk otomasi browser menarik adalah karena mesin WebKit milik Safari termasuk sisi yang sulit ditangani dengan mudah oleh sebagian besar agen AI
Playwright dan Puppeteer berpusat pada Chromium, jadi jika ada server MCP untuk Safari, itu bisa menutup celah nyata dalam pengujian lintas browser pada alur kerja agen