تصور کنید برنامهنویسی هستید که ساعتها وقت خود را صرف توصیف یک باگ بصری برای هوش مصنوعی میکند، در حالی که مدل میتوانست خودش صفحه را ببیند. این کابوس تکراری با یک تغییر ساختاری به پایان رسید. در ۳ ژوئیه ۲۰۲۶، اپل سرور پروتکل زمینهٔ مدل (MCP) — شبیه به یک مترجم همهکاره که اجازه میدهد مدلهای هوش مصنوعی با نرمافزارهای دیگر حرف بزنند — را در نسخه Safari Technology Preview 247 منتشر کرد. طبق اعلام اپل، این اقدام دسترسی برنامهنامهای مستقیم به پنجرههای فعال مرورگر را برای عامل (Agent) — دستیارهای هوشمندی که میتوانند بهجای جواب ساده، اقدامات عملی انجام دهند — فراهم میکند.
همانطور که در تحلیلهای پیشین ما دربارهی استانداردسازی ابزارهای هوش مصنوعی اشاره کردیم، MCP اکنون در حال تبدیل شدن به استاندارد جهانی برای متصل کردن مدلهای زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — به منابع دادهٔ خارجی است. این تحول در راستای چشمانداز گستردهتری است که در آن سیستمعامل iOS 27 با بهرهگیری از معماریهای هوشمند به یک عامل جامع تبدیل شده است تا تعامل کاربر با دستگاه را بازتعریف کند. پیش از این، توسعهدهندگان در یک چرخه خستهکننده و کسالتآور بودند: پیدا کردن یک باگ در مرورگر، کپی کردن لاگهای کنسول و چسباندن آنها در یک پرامپت. این جریان کاری تکهتکه شده، بار شناختی بالایی ایجاد میکرد و چرخه تکرار و اصلاح کد را بهشدت کند میکرد.
با پیادهسازی این سرور MCP، اپل به هر کلاینت سازگاری — مانند Claude یا Codex — اجازه میدهد تا با مرورگر سافاری به عنوان یک «ابزار» تعامل کند. در این حالت، عامل دیگر صرفاً بر اساس حدس و گمان درباره کدهای برنامهنویسی تصمیم نمیگیرد، بلکه مستقیماً وضعیت واقعی صفحه رندر شده را مشاهده میکند و بدین ترتیب، شکاف میان محیط ویرایشگر کد (IDE) و تجربه نهایی کاربر را میپوشاند.
پایان «رقص عیبیابی»
به نقل از مستندات اپل، فرآیند دستی فعلی توسعهدهندگان شبیه به یک «رقص عیبیابی» (debugging dance) است. در این رقص، برنامهنویس ابتدا خطا را در مرورگر میبیند، سپس کنسول را برای شکار خطا باز میکند، به تب استایلها میرود تا تشخیص دهد چه چیزی شکسته است و در نهایت به محیط کدنویسی برمیگردد تا اصلاحیه را اعمال کند. اگر در این مسیر از هوش مصنوعی بهصورت دستی استفاده شود، توسعهدهنده مجبور است اسکرینشات بگیرد و مشکل را با جزئیات برای عامل شرح دهد.
اگر اصلاحیه پیشنهادی عامل شکست بخورد، کل این فرآیند تکرار میشود: مرورگر، پرامپت، عامل. این چرخه جابهجایی بین پنجرهها و ارسال پرامپتهای تکراری بسیار ناکارآمد است. هدف سرور MCP سافاری این است که این رفتوبرگشتهای بیهوده را حذف کند تا توسعهدهنده در آرامش ترمینال خود بماند، در حالی که عامل بهطور خودکار در مرورگر گشتوگذار کرده و مشکل را مییابد.
کنترل مستقیم بر مرورگر
بر اساس گزارش منتشر شده در وبسایت webkit.org، سرور MCP سافاری مجموعهای جامع از ابزارها را ارائه میدهد که به یک عامل اجازه میدهد دقیقاً مانند یک توسعهدهنده از راه دور عمل کند. عامل اکنون قادر است اقدامات زیر را انجام دهد:
- مدیریت نشست (Session): ایجاد تبهای جدید با دستور
create_tab(که میتواند بهطور اختیاری یک URL را بارگذاری کند)، جابهجایی بین تبها با استفاده ازswitch_tabیا بستن یک تب از طریقclose_tab. همچنین میتواند ازnavigate_to_urlبرای بارگذاری یک صفحه و بازگرداندن محتوای آن استفاده کند. - بازرسی DOM: استخراج محتوای صفحه در قالبهای متنوع — از جمله HTML، Markdown و JSON — از طریق
get_page_content. ابزارpage_infoنیز اطلاعات فعلی شامل URL، عنوان صفحه و وضعیت بارگذاری را ارائه میدهد. - اجرای منطق: استفاده از
evaluate_javascriptبرای اجرای کدها در داخل صفحه و دریافت نتایج فوری. عامل همچنین میتواند باpage_interactionsتوالیهایی از اقدامات مانند کلیک کردن، تایپ کردن، اسکرول، نگه داشتن مکاننما روی المان (Hover) یا رویدادهای فشردن کلید (KeyPress) را اجرا کند. - تأیید بصری: ثبت اسکرینشاتهای PNG از صفحه فعلی با استفاده از ابزار
screenshotبرای تأیید چیدمان (Layout) و شناسایی رگرسیونهای بصری.
قابلیتهای عمیق عیبیابی
این سرور فراتر از یک استخراج ساده داده عمل میکند و ابزارهای عیبیابی در سطح حرفهای ارائه میدهد. عاملها اکنون میتوانند از طریق browser_console_messages به لاگهای بافر شدهی کنسول برای تبهای فعلی یا تبهای مشخص شده دسترسی داشته باشند. همچنین میتوانند با استفاده از browser_dialogs به دیالوگهای مرورگر پاسخ دهند (پذیرفتن، رد کردن یا وارد کردن متن).
تحلیل شبکه (Network Analysis) نیز بهطور قابل توجهی عمیقتر شده است. عاملها میتوانند از list_network_requests برای مشاهده خلاصهای از URLها، متدها، کدهای وضعیت (Status Codes) و زمانبندی درخواستها استفاده کنند. سپس میتوانند با get_network_request جزئیات کامل، شامل هدرها، بدنه (Body) و زمانبندی دقیق برای یک درخواست ثبتشده خاص را بازیابی کنند.
برای طراحی واکنشگرا (Responsive)، ابزار set_emulated_media به عامل اجازه میدهد تا یک نوع مدیای CSS، مانند حالت «چاپ» (print) را شبیهسازی کند. ابزار set_viewport_size تضمین میکند که عامل بتواند رفتار سایت را در ابعاد مختلف صفحه (بر حسب پیکسلهای CSS) بدون دخالت انسان تست کند. برای مدیریت بارگذاریهای نامتقارن (Asynchronous)، ابزار wait_for_navigation به عامل اجازه میدهد تا پیش از بازگرداندن URL و عنوان نهایی، منتظر بماند تا بارگذاری صفحه کاملاً به پایان برسد.
حل نقاط درد وب
اپل چندین مورد کاربردی با اثر بالا را برای این یکپارچهسازی برجسته کرده است. در تستهای سازگاری خاص سافاری، یک عامل میتواند سایتی را در سافاری باز کند، استایلهای محاسبهشده و چیدمانها را بازرسی کند و آنها را بدون نیاز به جابهجایی پنجره توسط توسعهدهنده، با انتظارات مقایسه نماید.
تحلیل عملکرد (Performance Analysis) اکنون خودکار شده است. عامل میتواند کدهای جاوااسکریپت را برای استخراج معیارهایی نظیر زمانبندی ناوبری (Navigation Timing) و زمان بارگذاری منابع اجرا کند تا دقیقاً مشخص کند کدام اسکریپت باعث کندی صفحه شده است.
ممیزی دسترسیپذیری (Accessibility Auditing) نیز در این سیستم ادغام شده است. عاملها میتوانند برای یافتن مشکلات رایج دسترسیپذیری، مانند نبود برچسبهای مناسب (Labels)، ویژگیهای نادرست ARIA یا کنتراست رنگ ضعیف اسکن انجام دهند و مشکلات انطباق را پیش از آنکه یک تستکننده انسانی سایت را باز کند، شناسایی کنند.
در نهایت، عاملها میتوانند وضعیتهای پیچیده کاربر را تأیید کنند. این شامل پرسوجوی المانها از طریق سلکتورها برای تأیید درست کار کردن جریان پرداخت (Checkout)، بررسی وضعیت یک فرم یا تأیید تعاملات خاص کاربر است.
حریم خصوصی و امنیت محلی
برای رفع نگرانیهای مربوط به حریم خصوصی، اپل سرور MCP را بهگونهای طراحی کرده است که کاملاً روی دستگاه محلی کاربر اجرا شود. این سرور هیچگونه تماس شبکهای خارجی (Outbound Network Call) را به طور مستقل برقرار نمیکند.
این ابزار به اطلاعات شخصی ذخیرهشده در سافاری، مانند دادههای AutoFill یا سایر فعالیتهای مرورگر دسترسی ندارد. دادههایی نظیر اسکرینشاتها، لاگهای کنسول و محتوای صفحات مستقیماً به عاملی که کاربر اجرا میکند ارسال میشوند و نه به سرورهای اپل. با این حال، اپل به کاربران هشدار میدهد که تنها از عاملهای مورد اعتماد خود استفاده کنند، زیرا عامل کنترل قابل توجهی بر نشست (Session) مرورگر به دست میآورد.
راهاندازی و یکپارچهسازی
برای استفاده از این ابزار، نصب Safari Technology Preview الزامی است و باید گزینه «Show features for web developers» در تنظیمات پیشرفته (Advanced) فعال باشد. سپس کاربران باید به مسیر Safari Settings > Developer رفته و گزینه «Remote automation and external agents» را فعال کنند.
برای کاربران 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 با استفاده از مسیر /Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver و آرگومان --mcp پیکربندی کنند. اگرچه در مثالها نام سرور safari-mcp-stp ذکر شده، اما کاربران میتوانند هر نام دلخواهی، مثلاً safari را برای آن انتخاب کنند.
پس از اتصال، عامل باید بهطور خودکار سرور را شناسایی کند. توسعهدهندگان میتوانند از پرامپتهای سطح بالایی مانند «باگهای سایت من را در سافاری پیدا کن» یا «سایت من چقدر دسترسیپذیر است؟» برای شروع فرآیند عیبیابی خودکار استفاده کنند. برای مثال، کاربر ممکن است به عامل بگوید: «در صفحه پروازها در سافاری مشکلی وجود دارد، میتوانی بفهمی چه اتفاقی افتاده است؟» عامل سپس میتواند بهطور خودکار چندین باگ، مانند یک انیمیشن شکسته در نمایش نتایج یا یک لاگ نادرست در استارتآپ سرور API را پیدا کرده و پیشنهاد اصلاح همه آنها را بدهد.
این تحول، نقش برنامهنویس را از یک «مهندس پرامپت» (Prompt Engineer) به یک «بازبین» (Reviewer) تغییر میدهد. بهجای توصیف مفصل مشکل، توسعهدهنده صرفاً آدرس URL را به عامل میدهد و اصلاحات نهایی را تأیید میکند.
این یکپارچهسازی سیگنالی برای حرکت به سمت توسعه «حلقه-بسته» (Closed-loop) است؛ جایی که هوش مصنوعی چرخه «مشاهده $ \rightarrow $ فرضیه $ \rightarrow $ اصلاح $ \rightarrow $ تأیید» را مدیریت میکند، بدون اینکه انسان مجبور باشد بهعنوان پل انتقال داده عمل کند.
توسعهدهندگان تشویق شدهاند تا بازخوردهای خود را از طریق تماس با Saron Yitbarek، Jen Simmons یا Jon Davis در پلتفرمهای BlueSky و Mastodon ارسال کنند یا گزارشهای باگ WebKit را برای کمک به بهبود این ابزار ثبت نمایند.
گام بعدی شما
- اگر توسعهدهنده وب هستید، نسخه پیشنمایش سافاری را نصب کرده و MCP را با Claude تست کنید تا سرعت دیباگ خود را بسنجید.
- روی خودکارسازی «ممیزی دسترسیپذیری» تمرکز کنید؛ این یکی از سریعترین راهها برای کاهش زمان تست دستی است.
- بررسی کنید که آیا Agentهای شما میتوانند از ابزار
set_viewport_sizeبرای تستهای Responsive استفاده کنند یا خیر.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو