AI کوڈنگ ایجنٹ کو macOS پر اپنے براؤزر سے کیسے جوڑیں۔

AI کوڈنگ ایجنٹس جیسے کلاڈ کوڈ، کرسر، اور دیگر کوڈ کو پڑھنے اور لکھنے میں نمایاں طور پر ماہر ہو گئے ہیں۔ لیکن جس لمحے آپ کو اس کی ضرورت ہے۔ ویب پر کچھ دیکھووہ ایک دیوار سے ٹکرا گئے۔ وہ آپ کی سٹیجنگ سائٹ نہیں دیکھ پائیں گے۔ تجزیاتی ڈیش بورڈ میں خرابی پڑھنے سے قاصر ہے۔ میں اس بات کی تصدیق نہیں کر سکتا کہ جو فارم میں نے ابھی پُر کیا ہے وہ واقعی جمع کرایا گیا ہے۔

ایک عام حل یہ ہے کہ ایجنٹ کو بغیر ہیڈ براؤزر (جیسے Puppeteer یا Playwright اسپن کر کے ایک نیا Chromium مثال بنانا)۔ یہ ایک قسم کا کام کرتا ہے۔ تاہم، ہیڈ لیس کرومیم ہر سیشن کو اجنبی کے طور پر شروع کرتا ہے۔ کوئی لاگ ان، کوئی کوکیز، کوئی سیشن نہیں۔ یہ دوسرا براؤزر انجن چلاتا ہے جو سی پی یو کو چلاتا ہے اور مداحوں کو گھماتا ہے۔ اور زیادہ سے زیادہ سائٹیں اسے فوراً بلاک کر رہی ہیں۔

ایک اور آپشن ہے، اور یہ میک کے لیے اچھا ہے۔ ایجنٹ سفاری آپ پہلے ہی استعمال کر رہے ہیں۔ – آپ پہلے سے ہی GitHub، Analytics، اور سٹیجنگ ماحول میں لاگ ان ہیں۔ یہی سفاری ایم سی پی کرتا ہے۔ ایک اوپن سورس MCP سرور جو سفاری کو کسی بھی MCP- فعال ایجنٹ کو کرومیم، WebDriver، اور تقریباً 80 ٹولز کے ذریعے بے نقاب کرتا ہے جس کا نظم کرنے کے لیے علیحدہ براؤزر کی ضرورت نہیں ہے۔

اس ٹیوٹوریل میں، آپ Safari MCP کو ایک AI ایجنٹ سے جوڑیں گے، اپنی پہلی آٹومیشن چلائیں گے، اور پھر آٹومیشن بنائیں گے جو اس صفحے کے اندر کام کرے گا جو آپ نے لاگ ان کیا ہے کچھ ایسا کرنے کے لیے جو بغیر ہیڈ براؤزر بنیادی طور پر نہیں کر سکتے۔ آخر کار آپ سمجھ جائیں گے۔ کیسے میں اس کو جوڑنے کی کوشش کر رہا ہوں۔ جب مقامی براؤزر آٹومیشن درست کال ہے۔ اور کبھی کبھی ایسا نہیں ہوتا۔

یہاں آپ کی ضرورت ہے:

  • میک (سفاری ایم سی پی صرف میک او ایس کے لیے ہے؛ تجارتی معاہدوں پر بعد میں مزید تفصیل سے بات کی جائے گی۔)

  • Node.js 18+

  • MCP قابل AI ایجنٹ – یہ ٹیوٹوریل کلاڈ کوڈ اور کرسر کا استعمال کرتا ہے، لیکن کوئی بھی MCP کلائنٹ کام کرے گا۔

انڈیکس

MCP کیا ہے اور مجھے براؤزر آٹومیشن کے لیے اس کی ضرورت کیوں ہے؟

منسلک کرنے سے پہلے، یہ جاننا مفید ہے کہ Safari MCP میں "MCP” کا مطلب کیا ہے۔

