نبذة تعريفية

رامى أحمد

الحمد لله الذي علَّم بالقلم، علَّم الإنسان ما لم يعلم، والصلاة والسلام على خير معلم الناس الخير سيدنا محمد - صلى الله عليه وسلم .. أما بعد ،،

اسمى رامى أحمد، بفضل الله - مؤسس منصة مرتكز

أسعى من خلال هذه المدونة المتواضعة إلى مشاركة خبرتى ومناقشة آرائي وأفكاري.

وفقنى الله وإياك إلى ما يحبه ويرضاه ،،

تابعنى على

بروتوكول MCP - لماذا يجب عليك كمطور ويب أن تتعلمه الآن؟

صورة المقال - بروتوكول MCP - لماذا يجب عليك كمطور ويب أن تتعلمه الآن؟

الحمد لله الذي علَّم بالقلم، علَّم الإنسان ما لم يعلم، والصلاة والسلام على خير معلِّم الناس الخير سيدنا محمد - صلَّى الله عليه وسلم … أما بعد ،،

في ظل التطور المتسارع لتقنيات الذكاء الاصطناعي، تبرز الحاجة لربط النماذج الذكية بمصادر بيانات واقعية ومتنوعة، وهنا يأتي دور بروتوكول سياق النموذج (Model Context Protocol - MCP) الذي طوّرته شركة Anthropic؛ ليقدم حلاً ثوريًا يربط تطبيقات الذكاء الاصطناعي بمختلف مصادر البيانات والأدوات، دون الحاجة لتكاملات معقدة ومخصصة لكل خدمة أو أداة.

ما هو MCP ؟

بروتوكول (MCP) هو طريقة جديدة تسهّل على نماذج الذكاء الاصطناعي التواصل مع التطبيقات والأنظمة الخارجية، فبدلًا من الحاجة إلى بناء ربط خاص لكل أداة مع كل تطبيق ذكاء اصطناعي، يوفّر MCP أسلوبًا موحدًا يجعل كل طرف يبني الجزء الخاص به مرة واحدة فقط، ثم يعمل هذا الجزء مع أي طرف آخر يستخدم نفس البروتوكول، مما يقلل كثيرًا من الجهد ويجعل التكامل أسرع وأسهل.

آلية عمل البروتوكول ومكوناته

يعتمد بروتوكول MCP على بنية "عميل-خادم" بسيطة، حيث يعمل تطبيق الذكاء الاصطناعي كمضيف يتصل بعدد من خوادم MCP المتخصصة.

يتكوّن النظام من ثلاثة أطراف: التطبيق المضيف الذي يتفاعل معه المستخدم، وعملاء MCP داخل هذا التطبيق، وكل منهم يتصل بخادم معين، وخوادم MCP وهي برامج خارجية تقدم بيانات أو وظائف محددة من مصادر محلية أو خدمات عبر الإنترنت.

عند بدء التشغيل، يقوم كل عميل بإجراء مصافحة مع الخادم لتبادل معلومات أساسية، ثم يحصل على قائمة بالقدرات المتاحة، والتي تُترجم لاحقًا إلى أدوات يمكن للنموذج استخدامها تلقائيًا عند الحاجة.

أثناء التفاعل، إذا احتاج النموذج للوصول إلى معلومة أو تنفيذ أمر معين، يقوم العميل بإرسال طلب إلى الخادم، الذي ينفّذ المهمة ويعيد النتيجة، ليتم دمجها في المحادثة مع المستخدم.

هذه العملية تتم بسلاسة دون أن يشعر بها المستخدم، مما يجعل النموذج يبدو وكأنه قادر على الوصول المباشر للمصادر الخارجية.

يدعم MCP الاتصال المستمر بين الأطراف، ويستخدم تنسيق JSON-RPC الموحد لتبادل البيانات، مما يضمن توافق الخوادم والعملاء عبر مختلف اللغات والأنظمة.

الفرق بين MCP وواجهات REST API التقليدية

