WebMCP يتيح لتطبيقات React عرض واجهات برمجة تطبيقات (APIs) منظمة للأدوات مباشرة لوكلاء الذكاء الاصطناعي (AI agents)، مما يستبدل عملية كشط واجهة المستخدم (UI-scraping) الهشة باستدعاءات موثوقة ومستقلة عن واجهة المستخدم. الميزة متاحة في نسخة تجريبية (origin-trial) لإصدار Chrome 149 فما فوق، ويمكنك تفعيلها عبر chrome://flags/#enable-webmcp-testing.
المشكلة في تعليم الوكلاء كيفية النقر
تعتمد معظم المحاولات الحالية للسماح لوكلاء الذكاء الاصطناعي بالتفاعل مع صفحات الويب على الإشارات المرئية. يقوم الوكيل بتحليل الـ DOM، وتخمين العنصر الذي يمثل زرًا، ومحاكاة عمليات النقر، والتمرير، وتعبئة حقول النماذج. وبمجرد تحرك زر، أو تغيير تسمية، أو تعديل في التنسيق، يفشل السكربت. هذا النهج بطيء لأنه ينتظر المتصفح لمعالجة كل خطوة، كما أن أي إعادة تصميم روتينية قد تؤدي إلى تعطل مسار الأتمتة بالكامل.
WebMCP يقلب النموذج
WebMCP هو معيار ويب جديد قدمته Google Chrome. بدلاً من عرض سطح مرئي ليستكشفه الوكيل، تعلن الصفحة عن مجموعة من الأدوات (tools)—وهي عمليات مسمى ومحددة النوع يمكن للصفحة تنفيذها. يسأل وكيل الذكاء الاصطناعي أولاً: "ما هي الأدوات المتاحة؟"؛ فترد الصفحة بقائمة مثل "searchProducts" أو "checkout". بعد ذلك، يستدعي الوكيل أداة ما عن طريق إرسال حمولة JSON تطابق مخطط الإدخال (input schema) المعلن للأداة، مثل searchProducts(query: "jacket"). يقوم المتصفح بتوجيه الطلب مباشرة إلى JavaScript الخاص بالصفحة، والذي يقوم بتشغيل المنطق الأساسي دون أي تدخل من واجهة المستخدم.
النتيجة هي تفاعل فوري، يعمل بغض النظر عن تغييرات CSS، ويظل فعالاً طالما ظلت تعريفات الأدوات مستقرة.
فوائد تهم المطورين
- السرعة – تظل الاتصالات داخل نظام مراسلة المتصفح، مما يلغي الحاجة إلى رحلة الذهاب والإياب لمعالجة عمليات النقر وانتظار تحديثات الصفحة.
- الموثوقية – تستدعي الأدوات نفس الدوال التي يستخدمها الموقع بالفعل لواجهة المستخدم الخاصة به، لذا فإن إعادة التصميم لا تؤدي إلى تعطل الـ API.
- التحكم – يقرر المطورون العمليات التي يتم عرضها، والمعلمات (parameters) التي تقبلها، وما يمكن للوكيل رؤيته في الاستجابة.
- الاستقلالية عن واجهة المستخدم – لم يعد التنسيق أو التخطيط أو إعادة هيكلة المكونات (component refactoring) يؤثر على قدرة الوكيل على استدعاء ميزة ما.
لا يحل WebMCP محل بروتوكول MCP (Message-Channel-Protocol) الحالي المستخدم في جانب الخادم (server side). يستمر MCP في التعامل مع جلب البيانات الثقيلة وتنسيق العمليات في الخلفية (backend orchestration)، بينما يتولى WebMCP التفاعلات المباشرة داخل علامة التبويب (in-tab).
كيف يمكن لمطوري React البدء
يمكن لكود React تسجيل الأدوات باستخدام إما واجهة برمجة تطبيقات JavaScript أمرية (imperative) أو واجهة برمجة تطبيقات HTML تعتمد على النماذج (declarative). أحد الأنماط الشائعة هو تغليف عملية التسجيل في custom hook:
- استدعاء دالة التسجيل مع اسم الأداة ووصف قصير.
- توفير مخطط إدخال (على سبيل المثال، مخطط JSON يصف الحقول المطلوبة).
- توفير دالة استدعاء
executeتقوم بتشغيل منطق العمل الحالي—والذي غالبًا ما يكون نفس الدالة التي قد يؤدي النقر على زر إلى تشغيلها.
عند تشغيل الـ hook، يضيف المتصفح الأداة إلى ملف WebMCP manifest الخاص بالصفحة. يمكن لوكيل الذكاء الاصطناعي الذي يكتشف الـ manifest استدعاء الأداة دون لمس الـ DOM على الإطلاق.
بما أن عملية التسجيل تحدث عند وقت تحميل المكون (component mount time)، يمكن حصر الأدوات في مسارات (routes) محددة أو أعلام ميزات (feature flags)، مما يمنح الفرق تحكمًا دقيقًا في ما يمكن للذكاء الاصطناعي القيام به في بيئة الإنتاج مقابل بيئة الاختبار.
تنبيهات وما يجب مراقبته
لا يزال WebMCP في مرحلة التجربة الأصلية (origin trial). فهو يعمل فقط في إصدار Chrome 149+ ويجب تفعيله يدويًا عبر flag.
ما الخطوة التالية
فتحت Google التجربة للمطورين الذين يرغبون في تجربة تجارب الويب الأصلية للذكاء الاصطناعي (AI-native web experiences). الخطوات التالية لأي شخص مهتم هي:
- تفعيل الـ flag في Chrome وإعادة تحميل الموقع المستهدف.
- إضافة تسجيل أداة بسيط في مكون React ومراقبة ظهور الـ manifest في أدوات المطورين (devtools) في المتصفح.
- اختبار عميل ذكاء اصطناعي (على سبيل المثال، سكربت محلي يتبع بروتوكول WebMCP) لاستدعاء الأداة والتحقق من الاستجابة.
- متابعة صفحة حالة التجربة للحصول على تحديثات حول الإصدار المستقر.
الخلاصة: يمنح WebMCP مطوري React طريقة لجعل تطبيقاتهم قابلة للاستدعاء مباشرة بواسطة وكلاء الذكاء الاصطناعي، مما يحول عناصر واجهة المستخدم إلى خدمات مستقرة ومحددة النوع. يزيل هذا التحول كابوس الصيانة المرتبط بكشط الشاشة (screen-scraping) ويفتح مسارًا نحو تطبيقات ويب أصلية للذكاء الاصطناعي حقًا—شريطة أن تكون الفرق مرتاحة للعمل في بيئة Chrome التجريبية.
