1 पॉइंट द्वारा GN⁺ 5 시간 전 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
shakespeares 1 시간 전

Safari MCP सुनकर... पुरानी यादें ताज़ा हो गईं, haha

 
GN⁺ 5 시간 전
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 में जोड़ने वाला हूं

    • जानना चाहता हूं कि इनका Playwright MCP को Chrome/Firefox सेटिंग के साथ इस्तेमाल करने से कोई फर्क है या नहीं
    • कभी-कभी उल्टा भी होता है: LLM से ब्राउज़र चलवाने के बजाय मैं चाहता हूं कि ब्राउज़र में मैंने जो काम manually किए हैं, वे LLM को दिखें
      उसी 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 को मुख्य ब्राउज़र के रूप में इस्तेमाल करता आया हूं

    • Hyperia बना रहा हूं, जिसमें agent Electron-based वेब पैनल को पूरी तरह control करके काफी aggressive काम कर सकता है: https://github.com/deepbluedynamics/hyperia
      agent container orchestrator भी इस्तेमाल कर रहा हूं, और container के ports expose करने वाला MCP tool है, जिससे काम का result वेब पैनल में दिखाया जा सकता है: https://github.com/DeepBlueDynamics/nemesis8
      आज n8 में Safari MCP connection जोड़ने वाला हूं, और ज्यादा features वाला नया release आज रात आने वाला है
    • “Safari की निजी जानकारी, जैसे AutoFill या दूसरी browser activity तक access नहीं करता” वाला वाक्य देखकर लगता है कि जिस instance से agent interact करता है, उसमें login नहीं होता
    • “मेरे और agent के बीच handoff ज्यादा smooth है” वाला हिस्सा डरावना लगता है
      क्योंकि browser के दूसरी तरफ वाली service के नज़रिए से यह जानने का कोई तरीका नहीं है कि कौन क्या कर रहा है
      agent को कैसे limit किया जाता है, मैंने क्या किया और agent ने क्या किया इसे कैसे track किया जाता है, यह समझ नहीं आ रहा
      सोच रहा हूं कि क्या मैं कुछ miss कर रहा हूं, या समय से पीछे रह गया हूं
  • व्यक्तिगत तौर पर मैं Playwright-CLI recommend करूंगा: https://github.com/microsoft/playwright-cli
    जिन MCP servers को मैंने आज़माया है, उनसे यह कहीं ज्यादा तेजी से काम करता था

    • अगर persistent browser session चाहिए, तो spel(https://github.com/Blockether/spel) भी है
      यह daemon के जरिए Chromium, Firefox, WebKit engines को support करता है
    • Playwright end-to-end testing के लिए बेहतरीन है और Electron के साथ भी अच्छी तरह fit बैठता है
      हालांकि मैं 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 हो

    • Apple device के बिना Safari कैसे test करें, यह सवाल कुछ वैसा ही है जैसे PlayStation के बिना PlayStation game कैसे test करें
      hardware के बिना hardware firmware कैसे test करें, या emulator या simulator न होने पर जरूरी hardware के बिना program कैसे चलाएँ—मुद्दा वही है
      अगर कोई चीज़ सिर्फ खास hardware पर चलती है और virtualization या emulation नहीं है, तो उस hardware के बाहर उसे test नहीं किया जा सकता, और computing के शुरुआती दौर से दशकों तक ऐसा ही रहा है
      Apple के फैसले अक्सर मुश्किल-आसान से ज्यादा strategy से तय होते हैं, और यह काफी साफ है कि वे दीवारों से घिरा बगीचा बना रहे हैं
      पसंद नहीं है तो बाकी लोगों की तरह वहाँ मत खेलो
    • Chrome के dominant होने के बावजूद Edge जैसे दूसरे browsers छूट न जाएँ, इसलिए Chromium test किया जाता है
      उसी तरह, भले यह 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 पहले से जोड़ रखा है
    • Apple ने अभी-अभी यह नया tool launch किया है, तो कहा जा सकता है कि वह web developers की परवाह करता है
    • वही तरीका, जैसे Linux या OS X पर IE test किया जाता था
  • हाल में मैं agent से Chrome चलवाकर CDP के जरिए सीधे communicate करने को कह रहा हूँ, और यह काफी अच्छी तरह काम करता है

    • यह तरीका भी आज़माना पड़ेगा
      जानना चाहूँगा कि Playwright की तुलना में कैसा है
      web development के लिहाज से कई browsers में इस्तेमाल हो पाना Playwright का फायदा लगता है
      अगर browser-specific tools ज्यादा तेज़ हों या token-efficient हों, तो task automation और Claws के लिए वही बेहतर विकल्प लगते हैं
    • सही है। यह तरीका MCP route से कहीं बेहतर काम करता है और तेज़ भी है
  • “वेब बनाने के कई तरीके हैं, चाहे आप AI का इस्तेमाल करें या न करें। अगर AI आपके workflow का हिस्सा है, तो मुझे लगता है कि यह tool आपकी productivity बढ़ाने में मदद करेगा। अगर नहीं, तो वह भी ठीक है।”
    2026 में ऐसा कहना अजीब लगता है
    क्योंकि यह वह दौर है जहाँ अगर आप खुद code लिखते हैं और सब कुछ agent को delegate नहीं करते, तो कुछ लोग आपको beginner समझते हैं

    • 2 साल पहले इसका उल्टा कहना बकवास माना जाता था
      अब अच्छा है कि 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 भर सकता है