ایم سی پی ماڈل سیاق و سباق پروٹوکول، AI ایجنٹوں کو بیرونی ٹولز اور ڈیٹا سے جوڑنے کا ایک کھلا معیار۔ اس کے بارے میں سوچیں جس طرح آپ USB پورٹ کے بارے میں سوچتے ہیں۔ USB سے پہلے، ہر ڈیوائس کو اپنے کنیکٹر کی ضرورت تھی۔ MCP ایک کنیکٹر پر متفق ہونے کے مترادف ہے۔ MCP استعمال کرنے والے ایجنٹ استعمال کر سکتے ہیں: کوئی بھی ایک ٹول جو MCP کا حوالہ دیتا ہے بغیر کسی کسٹم انٹیگریشن کوڈ کے۔

ایم سی پی سرور ٹولز کے ایک سیٹ کو بے نقاب کریں۔ ایم سی پی گاہک – آپ کا AI ایجنٹ – اس ٹول کو دریافت کرتا ہے اور اسے طلب کرتا ہے۔ سرور ہر ٹول (نام، فنکشن، دلائل) کی وضاحت کرتا ہے اور ایجنٹ فیصلہ کرتا ہے کہ ٹول کو کب کال کرنا ہے۔ جب کلاڈ کوڈ اس بات کا تعین کرتا ہے کہ ویب صفحہ کو پڑھا جانا چاہئے، تو یہ خود براؤزر کوڈ نہیں چلاتا ہے۔ میں کچھ MCP سرورز کے ذریعہ فراہم کردہ ٹول کو کال کرتا ہوں۔

براؤزر آٹومیشن قدرتی طور پر اس ماڈل میں فٹ بیٹھتا ہے۔ ایجنٹ کا کام استدلال کرنا ہے، "مجھے یہ چیک کرنے کی ضرورت ہے کہ سٹیجنگ سائٹ پر کیا ہے اور پھر کنسول کو غلطیوں کے لیے چیک کرنا ہے۔” اصل طریقہ کار (ایک ٹیب کو کھولنا، اس کے لوڈ ہونے کا انتظار کرنا، DOM کو پڑھنا، کنسول آؤٹ پٹ کیپچر کرنا) اچھی طرح سے طے شدہ کام ہیں جو ایک مستحکم انٹرفیس کے پیچھے پڑ جاتے ہیں۔ وہ انٹرفیس بالکل ویسا ہی ہے جو MCP سرور فراہم کرتا ہے۔

Safari MCP ایک ایسا سرور ہے۔ یہ ایک مقامی عمل کے طور پر چلتا ہے اور تقریباً 80 براؤزر ٹولز دکھاتا ہے (نیویگیشن، کلک کرنا، فلنگ، پڑھنا، اسکرین شاٹ، نکالنا، وغیرہ)، اور کوئی بھی MCP کلائنٹ انہیں چلا سکتا ہے۔ ایجنٹ کبھی بھی AppleScript یا WebKit انٹرنل کو نہیں چھوتا ہے۔ میں ابھی کال کر رہا ہوں۔ safari_navigate آپ کو نتائج ملتے ہیں۔

"USB پورٹ” فریمنگ عملی وجوہات کی بناء پر اہم ہے۔ اس ٹیوٹوریل میں کچھ بھی کلاڈ کے لیے مخصوص نہیں ہے۔ چاہے آپ سفاری ایم سی پی کو کرسر، کلائن، ونڈ سرف، یا آپ کے اپنے ایم سی پی کلائنٹ سے جوڑیں، ٹولز ایک جیسے ہیں۔

کروم یا پلے رائٹ کے بجائے سفاری کیوں استعمال کریں؟

اگر آپ نے پہلے کبھی کسی براؤزر کو خودکار بنایا ہے، تو آپ نے تقریباً یقینی طور پر پپیٹیئر، پلے رائٹ، یا سیلینیم کے ذریعے کروم استعمال کیا ہے۔ تو آپ کو سفاری کا انتخاب کیوں کرنا چاہئے؟

ایک ہی وقت میں تین اہم اختلافات ہیں: میرے پاس ایک ایجنٹ ہے۔براؤزر چلا رہا ہے، ٹیسٹ اسکرپٹ نہیں۔

