الفكرة المهمة في MCP ليست أنه يضيف ذكاءً اصطناعيًا للمتصفح، بل أنه يضيف لغة مشتركة بين الوكيل والأدوات. بدل أن يعرف كل Agent تفاصيل كل API أو يكتب تكاملًا خاصًا بكل خدمة، يصبح أمامه Catalog لأدوات مع أسماء ومدخلات ومخرجات محددة. بالنسبة للمتصفح، هذا يعني أن أفعالًا مثل فتح Profile، قراءة صفحة، تنزيل ملف، تشغيل Workflow أو فحص إعداد يمكن تقديمها كTools قابلة للاكتشاف والاستدعاء بطريقة منظمة.
من التكامل المخصص إلى عقد Tool واضحة
في التكامل التقليدي تكتب كودًا خاصًا لكل خدمة ثم تعيد كتابة جزء كبير منه عند تغيير العميل أو الواجهة. مع MCP تصبح الأداة نفسها صاحبة العقد: اسم، وصف، Schema، صلاحيات، ونوع نتيجة. الوكيل لا يحتاج معرفة كيف نفذ المتصفح الفعل داخليًا؛ يحتاج فقط أن يعرف متى يستخدم الأداة وما الذي تعيده.
المتصفح يصبح مزود قدرات وليس مجرد نافذة
لو كشف المتصفح أدوات مثل list_profiles وopen_url وcapture_page وrun_workflow وdownload_file، يمكن للوكيل بناء مهمة كاملة بدون التحكم في الواجهة رسوميًا في كل خطوة. هذا أكثر ثباتًا وأقل حساسية لتغير تصميم الأزرار. واجهة المستخدم تظل مهمة للبشر، لكن MCP يعطي مسارًا برمجيًا رسميًا لنفس القدرات.
خطوات عملية
- حدد القدرات التي تستحق Tool مستقلة.
- اجعل كل Tool صغيرة وواضحة الأثر.
- أعد نتائج منظمة مع IDs قابلة لإعادة الاستخدام.
- افصل أدوات القراءة عن أدوات التغيير.
- سجل كل استدعاء وأثره في Audit log.
الصلاحيات أهم من كثرة الأدوات
كلما زادت قدرات MCP زاد احتمال تنفيذ فعل لا يقصده المستخدم. لذلك لا يكفي أن تكون الأداة موجودة؛ يجب أن تكون مرتبطة بصلاحيات وسياق Actor. أداة تقرأ قائمة Profiles ليست مثل أداة تحذفها، وفتح URL ليس مثل إرسال نموذج مالي. التصميم الجيد يميز بين Read وWrite وDestructive actions ويضيف موافقة عند الحاجة.
قائمة مراجعة
- الأدوات الحساسة تحتاج Permission صريحة.
- لا تُمرر Secrets في Logs.
- كل Tool لها Timeout وحد أقصى للحجم.
- الأفعال غير القابلة للتراجع تحتاج Confirmation أو Policy.
- الهوية المستخدمة في الاستدعاء قابلة للتدقيق.
متى يكون MCP أفضل من التحكم البصري؟
التحكم البصري مفيد عندما لا يوجد API أو عندما تتغير الصفحة ولا تملك تكاملًا رسميًا. لكن لو المتصفح نفسه يملك القدرة، MCP أفضل لأنه يزيل طبقة النقر والبحث عن العناصر. استخدم التحكم البصري كحل للواجهات الخارجية، واستخدم Tools مباشرة للقدرات الداخلية التي يمكنك ضمانها.
سيناريو تطبيقي قبل الاعتماد
تخيل المهمة تعمل عشرات المرات يوميًا، ويحدث في إحدى المرات timeout بعد خطوة لها أثر خارجي. التصميم الجيد يجب أن يعرف أين توقف وما الذي تم بالفعل. في موضوع «كيف يغيّر MCP طريقة ربط المتصفح بالأدوات الخارجية»، نفّذ تجربة صغيرة قبل تعميم القرار. ابدأ بـ1- حدد القدرات التي تستحق Tool مستقلة.، 2- اجعل كل Tool صغيرة وواضحة الأثر.، 3- أعد نتائج منظمة مع IDs قابلة لإعادة الاستخدام.، ثم سجل النتيجة قبل توسيع النطاق. لا تحاول تحسين كل شيء في أول Run؛ المطلوب أولًا إنشاء حالة مرجعية تستطيع العودة إليها ومقارنتها. عندما تنجح التجربة، كررها مرة ثانية بنفس الشروط للتأكد أن النتيجة لم تكن صدفة أو أثر Cache أو حالة مؤقتة.
كيف تقيس نجاح التجربة؟
راقب نسبة النجاح من أول محاولة، عدد retries، زمن كل خطوة، عدد التدخلات اليدوية، وحالات التكرار أو الـloop. هذه المقاييس أهم من مجرد انتهاء Run واحدة بنجاح. حوّل النقاط الموجودة في المقال إلى مؤشرات قابلة للرصد: Schema الجيد يقلل التخمين في المدخلات.؛ الوصف الواضح للأداة مهم بقدر الكود نفسه.؛ النتيجة المنظمة أسهل في استخدامها من نص حر.. احتفظ بالقياسات مع timestamp ونسخة التطبيق أو البيئة، لأن مقارنة أرقام من إصدارات أو شروط مختلفة قد تعطي استنتاجًا خاطئًا. وإذا كانت النتيجة رقمية، استخدم أكثر من عينة بدل أفضل أو أسوأ قيمة منفردة.
عند الفشل: ماذا تراجع أولًا؟
عند الفشل، لا تبدأ من أول Workflow تلقائيًا. تحقق من آخر checkpoint والأثر الخارجي، ثم اختر retry أو resume أو manual review وفق حالة مؤكدة. عند التحقيق استخدم هذه القائمة كحد أدنى: الأدوات الحساسة تحتاج Permission صريحة.؛ لا تُمرر Secrets في Logs.؛ كل Tool لها Timeout وحد أقصى للحجم.؛ الأفعال غير القابلة للتراجع تحتاج Confirmation أو Policy.. سجل ما الذي جربته وما الذي لم يتغير بعد التجربة. هذه المعلومة تمنع الفريق من إعادة نفس المحاولات وتساعد على تحديد ما إذا كان الخطأ في الإعداد أو الأداة أو الشبكة أو بيانات المهمة.
متى تعتمد القرار على نطاق أوسع؟
قرار الاعتماد لا يجب أن يعتمد على أن التجربة «عملت مرة». في «كيف يغيّر MCP طريقة ربط المتصفح بالأدوات الخارجية» اعتبر الحل جاهزًا عندما تستطيع إعادة نفس السيناريو بنتيجة متقاربة، ويفهم شخص آخر خطوات الاختبار وحدود النتيجة، وتعرف ماذا ستفعل لو فشلت الحالة الطبيعية. لو لم تتحقق هذه الشروط، احتفظ بالحل كتجربة أو إعداد مبدئي ولا تحوله إلى Default لكل الحسابات أو المهام.
شارك في تقييم ونقاش المقال
رأيك يضيف قيمة للمقال ويساعدنا على تحسين المحتوى والنقاش حوله.
النقاش
جارٍ تحميل التعليقات…