بروتوكول MCP: ماذا يحلّ ولماذا ظهر؟
لماذا احتاجت النماذج بروتوكولًا موحّدًا للأدوات والموارد، وما الذي يعرّفه MCP من خادم وعميل وأدوات، وكيف تقرّر بينه وبين تكامل مخصّص.
قبل البروتوكولات الموحّدة، كل تكامل بين نموذج ونظام خارجي كان يُكتب من الصفر: منطق أدوات لهذا المزوّد، وآخر مختلف لذاك، وثالث للتطبيق الداخلي. عدد التكاملات يساوي عدد النماذج × عدد الأنظمة — وهو ضرب لا يُحتمَل مع النموّ.
هذه المشكلة بالضبط ما يعالجه Model Context Protocol [1]: بروتوكول مفتوح يعرّف كيف يعلن نظامٌ خارجي عن قدراته، وكيف يكتشفها العميل ويستدعيها.
المفردات الثلاث
| المفهوم | الدور |
|---|---|
| الخادم (Server) | يغلّف نظامك — قاعدة بيانات، ملفات، واجهة داخلية — ويعلن ما يتيحه |
| العميل (Client) | التطبيق الذي يشغّل النموذج ويستهلك ما يعلنه الخادم |
| المضيف | البرنامج الذي يجمعهما ويدير الجلسة والصلاحيات |
وما يقدّمه الخادم ثلاثة أنواع:
- أدوات (Tools): أفعال تُستدعى بوسائط ولها أثر — «أنشئ تذكرة»، «ابحث في الطلبات».
- موارد (Resources): محتوى يُقرأ ويُدرَج في السياق — ملف، سجلّ، صفحة.
- قوالب توجيه (Prompts): صيغ جاهزة يقدّمها الخادم للاستعمال المتكرّر.
التمييز بين أداة تفعل ومورد يُقرأ ليس ترفًا تصنيفيًّا: هو ما يسمح للمضيف بتطبيق سياسات مختلفة على الفعل وعلى القراءة.
ما الذي يتغيّر عمليًّا
قبل: أداة «ابحث في التذاكر» تُكتب داخل تطبيقك، مربوطة بمزوّد بعينه، وتُعاد كتابتها في كل تطبيق يحتاجها.
بعد: تُكتب مرة كخادم MCP، فيستهلكها أي عميل يدعم البروتوكول — مساعدك، وأداة سطر أوامر، وتطبيق زميلك — بلا تكرار، وبتعريف واحد للصلاحيات.
الأمن: ما لا يتغيّر
البروتوكول لا يلغي القواعد الأساسية، بل يجعل موضعها أوضح:
- أقلّ صلاحية: الخادم لا يعرض إلا ما يلزم فعلًا؛ القراءة افتراضًا والكتابة استثناءً.
- مخرجات الخادم بيانات لا تعليمات: محتوى قادم من مورد خارجي قد يحمل تعليمة مزروعة [2]. عالِجه كغير موثوق دائمًا.
- موافقة بشرية على كل فعل غير قابل للتراجع، مهما كان مصدره.
- تدقيق: سجّل كل استدعاء ووسائطه ونتيجته.
متى لا تحتاج MCP
- تكامل واحد داخلي يستهلكه تطبيق واحد: استدعاء مباشر أبسط وأقلّ قطعًا متحرّكة.
- مسار ثابت بلا قرار: إن كنت تعرف أي دالة تُنفَّذ ومتى، فأنت لا تحتاج طبقة اكتشاف أدوات أصلًا.
- بيئة لا يدعم عميلها البروتوكول: القيمة تأتي من الطرفين معًا.
قرار التبنّي: أربعة أسئلة
قبل أن تعيد بناء تكاملاتك فوق البروتوكول، أجب عن هذه بصراحة:
- كم عدد الأدوات التي تصلها فعلًا اليوم؟ أداة أو اثنتان: التكلفة أعلى من العائد. خمس فأكثر، أو أدوات تتغيّر باستمرار: يبدأ التوحيد يدفع ثمنه.
- هل تحتاج العميل نفسه أن يصل إلى خوادم لم تكتبها أنت؟ هذه أقوى حجّة للبروتوكول: واجهة موحّدة تعني أن أداة طرفٍ ثالث تعمل بلا كود لصق خاص بها.
- من يملك الخادم الذي ستصله؟ خادم خارجي يعني أنك تمنح نموذجك قدرة كتبها غيرك. تعامل معه كتبعية طرفٍ ثالث كاملة: راجعها، وثبّت إصدارها، وحدّد صلاحياتها.
- هل صلاحياتك محدّدة لكل أداة على حدة؟ إن كان الجواب «الوكيل يملك ما أملك»، فالبروتوكول سيضخّم المشكلة لا يحلّها. أصلح الصلاحيات أولًا.
سؤال خامس يستحقّ الطرح بعد سنة: هل ما زلت تستعمل التوحيد؟ التكامل الذي بقي واحدًا ولم يتبدّل لم يكن يحتاج طبقة أصلًا، وإزالتها حينئذٍ ربح لا تراجع.
الأخطاء الشائعة
- تغليف كل شيء بخوادم MCP بينما التطبيق واحد وثابت.
- منح الخادم صلاحيات واسعة «لتسهيل التجربة».
- اعتبار محتوى الموارد موثوقًا لأنه جاء عبر بروتوكول.
- إهمال المهلات وحدود المعدّل، فيعلّق استدعاء بطيء الجلسة كلها.
- أوصاف أدوات فقيرة: البروتوكول ينقلها ولا يحسّنها.
الأسئلة الشائعة
هل MCP بديل لاستدعاء الأدوات؟
لا. استدعاء الأدوات قدرة في النموذج، وMCP طريقة موحّدة لعرض تلك الأدوات واكتشافها عبر أنظمة وعملاء مختلفين. البروتوكول ينقل، والنموذج يقرّر.
هل يعمل مع أي نموذج؟
البروتوكول مستقلّ عن المزوّد بحكم تصميمه، لكن الاستفادة تتطلب عميلًا يدعمه. ادعم مسارًا مباشرًا احتياطيًّا إن كان عملاؤك متنوّعين.
متى أبدأ باستعماله؟
حين يظهر ثاني مستهلك لنفس القدرة، أو حين تحتاج مشاركة أداة بين فرق. قبل ذلك، أنجز المهمة بأبسط طريق واحتفظ بواجهة نظيفة تسهّل النقل لاحقًا.
المراجع
- Anthropic. Model Context Protocol — Specification. modelcontextprotocol.io
- Greshake, K. et al. Not What You've Signed Up For: Indirect Prompt Injection. arXiv:2302.12173
- Yao, S. et al. ReAct. arXiv:2210.03629
- OWASP. Top 10 for LLM Applications. owasp.org
اقرأ بعده
الوكلاء: من حلقة ReAct إلى نظام إنتاجي
ما الذي أضافته ورقة ReAct فعلًا، وكيف تُصمَّم واجهة أداة يفهمها النموذج، وأين توضع حدود التكرار والصلاحيات — ومتى تكون السلسلة الثابتة أفضل من الوكيل.
اقرأ المقالتعدّد الوكلاء: متى يستحقّ ومتى يضاعف الفشل؟
أنماط تنسيق الوكلاء المتعدّدين ومقايضاتها، ولماذا يضاعف التعدّد التكلفة ونقاط الفشل، وثلاثة شروط تجعله القرار الصحيح بدل وكيل واحد جيّد.
اقرأ المقالاستدعاء الأدوات: تصميم واجهة يفهمها النموذج
كيف يقرأ النموذج وصف الأداة ومخططها، ولماذا تحلّ قيود JSON Schema نصف الأخطاء قبل وقوعها، وكيف تُكتب رسائل الخطأ لتصحّح الوكيل نفسه.
اقرأ المقالنشرة إسناد الأسبوعية
ثلاثة أشياء مفيدة كل أسبوع: ورقة بحثية مشروحة، قياس عملي، وخطأ شائع رأيناه في الإنتاج. بلا حشو وبلا رعايات مخفية.