1. ایک حقیقی سیشن کے ساتھ ایک حقیقی براؤزر۔ پلے لائٹ کے ذریعہ جاری کردہ ہیڈ لیس کرومیم ایک صاف ستھرا کمرہ ہے۔ کبھی بھی کچھ بھی لاگ ان نہیں ہوا ہے۔ ایجنٹوں کو اینالیٹکس ڈیش بورڈ پڑھنے کی اجازت دینے کے لیے، پہلے توثیق کو حل کرنا ہوگا۔ اس کا مطلب ہے کہ آپ کو اپنے اسناد کو کہیں ذخیرہ کرنے، لاگ ان اسکرپٹ لکھنے، دو قدمی پرامپٹ کو سنبھالنے اور ٹوکن کو تازہ کرنے کی ضرورت ہے۔ Safari MCP ان سب کو چھوڑ دیتا ہے۔ یہ سفاری کی ایک مثال کو طاقت دیتا ہے جسے آپ ہر روز استعمال کرتے ہیں۔ پہلے ہی اپنے ڈیش بورڈ، GitHub، اور ای میل میں لاگ ان کریں۔ ایجنٹ کو وہ سیشن مفت میں وراثت میں ملتا ہے۔

2. آپ کا لیپ ٹاپ نہیں پگھلے گا۔ ہیڈ لیس کرومیم ایک دوسرا مکمل براؤزر انجن ہے جو پہلے سے کھلے براؤزر کے ساتھ چلتا ہے۔ ایک حقیقی CPU، حقیقی میموری، اور قابل سماعت پرستار کے ساتھ لیپ ٹاپ پر۔ Safari MCP WebKit انجن استعمال کرتا ہے جو پہلے سے ہی تمام Macs پر چلتا ہے، لہذا اس کے ساتھ شروع کرنے کے لیے کوئی دوسرا انجن نہیں ہے۔ پروجیکٹ براؤزنگ کے کاموں کے لیے تقریباً 60% کم CPU کے طور پر اس کی پیمائش کرتا ہے، اور آٹومیشن بیک گراؤنڈ میں سفاری کے ساتھ چلتی ہے تاکہ یہ آپ کی اسکرین کو چوری نہ کرے۔

3. سائٹ اسے بوٹ کے طور پر نہیں مانتی ہے۔ ہیڈ لیس براؤزر لیک۔ وہ بے نقاب navigator.webdriverوہ ٹیلٹیل آٹومیٹڈ فنگر پرنٹنگ اور بوٹ کا پتہ لگانے کی خدمات (کلاؤڈ فلیئر کے چیلنج پیجز، بہت سی B2B سائٹوں کے سامنے reCAPTCHA، WAFs) کے ساتھ آتے ہیں جو ان کو تلاش کرنے میں بہت اچھے ہیں۔ اصل سفاری، جو آپریٹنگ سسٹم سے چلتی ہے، بالکل انسانی براؤزر کی طرح ہے۔ (واضح کرنے کے لئے، یہ آٹومیشن کے لئے ہے. آپ کا اپنا اکاؤنٹس اور سائٹس – رسائی کے کنٹرول کو روکنے کا مقصد نہیں ہے جو آپ کے مالک نہیں ہیں۔)

اس سب کے اخراجات ظاہر ہیں۔ Safari MCP صرف macOS کے لیے ہے۔ یہ WebKit اور AppleScript پر بنایا گیا ہے، لہذا یہاں ونڈوز یا لینکس کی کوئی بات نہیں ہے۔ اگر ایجنٹ لینکس سی آئی باکس پر چلتا ہے، تو یہ ٹول نہیں ہے۔ کوڈنگ ایجنٹ کے لیے، ڈیل اچھی ہے اگر یہ میک پر چلتا ہے جسے آپ اکثر چلاتے ہیں۔ آخر میں، میں ایماندارانہ حدوں پر واپس آؤں گا۔

Safari MCP انسٹال کریں۔

انسٹالیشن دراصل ایک کمانڈ ہے، لیکن دو سفاری سیٹنگز ہیں آپ کو پہلے ٹوگل کرنے کی ضرورت ہوگی۔ آئیے اسے ترتیب سے کرتے ہیں۔

مرحلہ 1 – سفاری میں ڈویلپر کی خصوصیات کو فعال کریں۔