من الطبيعي أن تتسائل: هل بروتوكول MCP مجرد نوع جديد من واجهات الـ API؟ لكن في الواقع، بروتوكول MCP يختلف جوهريًا عن REST APIs من حيث التصميم والوظيفة، ولعل أهم الفروق الجوهرية التي تجعل MCP مميزًا عن REST APIs أو أساليب التكامل التقليدية .. كما يلي:

1- اتصال دائم وحالة مستمرة
بعكس REST التي تعتمد على طلبات منفصلة لا تحتفظ بسياق سابق، يدعم MCP اتصالًا مستمرًا يحتفظ بحالة الجلسة بين العميل والخادم، إذ يتم تبادل رسائل JSON-RPC بشكل متتابع، مما يسمح بتتبع العمليات وتوفير تجربة أكثر تفاعلية وتكاملًا مع تسلسل عمل النموذج.

2- تكامل في وقت التشغيل مقابل التصميم المسبق
إن REST يتطلب دمج الوظائف المطلوبة مسبقًا أثناء بناء التطبيق، أما MCP فيتيح ربط خوادم جديدة أثناء التشغيل دون الحاجة لتعديل التطبيق، مما يمنح المستخدم مرونة أكبر لإضافة قدرات جديدة فورًا، كربط أداة ذكاء اصطناعي بقاعدة بيانات محلية دون انتظار تحديث من المطورين.

3- هيكلة ورسائل موحدة ومحددة
إن MCP ليس مجرد اتفاق على نقاط نهاية API، بل بروتوكول كامل يحدّد أنواع الرسائل وتسلسلها بدقة، بل يعتمد على JSON-RPC ويمكن تشغيله فوق قنوات متعددة مثل stdio أو SSE، وقد استلهم في تصميمه بروتوكول LSP المستخدم في محررات الأكواد، مما يوفّر تقييسًا أعلى وتكاملًا أكثر سلاسة.

4- فصل واضح بين القراءة والتنفيذ
يوفّر MCP فصلًا صريحًا بين "الموارد" للقراءة فقط، و"الأدوات" التي تنفذ عمليات وتُحدث تغييرات، هذا التفريق يمكّن النموذج من فهم ما يمكن استخدامه كسياق آمن، وما يتطلب إذنًا للتنفيذ، مما يزيد من التحكم والدقة في الاستخدام.

5- توحيد واجهة العوامل (Agents)
صُمم MCP لدعم وكلاء الذكاء الاصطناعي وتمكينهم من اكتشاف الأدوات واستخدامها بشكل قياسي، وعلى الرغم من إمكانية استخدام REST مع وصف الأدوات يدويًا، إلا أن MCP يدمج هذه الآلية ضمن البروتوكول نفسه، مما يجعل التجربة أكثر انسيابية واعتمادية.

الخلاصة؛ يتفوق MCP في سيناريوهات التكامل التفاعلي والمعقد، حيث يتطلب الأمر تتبع السياق وتنفيذ عدة خطوات خلال جلسة واحدة، ففي حين تبقى REST مناسبة للاستدعاءات البسيطة، فإن MCP يوفر بنية أقوى وأكثر مرونة لنماذج الذكاء الاصطناعي، مع دعم مجتمعي متزايد يعزز من استقراره وتوسعه على المدى الطويل.

مزايا بروتوكول MCP

يأتي MCP بمزايا متعددة لكل من مستخدمي ومطوري تطبيقات الذكاء الاصطناعي، وفيما يلي أبرز الفوائد العملية التي يوفرها اعتماد هذا البروتوكول:

1- إجابات أكثر دقة وحداثة
من خلال ربط النموذج بمصادر بيانات حيّة ومحدثة، يتمكن من تقديم ردود واقعية وغنية بالسياق بدلاً من الاعتماد على معلومات قديمة، فعلى سبيل المثال، يمكنه الاستعانة بوثائق الشركة أو محادثات حديثة للإجابة بدقة على استفسارات لحظية.

