- Safari MCP सर्वर coding agents को वास्तविक Safari window से जोड़ता है, ताकि वे web development और debugging के दौरान browser में दिख रही स्थिति को सीधे देख सकें
- agent DOM, network requests, screenshots और console output तक access कर सकता है, जिससे code भर से समझना मुश्किल rendering results और user experience की जाँच हो सकती है
- Safari compatibility, performance, accessibility, form/checkout state verification जैसे कामों में, जहाँ browser-specific differences अहम होते हैं, यह बार-बार window switch करने और prompt में विस्तार से समझाने का बोझ कम करता है
- tab control, URL navigation, JavaScript execution, network request lookup, page content extraction, DOM interactions, screenshots, viewport और media emulation tools उपलब्ध कराता है
- server केवल local machine पर चलता है और खुद कोई network calls नहीं करता, लेकिन captured page data सीधे उस agent को भेजा जाता है जिसे user चला रहा है, इसलिए भरोसेमंद agent का उपयोग जरूरी है
Safari MCP सर्वर की भूमिका
- Safari Technology Preview 247 में Safari MCP सर्वर जोड़ा गया
- यह web developers के लिए Model Context Protocol server है, जो agents को Safari browser window से जोड़ता है
- agent देख सकता है कि code browser में वास्तव में कैसे render हो रहा है, जिससे code analysis और browser state checking के बीच की दूरी घटती है
- कोई भी MCP-compatible client Safari MCP server से connect हो सकता है
- connected agent user को browser में दिख रही स्थिति को और करीब से reproduce कर सकता है
- DOM access
- network request access
- screenshot access
- console output access
debugging के iteration घटाने का तरीका
- सामान्य web debugging में browser में problem देखना, console और style tab जाँचना, फिर code पर लौटकर fix करना—यह flow बार-बार दोहरता है
- agent इस्तेमाल करने पर भी screenshot लेकर problem समझानी पड़ती है, और fix अधूरा हो तो browser, prompt और agent के बीच फिर से आना-जाना पड़ता है
- Safari MCP server agent को browser state सीधे देखने देता है, जिससे window switching और detailed prompt लिखने का बोझ कम होता है
- user को perfect prompt में पूरी स्थिति समझाने की जरूरत नहीं रहती; agent Safari में उपलब्ध जानकारी के आधार पर अगले काम आगे बढ़ा सकता है
मुख्य use cases
-
Safari में web development
- agent code के साथ-साथ Safari में वास्तविक rendering result भी देख सकता है
-
Safari compatibility सुधार
- केवल एक browser में test करने पर दूसरे browser के संभावित bugs छूट सकते हैं
- agent Safari में site खोलकर computed style, layout और expected behavior से differences देख सकता है
-
performance analysis
- page में JavaScript evaluate करके navigation timing, resource load time जैसे performance metrics सामने ला सकता है
- site को slow बनाने वाले हिस्से मिल जाने पर fix करने की जगह narrow down करना आसान होता है
-
accessibility check
- missing labels, गलत ARIA attributes, low contrast जैसी common accessibility problems जाँची जा सकती हैं
-
user state verification
- form state check, selector से element lookup, specific interaction check, checkout flow की कई states का display आदि किया जा सकता है
उपलब्ध tools
browser_console_messages: current tab या specified tab के buffered console logs लौटाता है
browser_dialogs: browser dialogs की list देखता है और responses handle करता है
- accept, dismiss, JavaScript prompt text input support करता है
create_tab, close_tab, switch_tab, list_tabs: browser tabs बनाना, बंद करना, switch करना और list देखना करता है
navigate_to_url: URL पर जाता है और loaded page content लौटाता है
page_info: current page का URL, title, loading state जाँचता है
evaluate_javascript: page के अंदर JavaScript code चलाता है और result लौटाता है
list_network_requests: current tab के network requests का summary देखता है
- URL, method, status, timing शामिल
get_network_request: किसी single network request की detailed information देखता है
- headers, body, timing शामिल
get_page_content: page text content को markdown, HTML, JSON आदि कई formats में extract करता है
page_interactions: click, type, scroll, hover, keyPress जैसे DOM interactions क्रम से करता है
screenshot: current page को PNG screenshot के रूप में capture करता है
set_emulated_media: responsive-design testing के लिए print जैसे CSS media type को emulate करता है
set_viewport_size: browser viewport size को CSS pixel units में set करता है
wait_for_navigation: current page loading complete होने का इंतजार करता है और final URL व title लौटाता है
शुरू करने का तरीका
- पहले Safari Technology Preview install करना होगा
- install करने के बाद Safari settings में ये items on करने होंगे
- Safari Settings > Advanced > Show features for web developers
- Safari Settings > Developer > Enable remote automation and external agents
- Claude इस्तेमाल करने पर terminal में यह command इस्तेमाल कर सकते हैं
claude mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp
- Codex इस्तेमाल करने पर यह command इस्तेमाल कर सकते हैं
codex mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp
- दूसरे agents में
mcp.json या config.json में ये settings डाल सकते हैं
"safari-mcp-stp": {
"command": "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver",
"args": ["--mcp"]
}
- ऊपर के example में server name
safari-mcp-stp रखा गया है, लेकिन safari जैसा कोई भी मनचाहा नाम इस्तेमाल कर सकते हैं
prompts और agent behavior
- install के बाद नीचे जैसे simple prompts से शुरू कर सकते हैं
Find bugs on my site in Safari
How accessible is my site in Safari?
See how my website performs in Safari
- हर agent का behavior थोड़ा अलग हो सकता है, लेकिन Safari MCP server को explicitly इस्तेमाल करने को न कहें तब भी वह खुद इसका उपयोग कर सकता है
- example flow में user Safari के flight page bug के बारे में पूछता है, तो agent दो bugs ढूँढता है और Safari users के लिए problem पैदा कर सकने वाले items को अतिरिक्त रूप से जाँचता है
- initial request भर से भी Safari MCP server की मदद लेकर आगे की verification और problem identification जारी रखी जा सकती है
local execution और data handling
- Safari MCP server पूरी तरह local machine पर चलता है
- यह खुद network calls नहीं करता
- Safari की private information तक access नहीं करता
- AutoFill
- अन्य browser activity
- page content, screenshots, console logs capture करने पर वह data Apple को नहीं, बल्कि सीधे user द्वारा चलाए जा रहे agent को भेजा जाता है
- इसके बाद data handling इस्तेमाल किए जा रहे agent और model पर निर्भर करती है
- browser access permission देने वाले दूसरे agents की तरह, केवल trusted agents ही इस्तेमाल करने चाहिए
WebKit का अपेक्षित उपयोग
- web development में AI इस्तेमाल करने और न करने, दोनों तरह के तरीके हैं
- अगर AI development flow का हिस्सा है, तो Safari MCP server productivity बढ़ाने में मदद कर सकता है
- इसका उद्देश्य agent को Safari browser में screen और behavior समझने में मदद करना है, ताकि Safari testing और debugging आसान हो सके
- समस्या होने पर WebKit bug report के जरिए issue submit कर सकते हैं
2 टिप्पणियां
Safari MCP सुनकर... पुरानी यादें ताज़ा हो गईं, haha
Hacker News की राय
नवंबर 2025 से Chrome का आधिकारिक MCP DevTools सर्वर इस्तेमाल कर रहा हूं
https://github.com/ChromeDevTools/chrome-devtools-mcp
उससे पहले Chrome वेब ड्राइवर इस्तेमाल करता था, लेकिन MCP ज्यादा तेज था और इसमें फीचर भी ज्यादा थे
Firefox में भी चलता है या नहीं, यह देखने के लिए मैंने LLM को Firefox के आधिकारिक MCP से पेज टेस्ट करने को कहा
https://github.com/mozilla/firefox-devtools-mcp
अब Safari को भी compatibility testing में जोड़ने वाला हूं
उसी use case को cover करने के लिए MCP बनाया था
Federico Viticci ने MacStories, Mastodon और Connected podcast के latest episode में इसका मतलब क्या है, इसे थोड़ा और विस्तार से समझाया है, और यह आम लोगों के लिए भी ज्यादा accessible है
original में दिए गए links भी जरूर देखने चाहिए
https://www.macstories.net/linked/safaris-new-mcp-server-is-...
https://mastodon.macstories.net/@viticci/116847167023618099
https://relay.fm/connected/610
सिर्फ testing ही नहीं, रोज़मर्रा के कामों के लिए भी खास तौर पर उत्साहित हूं
जिस ब्राउज़र में मैं logged in हूं, उसमें अगर agent मेरे लिए स्वाभाविक तरीके से ब्राउज़र automation कर सके, तो मेरे और agent के बीच handoff काफी ज्यादा smooth लगेगा
इसकी एक वजह यह भी है कि Chrome battery बहुत खाता है, इसलिए मैं Safari को मुख्य ब्राउज़र के रूप में इस्तेमाल करता आया हूं
agent container orchestrator भी इस्तेमाल कर रहा हूं, और container के ports expose करने वाला MCP tool है, जिससे काम का result वेब पैनल में दिखाया जा सकता है: https://github.com/DeepBlueDynamics/nemesis8
आज n8 में Safari MCP connection जोड़ने वाला हूं, और ज्यादा features वाला नया release आज रात आने वाला है
क्योंकि browser के दूसरी तरफ वाली service के नज़रिए से यह जानने का कोई तरीका नहीं है कि कौन क्या कर रहा है
agent को कैसे limit किया जाता है, मैंने क्या किया और agent ने क्या किया इसे कैसे track किया जाता है, यह समझ नहीं आ रहा
सोच रहा हूं कि क्या मैं कुछ miss कर रहा हूं, या समय से पीछे रह गया हूं
व्यक्तिगत तौर पर मैं Playwright-CLI recommend करूंगा: https://github.com/microsoft/playwright-cli
जिन MCP servers को मैंने आज़माया है, उनसे यह कहीं ज्यादा तेजी से काम करता था
यह daemon के जरिए Chromium, Firefox, WebKit engines को support करता है
हालांकि मैं Playwright MCP इस्तेमाल कर रहा हूं
पूरा browser, debug protocol, और हर बार पढ़ने पर DOM dump शामिल होता है; बात MCP या CLI से ज्यादा इस बात की है कि उसके नीचे क्या है
इसलिए मैंने एक छोटा Rust binary बनाया, जो system webview को सीधे चलाता है और DOM के बजाय state tokens और deltas लौटाता है
HN का front page load करने पर भी agent को करीब 50 tokens ही लगते हैं
MCP और CLI दोनों support करता है, इसलिए agent अपनी पसंद का विकल्प चुन सकता है
https://github.com/frane/vibesurfer
Apple द्वारा दिया गया safaridriver कई सालों से मौजूद है
यह WebDriver W3C का इस्तेमाल करता है और Safari instance के साथ interact करने के लिए इस्तेमाल किया जा सकता है
पता नहीं Apple सच में web developers की परवाह करता है या नहीं
अगर Apple device न हो तो Safari में test कैसे करें
क्या Apple के लिए ऐसा न्यूनतम virtual machine बनाना इतना मुश्किल है जिसमें सिर्फ Safari हो
hardware के बिना hardware firmware कैसे test करें, या emulator या simulator न होने पर जरूरी hardware के बिना program कैसे चलाएँ—मुद्दा वही है
अगर कोई चीज़ सिर्फ खास hardware पर चलती है और virtualization या emulation नहीं है, तो उस hardware के बाहर उसे test नहीं किया जा सकता, और computing के शुरुआती दौर से दशकों तक ऐसा ही रहा है
Apple के फैसले अक्सर मुश्किल-आसान से ज्यादा strategy से तय होते हैं, और यह काफी साफ है कि वे दीवारों से घिरा बगीचा बना रहे हैं
पसंद नहीं है तो बाकी लोगों की तरह वहाँ मत खेलो
उसी तरह, भले यह perfect न हो, WebKit test किया जा सकता है, और चाहें तो Linux या Windows पर भी संभव है:
https://orionbrowser.com/platforms/linux
नहीं लगता कि Apple Safari virtual machine का business करेगा, लेकिन अगर macOS virtual machine चाहिए तो cloud service providers देख सकते हैं: https://aws.amazon.com/ec2/instance-types/mac/
कई जगहों ने software testing orchestration पहले से जोड़ रखा है
हाल में मैं agent से Chrome चलवाकर CDP के जरिए सीधे communicate करने को कह रहा हूँ, और यह काफी अच्छी तरह काम करता है
जानना चाहूँगा कि Playwright की तुलना में कैसा है
web development के लिहाज से कई browsers में इस्तेमाल हो पाना Playwright का फायदा लगता है
अगर browser-specific tools ज्यादा तेज़ हों या token-efficient हों, तो task automation और Claws के लिए वही बेहतर विकल्प लगते हैं
“वेब बनाने के कई तरीके हैं, चाहे आप AI का इस्तेमाल करें या न करें। अगर AI आपके workflow का हिस्सा है, तो मुझे लगता है कि यह tool आपकी productivity बढ़ाने में मदद करेगा। अगर नहीं, तो वह भी ठीक है।”
2026 में ऐसा कहना अजीब लगता है
क्योंकि यह वह दौर है जहाँ अगर आप खुद code लिखते हैं और सब कुछ agent को delegate नहीं करते, तो कुछ लोग आपको beginner समझते हैं
अब अच्छा है कि AI इस्तेमाल करने वालों को यह बात छिपानी नहीं पड़ती
क्या यह अजीब है कि कट्टर anti-AI camp को शांत करने के लिए ऐसा disclaimer डालना पड़ा
यह साफ तौर पर AI-assisted development के लिए tool है, फिर भी “AI नहीं इस्तेमाल करने वालों के लिए भी हमारी संवेदनाएँ” जैसा वाक्य जोड़ना पड़ा—यह बल्कि बहुत अजीब है
बस यह तुम्हारे सोचने की दिशा से अलग तरह से अजीब है
browser automation के लिए MCP दिलचस्प इसलिए है क्योंकि Safari का WebKit engine वह हिस्सा है जिसे ज्यादातर AI agents के लिए आसानी से handle करना मुश्किल है
Playwright और Puppeteer Chromium-centric हैं, इसलिए Safari के लिए MCP server हो तो agent workflows में cross-browser testing की असली gap भर सकता है