Safari MCP صفحات کو پڑھنے اور کنٹرول کرنے کے لیے Safari کے اندر JavaScript چلاتا ہے۔ دونوں ترتیبات کو آن کرنا ضروری ہے۔

  1. کھلا سفاری → سیٹنگز → ایڈوانسڈ اور چیک کریں "ویب ڈویلپرز کے لیے خصوصیات دکھاتا ہے۔” یہ ڈیولپ مینو کو ظاہر کرے گا۔

  2. کچھ نیا کھولیں ترقی مینو اور ٹھیک ہے۔ "ایپل کے واقعات جاوا اسکرپٹ کی اجازت دیتے ہیں۔”

دوسرا اہم ہے۔ یہ تب ہوتا ہے جب ایک بیرونی عمل (MCP سرور) سفاری سے صفحہ پر JavaScript چلانے کے لیے کہتا ہے۔ اس کے بغیر، تمام ٹول کالز ناکام ہو جائیں گی۔

مرحلہ 2 – سرور چلائیں۔

npx safari-mcp

یہ مکمل تنصیب ہے۔ npx پیکج درآمد کریں اور چلائیں۔ تعمیر کرنے کے لیے کچھ نہیں ہے۔ جب ایجنٹ پہلی بار ٹول کی درخواست کرتا ہے، macOS مندرجہ ذیل اجازت کا اشارہ دکھاتا ہے: "میں ٹرمینل سے سفاری کو کنٹرول کرنے کی کوشش کر رہا ہوں۔” کلک کریں بہت اچھا. یہ معیاری آٹومیشن اجازتیں ہیں اور بعد میں ذیل میں ان کا جائزہ لیا جا سکتا ہے۔ سسٹم سیٹنگز → پرائیویسی اور سیکیورٹی → آٹومیشن.

اگر آپ مستقل طور پر انسٹال کرنا چاہتے ہیں:

npm install -g safari-mcp

مرحلہ 3 – ایجنٹ کو اس بارے میں مطلع کریں۔

AI ایجنٹ کو یہ جاننے کی ضرورت ہے کہ آیا سرور موجود ہے۔ کے لیے کلاڈ کوڈیہ ایک حکم کے ساتھ کیا گیا ہے.

claude mcp add safari -- npx safari-mcp

کے لیے کرسربنانا .cursor/mcp.json آپ کے منصوبے میں:

{
  "mcpServers": {
    "safari": {
      "command": "npx",
      "args": ["safari-mcp"]
    }
  }
}

یہ عمل تمام کلائنٹس کے لیے یکساں ہے: کلاڈ ڈیسک ٹاپ، کلائن، ونڈ سرف، کنٹینیو، وی ایس کوڈ، وغیرہ۔ ایجنٹ کے پاس "نام کا MCP سرور ہے۔ safari; دوڑ کر شروع کریں۔ npx safari-mcp"

ایجنٹ کو دوبارہ شروع کریں یا MCP سرور کو دوبارہ لوڈ کریں اور آپ جڑ جائیں گے۔ کلاڈ کوڈ پر، آپ اسے اس طرح چیک کر سکتے ہیں: /mcp منسلک سرورز اور ان کے ٹولز کی فہرست بنانے کا حکم۔ آپ کو دیکھنا چاہئے safari تقریباً 80 ٹولز دستیاب ہیں۔

بس۔ ایجنٹ کے پاس اب ایک براؤزر ہے۔

پہلا آٹومیشن: صفحہ پڑھیں

آئیے ثابت کریں کہ کنکشن آسان ترین آپریشن کے ساتھ کام کرتا ہے۔ اپنے ایجنٹ کو اپنے ویب صفحات پڑھنے کو کہیں۔

اپنے ایجنٹ سے سادہ زبان میں سوالات پوچھیں۔

"سفاری ٹول کا استعمال کرتے ہوئے example.com کھولیں اور مجھے بتائیں کہ صفحہ کیا کہتا ہے۔”

اس درخواست کے بعد، ایجنٹ دو ٹول کال کرتا ہے: پہلے دریافت کریں:

{ "tool": "safari_navigate", "arguments": { "url": "https://example.com" } }

پھر مواد پڑھیں۔

{ "tool": "safari_read_page", "arguments": {} }

safari_read_page LLM HTML سے ہٹے ہوئے صفحہ کا عنوان، URL، اور متن کا مواد بالکل اسی شکل میں واپس کرتا ہے جو آپ چاہتے ہیں۔ ایجنٹ کچھ اس طرح واپس کرتا ہے:

Example Domain
https://example.com/
This domain is for use in illustrative examples in documents. You may
use this domain in literature without prior coordination or asking for
permission.

اور یہ آپ تک پہنچ جاتا ہے۔ میں نے صرف ایجنٹ کو دریافت کرتے دیکھا۔

کے بارے میں ایک فوری نوٹ کیسے ایجنٹ ہر چیز کو نیچے کی طرف تبدیل کرتا ہے، لہذا آپ کو صفحہ چیک کرنے کی ضرورت ہے۔ safari_read_page "اس کا کیا مطلب ہے؟” کے لیے بہت اچھا لیکن جب آپ کو کسی ایجنٹ کی ضرورت ہو۔ کارروائی — بٹن پر کلک کریں اور کھیتوں کو پُر کریں — متن کافی نہیں ہے۔ آپ کو یہ جاننے کی ضرورت ہے کہ اصل میں وہاں کیا ہے اور اسے کیسے نشانہ بنایا جائے۔ اس کے لیے ایک بہتر پہلا قدم ہوگا۔ safari_snapshot:

{ "tool": "safari_snapshot", "arguments": {} }

یہ تمام متعامل عناصر کو مستحکم صفحہ کے قابل رسائی ٹری ویو پر لوٹاتا ہے۔ ref ID:

[textbox ref=0_8] "Full Name" value=""
[combobox ref=0_10] "Subject"
[button ref=0_15] "Submit"

وہ ref ID ایجنٹ کا بھروسہ مند ہینڈل ہے۔ جب صفحہ دوبارہ رینڈر کیا جائے گا، تو CSS سلیکٹر ٹوٹ جائے گا۔ سنیپ شاٹ حوالہ جات صفحہ کی زندگی بھر کے لیے درست ہیں۔ براہ کرم اس بات کو ذہن میں رکھیں۔ یہ ایک بار کام کرنے والی آٹومیشن اور ہر بار کام کرنے والی آٹومیشن میں فرق ہے۔

نتائج: لاگ ان ورک فلوز کو خودکار کرنا

مثال ڈاٹ کام کو پڑھنا ایک وائرنگ ٹیسٹ ہے۔ یہ ہے جو بغیر ہیڈ لیس براؤزر واقعی نہیں کر سکتے ہیں:

کسی بھی سائٹ کا انتخاب کریں جس میں آپ ابھی سفاری میں لاگ ان ہیں، بشمول تجزیات، پروجیکٹ بورڈز، اور CI ڈیش بورڈز۔ ہم GitHub استعمال کریں گے۔ کیونکہ ہر ڈویلپر کا ایک اکاؤنٹ ہوتا ہے اور نوٹیفکیشن کا صفحہ قدرے پریشان کن ہوتا ہے۔ کام: اپنے ایجنٹوں کو GitHub اطلاعات کھولیں اور اس بات کا خاکہ بنائیں کہ واقعی توجہ کی ضرورت ہے۔

ایک ایجنٹ سے پوچھیں:

"میری GitHub اطلاعات کو کھولیں اور پڑھیں اور انہیں ‘جواب کی ضرورت’ اور ‘صرف حوالہ کے لیے’ کے لحاظ سے گروپ کریں۔”

ایجنٹ دریافت کرتا ہے:

{ "tool": "safari_navigate", "arguments": { "url": "https://github.com/notifications" } }

رکو اور کیا نوٹس یہ نہیں کیا اٹھو کوئی لاگ ان اسکرین نہیں ہے۔ کوئی OAuth ڈانس نہیں ہے۔ ماحولیاتی متغیر میں ذاتی رسائی کا کوئی ٹوکن نہیں ہے۔ چونکہ سفاری پہلے ہی آپ کے طور پر تصدیق شدہ ہے، ایجنٹ براہ راست آپ کی اصل اطلاعات کی تصدیق کرتا ہے۔ ہیڈ لیس کرومیم یہاں لاگ ان دیوار سے ٹکرا کر رک جاتا۔

نوٹیفکیشن کی فہرست آہستہ آہستہ لوڈ کی جاتی ہے، لہذا ایجنٹوں کو مواد کو پڑھنے سے پہلے انتظار کرنا چاہیے۔ safari_wait_for صفحہ کو پول کریں جب تک کہ سلیکٹر یا ٹیکسٹ فریگمنٹ ظاہر نہ ہو یا ٹائم آؤٹ گزر جائے۔