2- تكامل موحّد مع مصادر متعددة
بدلاً من استخدام واجهات ومفاتيح API متعددة، يوفّر MCP بروتوكولًا موحدًا يسهّل على النموذج الوصول إلى مصادر متنوعة مثل Google Drive أو GitHub أو Slack من خلال طريقة واحدة، مما يبسط عملية الدمج ويقلل من تعقيد التطوير.

3- قابلية أفضل للتوسع والصيانة
التكاملات المخصصة قد تصبح عبئًا مع مرور الوقت، لكن MCP يقدّم نموذجًا أكثر مرونة واستدامة، حيث يمكن الاعتماد على مكتبة خوادم مفتوحة المصدر تتطور باستمرار بدعم من المجتمع، مما يجعل التوسعة والصيانة أسهل وأكثر كفاءة.

4- أمان وتحكم محلي بالبيانات
يتيح MCP تشغيل الخوادم داخل بيئة الشركة، مما يقلل من الحاجة لإرسال البيانات إلى أطراف خارجية، كما يدعم البروتوكول إعدادات تحكم دقيقة وإدارة الصلاحيات، ما يعزز أمان البيانات ويضمن بقاءها تحت سيطرة المؤسسة.

5- مجتمع نشط وموصلات جاهزة
يحظى MCP بدعم متزايد من المجتمع والمطورين، مع توافر خوادم جاهزة لمصادر شائعة مثل Slack وPostgres وGoogle Drive وغيرهم، مما يقلل الجهد المطلوب للبدء، ويزيد من فرص إعادة الاستخدام وتسريع التطوير.

بإيجاز، يمكن القول أن MCP يقدّم نقلة نوعية في تكامل أدوات الذكاء الاصطناعي، من خلال تبسيط الوصول للمصادر، وتقليل التكرار، وتعزيز الأمان، فهو بمثابة خطوة نحو توحيد بيئة التكامل، مما يفتح المجال لتطبيقات أكثر ذكاءً وتفاعلًا مع الواقع.

أمثلة على استخدام MCP

لفهم طريقة استخدام MCP بشكل عملي، دعونا نستعرض بعض السيناريوهات والأمثلة التي توضح دوره في التطبيقات:

1- خادم MCP لخدمة الطقس
لنفرض أنك تطوّر مساعدًا ذكيًا يقدم معلومات الطقس، وبدلًا من دمج واجهة الطقس داخل كود التطبيق مباشرة، يمكنك إنشاء خادم MCP يُسمى "الطقس"، يتصل بخدمة مثل weather.gov، ويعرّف أداتين: get_forecast للحصول على التوقعات حسب الإحداثيات، وget_alerts لعرض التحذيرات الجوية حسب الولاية.

عند تشغيل المساعد، يتصل عميل MCP بهذا الخادم ويكتشف الأدوات المتاحة، وعند سؤال المستخدم "ما توقعات الطقس؟"، يقوم النموذج باستدعاء الأداة المناسبة، فيُرسل الطلب إلى الخادم الذي يستدعي خدمة الطقس ويُعيد النتيجة، دون الحاجة لأي تكامل يدوي من المطوّر داخل منطق التطبيق.

2- الوصول إلى الملفات المحلية
إذا كان المستخدم يعمل مع مساعد ذكي على جهازه ويرغب في الاستفسار عن محتوى ملف Markdown موجود على حاسوبه، يمكن تشغيل خادم ملفات محلي باستخدام MCP.

يقوم هذا الخادم بقراءة ملفات من مسار محدد ويعرضها كـ "موارد"، وعند بدء الجلسة، يتصل العميل بالخادم ويحصل على قائمة الملفات، وإذا طرح المستخدم سؤالًا متعلقًا بمحتوى ملف معين، يستفيد النموذج من نص هذا الملف الموجود في السياق للإجابة بدقة، دون الحاجة لتنفيذ أي إجراءات أو استدعاء أدوات.

