تستخدم تطبيقات الذكاء الاصطناعي معلومات وأدوات موجودة خارج النموذج نفسه.
لكن ربط كل تطبيق بكل خدمة على حدة يجعل التطوير أصعب والصيانة أكثر تعقيدًا.
هنا يأتي Model Context Protocol (MCP)، معيار مفتوح لتوحيد الاتصال.
سنشرح مكوناته، وطريقة عمله، ومتى نستخدمه بأمان.
ما هو MCP في الذكاء الاصطناعي؟
MCP اختصار لـ Model Context Protocol.
إنه بروتوكول مفتوح يربط تطبيقات الذكاء الاصطناعي بالبيانات والأدوات.
يشبه منفذًا موحدًا يربط التطبيقات بخدمات متعددة.
MCP ليس نموذج ذكاء اصطناعي أو قاعدة بيانات أو وكيلًا مستقلًا.
إنه طبقة اتصال تتيح للتطبيق قدرات يصرّح بها النظام.
تشرح الوثائق الرسمية لـMCP الفكرة وبنية البروتوكول ومجالات استخدامه.
ما المشكلة التي يحلها MCP؟
قد يحتاج المساعد إلى قراءة ملف، والبحث في قاعدة بيانات، ثم إعداد تقرير.
من دون معيار مشترك، قد يحتاج المطور إلى كتابة وصيانة موصل خاص لكل خدمة.
ومع تغير واجهات الخدمات، تصبح هذه الموصلات عبئًا إضافيًا.
يوفر MCP طريقة موحدة لاكتشاف القدرات المتاحة والتواصل معها عبر رسائل منظمة.
هذا لا يعني أن كل خدمة ستعمل مباشرة مع كل تطبيق دون إعداد.
يجب توفر خادم MCP مناسب، وتطبيق يدعم البروتوكول والقدرات المطلوبة.
مكونات MCP الأساسية
1. Host: التطبيق المضيف
هو تطبيق الذكاء الاصطناعي الذي يتفاعل معه المستخدم.
قد يكون مساعدًا ذكيًا أو بيئة تطوير أو تطبيقًا داخليًا للشركة.
المضيف يدير تجربة المستخدم، ويحدد الاتصالات التي يمكن للتطبيق استخدامها.
2. Client: العميل
العميل هو الجزء داخل المضيف الذي يتواصل مع خادم MCP.
يمكن للتطبيق المضيف تشغيل أكثر من عميل للاتصال بخدمات مختلفة.
يتبادل العميل الرسائل ويتفاوض على القدرات عند الاتصال.
3. Server: الخادم
الخادم يعرض البيانات أو الوظائف التي يسمح النظام للعميل باستخدامها.
قد يتصل بملفات محلية أو خدمة خارجية أو قاعدة بيانات أو واجهة API.
الخادم الجيد يعرض أقل مجموعة من الصلاحيات اللازمة للمهمة.
تشرح مواصفة MCP تفاصيل الرسائل والقدرات بين المكونات.
ما الفرق بين Tools وResources وPrompts؟
يتيح MCP للخادم تقديم أنواع مختلفة من القدرات، ولكل نوع وظيفة مختلفة.
| العنصر | وظيفته | مثال |
|---|---|---|
| Tools | تنفيذ وظيفة أو إجراء | البحث عن طلب أو إنشاء مسودة تقرير |
| Resources | إتاحة معلومات وسياق للتطبيق | ملف تعليمات أو مخطط قاعدة بيانات |
| Prompts | قوالب تعليمات جاهزة | قالب لتلخيص تقرير أسبوعي |
قد تنفذ الأداة إجراءً حساسًا؛ لذلك تحتاج إلى ضوابط ومراجعة.
المورد يتيح معلومات يمكن للتطبيق اختيارها واستخدامها كسياق.
أما القالب فيساعد المستخدم على بدء مهمة بتعليمات منظمة.
راجع تفاصيل هذه الوظائف في وثائق Tools وResources.
كيف يعمل MCP خطوة بخطوة؟
- يفتح المستخدم تطبيقًا يدعم MCP.
- يتصل التطبيق بخادم MCP محلي أو بعيد وفق الإعدادات.
- يتبادل الطرفان معلومات الإصدار والقدرات المتاحة.
- يكتشف العميل الأدوات والموارد التي يتيحها الخادم.
- يحدد التطبيق ما إذا كانت إحدى الأدوات مناسبة لطلب المستخدم.
- عند السماح بالاستدعاء، يرسل العميل الطلب ويتلقى النتيجة.
- يستخدم النموذج النتيجة لإكمال المهمة أو يطلب خطوة إضافية.
تتم الرسائل الأساسية وفق JSON-RPC 2.0، مع قواعد خاصة بالبروتوكول.
ولا يعني وجود أداة أن التطبيق يجب أن ينفذها تلقائيًا في كل مرة.
يمكن للتطبيق طلب تأكيد المستخدم قبل تغيير البيانات أو إرسالها.
مثال عملي: مساعد يجهز تقرير مبيعات
لنفترض أن مديرًا يريد تلخيص مبيعات الأسبوع.
يرتبط المساعد بأداة لقراءة المبيعات وأخرى لفحص المخزون.
تكون الخطوة الأولى جلب البيانات المصرح بها، لا إصدار قرار شراء مباشرة.
بعد ذلك يلخص النموذج المؤشرات ويقارنها بالحدود التي حددها المستخدم.
يمكنه إعداد مسودة توصية، مع إظهار الأرقام والمصادر التي بُنيت عليها.
إرسال طلب شراء يحتاج إلى صلاحية واضحة وموافقة وفق سياسة المؤسسة.
«راجع تقرير المبيعات والمخزون للأسبوع الحالي.
حدد المنتجات التي اقتربت من حد إعادة الطلب.
اذكر مصدر كل رقم، واكتب توصية فقط.
لا ترسل طلب شراء دون موافقتي».
الفائدة هنا ليست أن MCP يتخذ القرار الإداري بدلًا من الشخص.
الفائدة أنه يوفر طريقة منظمة لإتاحة البيانات والأدوات التي يحتاجها التطبيق.
MCP أم API أم Function Calling؟
هذه التقنيات مرتبطة ببعضها، لكنها ليست بدائل متطابقة.
| التقنية | الدور الأساسي |
|---|---|
| API | واجهة تسمح لتطبيق بالتعامل مع خدمة معينة. |
| Function Calling | آلية تسمح للنموذج بطلب تنفيذ وظيفة محددة عبر التطبيق. |
| MCP | معيار لتنظيم اكتشاف القدرات وتبادل الطلبات والنتائج بين التطبيق والخادم. |
قد يستخدم خادم MCP واجهة API موجودة في الخلفية.
قد يستخدم التطبيق Function Calling لاختيار أداة كشفها خادم MCP.
اقرأ أيضًا مقال Function Calling في الذكاء الاصطناعي.
ما علاقة MCP بوكلاء الذكاء الاصطناعي؟
الوكيل الذكي يخطط لمهمة ويختار خطوات أو أدوات ضمن حدود معينة.
أما MCP فيوفر طريقة معيارية لربط التطبيق ببعض الأدوات والبيانات المتاحة.
قد يستخدم الوكيل MCP، لكن MCP لا يتطلب دائمًا وكيلًا مستقلًا.
اقرأ أيضًا دليل وكلاء الذكاء الاصطناعي ومقال AI Orchestration.
متى يكون MCP مناسبًا؟
- عندما يحتاج تطبيق الذكاء الاصطناعي إلى الاتصال بأكثر من مصدر أو أداة.
- عندما ترغب في فصل منطق التطبيق عن تفاصيل كل تكامل.
- عندما تحتاج الفرق إلى مشاركة موصلات قابلة لإعادة الاستخدام.
- عندما يكون اكتشاف الأدوات والموارد بطريقة موحدة مفيدًا.
متى لا تحتاج إلى MCP؟
قد تكون واجهة API مباشرة أبسط إذا كان التطبيق يحتاج إلى عملية واحدة ثابتة.
قد لا تحتاج إلى خادم MCP إذا كانت العملية بسيطة وثابتة.
اختر أبسط تصميم يحقق المتطلبات، ولا تضف طبقة تقنية لمجرد أنها شائعة.
كيف تبدأ مشروع MCP بطريقة عملية؟
- حدد مهمة واحدة: ابدأ بقراءة بيانات غير حساسة أو البحث داخل ملفات تجريبية.
- حدد القدرات: قرر ما إذا كنت تحتاج Tools أو Resources أو Prompts.
- اختر بيئة موثوقة: استخدم وثائق MCP الرسمية وحزمة تطوير مناسبة للغة مشروعك.
- ضع الصلاحيات: اسمح بالوصول إلى البيانات المطلوبة فقط.
- اختبر الأخطاء: جرّب البيانات الناقصة، وانقطاع الاتصال، والاستجابة غير المتوقعة.
- أضف الموافقة: لا تجعل الأفعال الحساسة تعمل بصمت دون تحكم واضح.
- راقب النتائج: سجل الأخطاء والتكلفة وزمن الاستجابة مع مراعاة الخصوصية.
يمكنك بدء القراءة من المقدمة الرسمية لـMCP.
ثم راجع المواصفة الرسمية قبل اعتماد تفاصيل تنفيذية.
الأمان والخصوصية عند استخدام MCP
إتاحة أداة للنموذج قد تمنحه القدرة على قراءة بيانات أو تغييرها.
لذلك يجب تحديد نطاق الوصول، والتحقق من هوية الطرف، ومراجعة كل عملية حساسة.
لا تضع كلمات المرور أو مفاتيح API في Prompts أو سجلات مكشوفة.
تعامل مع محتوى الأدوات والملفات الخارجية كبيانات غير موثوقة حتى تتحقق منها.
كذلك، لا تمنح الخادم صلاحيات أوسع من حاجته الفعلية.
تنص مواصفة MCP على أهمية موافقة المستخدم والتحكم في البيانات والإجراءات.
أخطاء شائعة يجب تجنبها
- الاعتقاد بأن MCP نموذج ذكاء اصطناعي أو أنه يضمن صحة النتائج.
- منح الخادم صلاحيات واسعة دون سبب واضح.
- تنفيذ عمليات حذف أو إرسال دون طلب تأكيد مناسب.
- اعتبار وصف الأداة دليلًا كافيًا على أنها آمنة.
- إهمال التعامل مع انقطاع الاتصال والمهلات والأخطاء.
- إضافة MCP إلى مشروع لا يحتاج إليه بدل استخدام حل أبسط.
أسئلة شائعة حول MCP
هل MCP هو نفسه API؟
لا. قد يستخدم الخادم API، بينما يوحّد MCP طريقة إتاحة القدرات.
هل MCP يجعل أي نموذج قادرًا على استخدام كل الأدوات؟
لا. يجب أن يدعم التطبيق MCP ويتصل بخادم مناسب ويملك الصلاحيات.
هل MCP آمن تلقائيًا؟
لا. تعتمد السلامة على تصميم الخادم والصلاحيات والموافقات والتحقق.
هل أحتاج إلى بناء خادم MCP؟
ليس دائمًا. قد يكفي استخدام API مباشرة إذا كان ذلك أبسط.
الخلاصة
يوفر MCP طريقة موحدة لربط تطبيقات الذكاء الاصطناعي بالأدوات والبيانات.
وتظهر فائدته عندما نحتاج إلى تكاملات منظمة وقابلة لإعادة الاستخدام.
يعتمد النجاح على جودة الأدوات والصلاحيات والاختبار والتحكم البشري.
ابدأ بمهمة صغيرة، واختبرها، ثم وسّع النظام بعد التأكد من فائدته وأمانه.
التعليقات