{ "tool": "safari_wait_for", "arguments": { "text": "Inbox", "timeout": 10000 } }

پھر پڑھیں۔ safari_read_page جب نوٹیفکیشن کے علاقے میں دائرہ کار کیا جاتا ہے، تو فہرست صاف متن کے طور پر واپس آ جاتی ہے۔

{ "tool": "safari_read_page", "arguments": { "selector": "main" } }

ایجنٹ متن کا جائزہ لیتا ہے اور ایک گروپ شدہ خلاصہ فراہم کرتا ہے۔ پورا لوپ – تلاش کریں، انتظار کریں، پڑھیں، خلاصہ کریں – صرف چند ٹول کالز ہیں۔

اگر آپ کو نثر کی بجائے درست شکل میں ڈیٹا کی ضرورت ہے (دوسرے مراحل کو فیڈ کرنے یا فائل میں لکھنے کے لیے)، ایجنٹ یہ کرسکتا ہے: safari_evaluateصفحہ پر حسب ضرورت JavaScript چلاتا ہے اور جو کچھ بھی آپ نے بنایا ہے اسے لوٹاتا ہے۔

{
  "tool": "safari_evaluate",
  "arguments": {
    "expression": "JSON.stringify([...document.querySelectorAll('li')].map(li => li.innerText.trim()))"
  }
}

ایجنٹ اس ساخت کے لیے اپنا اظہار لکھتا ہے جسے اس نے ابھی سنیپ شاٹ میں دیکھا تھا۔ آپ خود سلیکٹر نہیں لکھتے۔

آپ اس طرح سوچ سکتے ہیں: گٹ ہب کے پاس ایک API ہے، تو صفحات کیوں کھرچیں؟ منصفانہ خاص طور پر GitHub کے لیے، API بہت اچھا ہے۔ لیکن نقطہ عام ہے۔ زیادہ تر ڈیش بورڈز جو آپ ہر روز دیکھتے ہیں – چاہے وہ بلنگ پورٹل ہو، ایرر ٹریکر میں ایک مخصوص فلٹر شدہ منظر، کلائنٹ اینالیٹکس، یا کسی ایسے ٹول کا ایڈمن پینل جس کے لیے آپ کی کمپنی ادائیگی کرتی ہے – یا تو کوئی API دستیاب نہیں ہے یا OAuth کو ترتیب دینے کے لیے ایک دوپہر کی ضرورت ہے۔ Safari MCP کے ساتھ "آپ جو صفحہ پہلے ہی دیکھ رہے ہیں” ہے API ایجنٹ پڑھتا ہے کہ صارف کیا دیکھ سکتا ہے کیونکہ یہ وہ براؤزر استعمال کرتا ہے جسے صارف دیکھ رہا ہے۔

یہ ایک ایسی خصوصیت ہے جس کا ہیڈ لیس آٹومیشن میچ نہیں کر سکتا۔ رفتار نہیں، خصوصیات نہیں – پوزیشن

مشکل حصوں کو سنبھالنا

پہلا آٹومیشن ہمیشہ آسان لگتا ہے۔ تین دوسرے میں کاٹتے ہیں۔

ٹیب سیف – ایجنٹوں کو ٹیبز کو ہائی جیک نہیں کرنا چاہیے۔

یہ سب سے خوفناک ناکامی موڈ ہے۔ جیسے ہی آپ ٹیبز میں ٹائپ کرتے ہیں، ایجنٹ نیویگیٹ کرتا ہے۔ کہ جب آپ کسی ٹیب پر کلک کرتے ہیں تو آپ کا کام غائب ہوجاتا ہے۔ سفاری ایم سی پی ہر آٹومیشن ٹیب پر آئی ڈی مارکر دکھا کر اسے روکتا ہے۔ window.nameیہ صفحہ کی نیویگیشن پر برقرار رہتا ہے اور ہر کال پر اس مارکر کے ذریعے "ایجنٹ ٹیب” کو حل کرتا ہے۔ اگر یہ مثبت طور پر اپنے ٹیب کی شناخت نہیں کر سکتا، تو یہ کارروائی کو مسترد کر دیتا ہے اور اندازہ لگانے کے بجائے دوبارہ اینکر کی غلطی کو بڑھاتا ہے۔