3- تنفيذ مهام متعددة من GitHub
عند سؤال المستخدم - "ما القضايا Issues المفتوحة في أحد المشروعات التي أُنشئت الأسبوع الماضي؟"، يحتاج النموذج لتنفيذ تسلسل من الخطوات، حيث يتم إعداد خادم GitHub يقدّم أداة مثل fetch_issues.

وعند تحليل السؤال، يحدّد النموذج الأداة المناسبة، ويقوم عميل MCP بإرسال الطلب إلى الخادم، الذي يتصل فعليًا بـ GitHub API ويعيد النتائج، وبعدها يقوم النموذج بتحليل الرد وربما تلخيصه للمستخدم.

هذه العملية تتم بسلاسة وبشكل معياري دون الحاجة لبرمجة خطوات الربط يدويًا داخل المساعد، مما يعكس قوة MCP في دعم المهام التفاعلية المعقّدة.

حالات فعلية تم استخدامه فيها

منذ إطلاقه، بدأ MCP يثبت نفسه بسرعة في عالم تطوير تطبيقات الذكاء الاصطناعي، وظهرت عدة حالات استخدام واقعية وتم اعتماده من جهات معروفة:

1- في بيئات التطوير البرمجي (IDE)
كان مجال البرمجة من أوائل المتبنين لبروتوكول MCP، خصوصًا لدعم المساعدين الذكيين داخل محررات الأكواد؛ على سبيل المثال، منصة Cursor دمجت MCP لفهم هيكل المشاريع الضخمة، من خلال خادم MCP خاص بأداة Nx يقدم معلومات عن بنية المشروع. كما دعمت مايكروسوفت MCP في وضعية "الوكيل الذكي" داخل VS Code وGitHub Copilot، مما يمكّن النموذج من تنفيذ مهام مثل البحث في المستودع أو تشغيل البناء مباشرة من داخل بيئة التطوير.

2- تكاملات البيانات في المؤسسات
اعتمدت شركات مثل Block (Square سابقًا) وApollo بروتوكول MCP لتوصيل الوكلاء الذكيين بأنظمة الشركة الداخلية بأمان وكفاءة. يمكن مثلًا لوكيل ذكي الوصول إلى قاعدة بيانات المعاملات أو وثائق الشركة القانونية والرد على استفسارات الموظفين، إذ ترى هذه الشركات في MCP وسيلة لبناء أنظمة ذاتية تُخفف الأعباء المتكررة وتُعزز الإنتاجية.

3- منصات تطوير البرمجيات
منصات مثل Replit وZed وCodeium وSourcegraph اعتمدت MCP لتحسين أداء وكلائها الذكيين، من خلال توفير معلومات دقيقة عن السياق البرمجي. فمثلًا، يستطيع مساعد Codeium الوصول إلى تاريخ التعديلات أو تعريفات الدوال في بيئة المستخدم لتقديم اقتراحات أكثر دقة وملاءمة.

4- دعم من الشركات الكبرى
مايكروسوفت أعلنت عن دعم رسمي لـ MCP عبر تطوير مكتبة مفتوحة المصدر بلغة ‎#C، ودمجه في خدمات مثل GitHub Copilot وSemantic Kernel. كما طوّرت الشركة خوادم رسمية لـ GitHub وPlaywright، ما يعكس اهتمامًا جديًا بتحويل MCP إلى بروتوكول أساسي في بيئة أدوات المطورين.

5- التكامل عبر منصات النماذج المختلفة
إن MCP ليس حصريًا لـ Claude أو منتجات Anthropic، بل هو بروتوكول مفتوح مدعوم من جهات متعددة، إذ أضافت OpenAI دعم MCP إلى SDK الخاص بها، مما يسمح لوكلاء الذكاء الاصطناعي المبنيين على نماذجها باستخدام خوادم MCP كأدوات خارجية، تمامًا كما يفعل Claude أو أي وكيل آخر.