عملی اصول: ایجنٹوں کو ان کے اپنے ٹیبز استعمال کرکے کھولیں: safari_new_tabاور اپنی گلی میں رہو۔ صرف "موجودہ ٹیب” کی طرف اشارہ نہ کریں اور قیاس آرائیاں کریں۔

متحرک مواد کا انتظار ہے۔

تازہ ترین صفحہ لوڈ ہونے کے بعد پیش کیا جاتا ہے۔ اگر ایجنٹ بہت جلد پڑھتا ہے، تو یہ ایک خالی خول پڑھتا ہے۔ اندازہ نہ لگائیں – فکسڈ نیند کا استعمال کریں۔ safari_wait_forپولز اس وقت تک جب تک کہ کوئی سلیکٹر یا متن ظاہر نہ ہو یا وقت ختم نہ ہو جائے۔

{ "tool": "safari_wait_for", "arguments": { "selector": ".results-list", "timeout": 8000 } }

یہ سب سے عام فکس ہے "آٹومیشن اس وقت کام کرتی ہے جب آپ اسے آہستہ سے دھکیلتے ہیں، لیکن جب یہ چلتا ہے تو ناکام ہوجاتا ہے۔”

فریم ورک فارم

React یا Vue ان پٹ سیٹ کرنا .value براہ راست فریم ورک اس سے آگاہ نہیں ہے۔ اندرونی حالت خالی ہے اور "پُر” فارم خالی جمع کرایا گیا ہے۔ سفاری ایم سی پی safari_fill اور safari_fill_form ڈیفالٹ ویلیو سیٹر استعمال کریں اور input اور change چونکہ یہ ایک ایسا واقعہ ہے جسے فریم ورک سنتا ہے، اس لیے React، Vue، Angular، اور Svelte ریاست سبھی مطابقت پذیر ہیں۔

{
  "tool": "safari_fill_form",
  "arguments": {
    "fields": [
      { "selector": "#email", "value": "jane@example.com" },
      { "selector": "#message", "value": "Looks great." }
    ]
  }
}

کمزور CSS سلیکٹرز اور بھاری فریم ورک والے صفحات کے لیے، پچھلے حصے میں سنیپ شاٹ کے حوالے پر واپس جائیں۔ { "ref": "0_9" } اس کے بجائے { "selector": "#email" }. حوالہ جات کو دوبارہ پیش کرنے میں برقرار رکھا جاتا ہے۔ سلیکٹرز نہیں کرتے۔

ان میں سے کوئی بھی غیر ملکی نہیں ہے۔ یہ صرف ڈیمو اور اصل میں چلنے والے آٹومیشن کے درمیان فرق ہے۔

حدود: اسے کب استعمال نہ کریں۔

ٹول ٹیوٹوریلز جو صرف فوائد کی فہرست دیتے ہیں بہت کم اہمیت رکھتے ہیں۔ یہ وہ جگہ ہے جہاں Safari MCP غلط انتخاب ہے۔

یہ صرف macOS اور ساختہ ہے۔ Safari MCP WebKit اور AppleScript پر بنایا گیا ہے۔ کوئی ونڈوز یا لینکس پورٹس کا منصوبہ نہیں ہے۔ کیونکہ اس پلیٹ فارم کی کوئی بنیاد نہیں ہے۔ اگر آپ کا ایجنٹ Linux CI پر چلتا ہے تو پلے رائٹ استعمال کریں۔

ایک میک پر ایک سفاری چلائیں۔ یہ براؤزر آٹومیشن ہے۔ آپ کا مشینیں – کوڈنگ ایجنٹس جو آپ کے ساتھ کام کرتے ہیں۔ بیڑا نہیں۔ اگر آپ کو اپنے ڈیٹا سینٹر میں 50 متوازی براؤزرز کو سکریپ کرنے کی ضرورت ہے، تو یہ ہیڈ لیس کنٹینر میں کروم کا کام ہے، اور Safari MCP اس کے لیے موزوں نہیں ہے۔

پلے رائٹ میں کراس براؤزر ٹیسٹ سوٹ کو برقرار رکھا جانا چاہئے۔ اگر آپ اینڈ ٹو اینڈ ٹیسٹ لکھ رہے ہیں جنہیں کروم، فائر فاکس اور سفاری میں پاس کرنے کی ضرورت ہے، تو اس کے لیے بنائے گئے ٹولز کا استعمال کریں۔ Safari MCP صرف ایک انجن چلاتا ہے: WebKit۔

یہ آپ کا براؤزر آپ کے ساتھ شیئر کرتا ہے۔ چونکہ ہم اصلی سفاری استعمال کرتے ہیں، آپ اور آپ کا ایجنٹ ایک ہی براؤزر میں ہیں۔ یہی بات ہے۔ تاہم، اس کا مطلب یہ ہے کہ آپ کو ایجنٹوں کو ان کے اپنے ٹیبز میں کام کرنے دینا چاہیے اور ایک ہی ونڈو کے لیے لڑنا نہیں چاہیے۔

ایماندارانہ خلاصہ: Safari MCP ایک مخصوص صورتحال کے لیے بنایا گیا ہے: ایک AI ایجنٹ جو میک پر براؤزر کے حقیقی کام انجام دیتا ہے جس پر صارف بیٹھا ہوا ہے، ان سائٹس کے لیے جن پر وہ پہلے سے لاگ ان ہیں۔ ان حالات میں جیتنا مشکل ہے۔ باہر سر کے بغیر ٹول تلاش کریں۔ یہ جاننا کہ آپ کس حالت میں ہیں ایک حقیقی مہارت ہے۔

ختم

ہم ایک AI ایجنٹ سے گئے تھے جو صرف ایک AI ایجنٹ کو کوڈ دیکھ سکتا تھا جو ویب کو دیکھ سکتا تھا، اصل لاگ ان کے پیچھے اصل ویب۔

ہم نے جو کچھ کیا اس کا خلاصہ کرنے کے لیے، ہم نے سیکھا کہ MCP کیا ہے اور براؤزر آٹومیشن اس انٹرفیس کے پیچھے کیوں ہے۔ میں یہ دیکھنا چاہتا تھا کہ مقامی سفاری انجن میکس پر کام کرنے والے ایجنٹوں کے لیے ہیڈ لیس کرومیم کو کیوں بہتر کرتا ہے، اور سفاری ایم سی پی کو ایک کمانڈ اور دو سیٹنگز کے ساتھ انسٹال کیا۔ پہلی پڑھائی کو چلانے کے بعد، ہم نے وہی کیا جو واقعی اہمیت رکھتا تھا: لاگ ان پیج کے اندر بغیر کسی تصدیقی کوڈ کے آٹومیشن۔ آخر میں، ہم نے کناروں کو دیکھا: ٹیب کی حفاظت، متحرک مواد کی قطار، فریم ورک کی شکلیں، اور دوسرا ٹول کب منتخب کرنا ہے۔

بڑے خیالات رکھنے کے قابل ہیں۔ اے آئی ایجنٹ صرف اتنے ہی اچھے ہوتے ہیں جتنے کہ ان کو جوڑتے ہیں۔ براؤزر کی پیشکش – واقعی ایک — "مجھے کوڈ لکھیں” کو "اسٹیجنگ سائٹ پر جائیں، کیڑے تلاش کریں، اور مجھے بتائیں کہ کیا غلط ہے۔” یہ ایک مختلف قسم کا تعاون کرنے والا ہے۔

سفاری ایم سی پی ایم آئی ٹی لائسنس کے تحت اوپن سورس ہے اور یہاں استعمال ہونے والے چند ٹولز کے علاوہ تقریباً 80 ٹولز فراہم کرتا ہے، بشمول اسکرین شاٹس، نیٹ ورک اسکیننگ، اسٹوریج، ایکسیسبیلٹی آڈیٹنگ، اور ملٹی ٹیب ورک فلوز۔ ذخیرہ اور مکمل ٹول حوالہ github.com/achiya-automation/safari-mcp پر ہے۔ اپنے ایجنٹ کی طرف اشارہ کریں اور دیکھیں کہ جب وہ آخر کار آس پاس دیکھ سکتا ہے تو وہ کیا کرتا ہے۔

Scroll to Top