وتلخيصا لما سبق، يُستخدم MCP اليوم في مجالات متعددة: من المساعدات الشخصية إلى وكلاء الأعمال والمساعدين البرمجيين، ومع تزايد عدد الخوادم المتاحة، يصبح من السهل تخيل وكلاء قادرين على تنفيذ مهام متعددة في محادثة واحدة، مثل قراءة مستندات Google، تحديث ملفات، وإرسال رسائل بريد.

النمو المتسارع للبروتوكول، إلى جانب دعم المجتمع والشركات الكبرى، يشير إلى مستقبل واعد لـ MCP كبروتوكول قياسي لتكامل الذكاء الاصطناعي عبر التطبيقات والمنصات.

دعم MCP وكيف تستخدمه كمطور ويب

بفضل توفر حزمة SDK رسمية بلغة TypeScript، أصبح بإمكان مطوري الويب استخدام بروتوكول MCP بسهولة ضمن تطبيقاتهم الحديثة.

سواء كنت تعمل بتقنيات مثل Vue أو Angular أو غيرها من أطر JavaScript، يمكنك دمج MCP لإنشاء عميل يتواصل مع خادم خارجي، أو حتى تشغيل خادم MCP بسيط داخل بيئة التطوير، مما يفتح المجال أمام واجهات ذكية تتفاعل مع مصادر بيانات خارجية أو أدوات متخصصة دون الحاجة لتكامل يدوي معقد.

عادة ما يُستخدم MCP في الواجهات الأمامية كعميل يتصل بخادم منفصل – سواء محليًا أو عبر الإنترنت – وذلك لأسباب تتعلق بالأمان وإخفاء المفاتيح الحساسة.

يمكنك مثلًا تضمين عميل MCP في تطبيقك ليتصل بخادم يوفر الوصول إلى مستندات، قواعد بيانات، أو خدمات مثل GitHub أو Google Drive، كما يمكن أن يدير الجزء الخلفي (Back-end) من التطبيق هذه الاتصالات ويُمرر النتائج للواجهة، بما يضمن فصل المهام وتحقيق الأمان.

للبدء، يُنصح باستخدام الحزمة الرسمية @modelcontextprotocol/sdk من npm، وتجربة خوادم MCP الجاهزة قبل بناء خادم خاص بك.

كما يوفّر المجتمع عددًا متزايدًا من الموصلات المفتوحة المصدر، ويمكن تشغيلها محليًا لاختبار التكامل.

ومع أن MCP ما زال في مراحله المبكرة على الويب، إلا أن مرونة SDK تتيح للمطورين دمجه بسهولة في المشاريع الحالية، ومن المتوقع أن يتوفر دعم أوسع وتوثيق أشمل خلال الفترة القادمة - بإذن الله.

خاتمة

يمثل بروتوكول MCP خطوة مهمة نحو مستقبل تصبح فيه تطبيقات الذكاء الاصطناعي أكثر ذكاءً وتفاعلاً مع الواقع، فهو معيار مفتوح يوحّد التكامل بين النماذج اللغوية ومختلف مصادر البيانات والأدوات.

ومع الدعم المتزايد الذي يحظى به هذا البروتوكول من الشركات الكبرى والمطورين، فإن تعلمه واعتماده الآن سيمنح مطوري الويب فرصة مبكرة لتطوير تطبيقات أكثر تطورًا وأقل تعقيدًا، ويضع بين أيديهم الأدوات اللازمة لبناء مستقبل تقني تفاعلي، تتواصل فيه النماذج الذكية مع كل ما حولها بشكل طبيعي وآمن.

عزيزي القارئ، إذا كانت لديك تجربة شخصية مع مفهوم MCP أو معلومات إضافية تود مشاركتها، فلا تتردد في كتابتها بتعليق أسفل المقال؛ فمشاركتك تُثري المحتوى العربي وتضيف فائدة حقيقية لجميع الزوار.

وفقنى الله وإياك إلى ما يحبه ويرضاه ،،