العربية
  • MCP
  • بروتوكول سياق النموذج
  • الذكاء الاصطناعي

ما هو بروتوكول MCP (نموذج سياق البروتوكول) وكيف يعمل

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

Yijun
Yijun
Developer

توقف عن إضاعة أسابيع في مصادقة المستخدم
أطلق تطبيقات آمنة بشكل أسرع مع Logto. قم بدمج مصادقة المستخدم في دقائق وركز على منتجك الأساسي.
ابدأ الآن
Product screenshot

ما هو MCP؟

MCP (نموذج سياق البروتوكول) هو بروتوكول مفتوح وشامل يقنن كيفية تقديم التطبيقات لمعلومات السياق إلى النماذج اللغوية الكبيرة (LLMs).

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

لماذا نحتاج MCP؟

النماذج اللغوية الكبيرة (LLMs) قوية، لكنها تواجه بعض القيود الرئيسية:

  • قيود المعرفة وتحديات التحديث: النماذج اللغوية الكبيرة تعرف معلومات المدرجة في بيانات تدريبها فقط. على سبيل المثال، تنقطع معرفة GPT-4 في أبريل 2023. يتطلب تدريب النماذج اللغوية الكبيرة موارد حسابية هائلة ووقتًا طويلاً، مما قد يستغرق ستة أشهر أو أكثر لإكمال نسخة جديدة. هذا يخلق مشكلة صعبة: تكون معرفة النموذج دائمًا "غير محدثة"، بينما تكون التحديثات مكلفة للغاية وتستغرق وقتًا طويلاً. بحلول الوقت الذي ينتهي فيه تدريب نموذج جديد، تكون معرفته قد بدأت بالفعل في التأخر.

  • نقص المعرفة المتخصصة في المجالات: يتم تدريب النماذج اللغوية الكبيرة باستخدام البيانات العامة المتاحة للجمهور. لا يمكنها فهم البيانات والمعلومات المتخصصة بعمق في سياقات العمل المحددة. على سبيل المثال، عمليات مؤسسة طبية الداخلية، أو كتالوج منتجات لشركة، أو معرفة خاصة بمنظمة ليس ضمن نطاق تدريب النموذج.

  • لا يوجد معيار موحد للوصول إلى البيانات الخارجية: حاليًا، هناك العديد من الطرق لتقديم معلومات إضافية للنماذج اللغوية الكبيرة، مثل RAG (توليد معزز بالاسترجاع)، قواعد المعرفة المحلية، عمليات بحث الإنترنت، إلخ. توفر فرق التطوير المختلفة حلول دمج مختلفة، مما يؤدي إلى تكاليف دمج عالية بين الأنظمة. الأنظمة التي تحتوي على بيانات مجال متخصصة (مثل CRM، ERP، أنظمة السجلات الطبية، إلخ) من الصعب دمجها بسلاسة مع النماذج اللغوية الكبيرة. يتطلب كل دمج تطويرًا مخصصًا، يفتقد لوجود طريقة موحدة وقياسية.

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

  • تكاملات مسبقة البناء جاهزة: يقدم MCP العديد من تكاملات الخادم الجاهزة، بما في ذلك أنظمة الملفات، وقواعد البيانات (PostgreSQL، SQLite)، وأدوات التطوير (Git، GitHub، GitLab)، وأدوات الشبكة (بحث بريف، Fetch)، وأدوات الإنتاجية (Slack، خرائط Google)، والمزيد. يعني هذا أنك لا تحتاج إلى بناء هذه التكاملات من البداية. يمكنك ببساطة استخدام هذه الموصلات مسبقة البناء للسماح للنماذج اللغوية الكبيرة بالوصول إلى البيانات في هذه الأنظمة.

  • التبديل المرن بين مزودي نماذج الذكاء الاصطناعي: اليوم قد تستخدم GPT-4، وغدًا قد ترغب في تجربة Claude أو Gemini، أو استخدام نماذج لغوية كبيرة مختلفة لسيناريوهات مختلفة. مع MCP، لا تحتاج إلى إعادة كتابة منطق الدمج الكامل لتطبيقك. تحتاج فقط إلى تغيير النموذج الأساسي، وتبقى جميع تكاملات البيانات والأدوات دون تغيير.

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

كيف يعمل MCP

في MCP، هناك ثلاث أدوار أساسية: خادم MCP (يوفر الأدوات وإمكانية الوصول إلى البيانات)، عميل MCP (مدمج في النموذج اللغوي الكبير ويتواصل مع خادم MCP)، ومضيف MCP (التطبيقات التي تدمج النماذج اللغوية وعملاء MCP، مثل Claude Desktop وCursor وغيرها). دعونا نلقي نظرة على هذه الأدوار الثلاثة بالتفصيل لنرى كيف يعملون معًا.

خادم MCP

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

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

عميل MCP

عميل MCP هو الجسر الواصل بين النماذج اللغوية الكبيرة وخوادم MCP. مدمج في النموذج اللغوي الكبير، وهو مسؤول عن:

  • استقبال الطلبات من النموذج اللغوي الكبير
  • توجيه الطلبات إلى خادم MCP المناسب
  • إعادة النتائج من خادم MCP إلى النموذج اللغوي الكبير

يمكنك التحقق من تطوير عميل MCP لمعرفة المزيد عن دمج عميل MCP مع النماذج اللغوية الكبيرة.

مضيف MCP

برامج مثل Claude Desktop وIDEات (Cursor، إلخ.) أو أدوات الذكاء الاصطناعي التي تريد الوصول إلى البيانات عبر MCP. توفر هذه التطبيقات للمستخدمين واجهات للتفاعل مع النماذج اللغوية الكبيرة، مع دمج عميل MCP للاتصال بخوادم MCP لتوسيع قدرات النماذج اللغوية الكبيرة باستخدام الأدوات التي يوفرها خادم MCP.

مسار عمل MCP

تشكل الأدوار الثلاثة المذكورة أعلاه في نهاية المطاف تطبيق ذكاء اصطناعي مبني على MCP.

مثال على مسار سير عمل لهذا النظام كما يلي:

كيفية بناء خادم MCP

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

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

تحديد الأدوات التي يوفرها خادم MCP

الوظيفة الأساسية لخادم MCP هي تحديد الأدوات باستخدام الطريقة server.tool(). هذه الأدوات هي وظائف يمكن للنموذج اللغوي الكبير استدعاؤها للحصول على البيانات الخارجية أو تنفيذ عمليات معينة. دعونا نلقي نظرة على مثال مبسط باستخدام Node.js:

في هذا المثال، نحدد أداة تسمى search-documents تقبل سلسلة استعلام وعددًا أقصى من النتائج كمعلمات. سيكون تنفيذ الأداة متصلًا بنظام قاعدة المعرفة ويعيد نتائج الاستعلام.

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

أفضل الممارسات لتحديد الأدوات

عند بناء مثل هذه الأدوات، يمكنك اتباع أفضل الممارسات التالية:

  • وصف واضح: قدم أوصافًا مفصلة ودقيقة لكل أداة، موضحًا بشكل دقيق وظيفتها، والسيناريوهات التي يمكن استخدامها فيها، والقيود. هذا لا يساعد النموذج اللغوي الكبير في اختيار الأداة المناسبة فحسب، بل يجعل المطورين أيضًا يفهمون ويحافظون على الشيفرة بسهولة.
  • التحقق من صحة المعلمات: استخدم Zod أو مكتبات مشابهة للتحقق بشكل صارم من معلمات الإدخال، وضمان أنواع صحيحة، ونطاقات قيمة معقولة، ورفض الإدخالات غير المتوافقة. يمنع هذا الأخطاء من الانتشار إلى الأنظمة الخلفية ويحسن الاستقرار الشامل.
  • معالجة الأخطاء: قم بتنفيذ استراتيجيات شاملة لمعالجة الأخطاء، والتقاط الاستثناءات المحتملة، وتقديم رسائل خطأ سهلة الفهم. هذا يحسن من تجربة المستخدم ويسمح للنموذج اللغوي الكبير بتقديم ردود ذات مغزى بناءً على شروط الخطأ، بدلاً من الفشل ببساطة.
  • التحكم في الوصول إلى البيانات: تأكد من أن APIs الموارد الخلفية لديها آليات مصادقة وتصريح قوية، وصمم بدقة قScopes الأذونات للحد من خادم MCP فقط الوصول إلى البيانات التي يكون المستخدم مخولًا لها وإعادتها. يمنع هذا تسريبات المعلومات الحساسة ويضمن أمان البيانات.

كيفية ضمان أمان تبادل البيانات بين MCP (نماذج الذكاء الاصطناعي) والأنظمة الخارجية

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

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

الحل الرئيسي لهذه التحديات هو تنفيذ الرموز الوصول الشخصية (PATs). تقدم PATs طريقة آمنة للمستخدمين لمنح الوصول دون مشاركة بيانات اعتمادهم أو الحاجة إلى تسجيل دخول تفاعلي.

إليك كيفية عمل سير العمل:

يتيح هذا النهج لخدمتك الحالية الحفاظ على آليات المصادقة الخاصة بها مع تمكين دمج MCP بأمان.

يمكنك الرجوع إلى منشور المدونة: تعزيز عملك: توصيل أدوات الذكاء الاصطناعي بخدمتك القائمة مع التحكم في الوصول مع مثال شفرة مصدر كامل لتعلم كيفية استخدام الرموز الوصول الشخصية (PATs) الخاصة بـ Logto مع التحكم في الوصول المستند إلى الأدوار (RBAC) لحصر الموارد التي يمكن أن يصل إليها MCP من الخدمات الخلفية.

الخلاصة

يقدم بروتوكول MCP (بروتوكول سياق النموذج) تغييرات ثورية على الجمع بين النماذج اللغوية الكبيرة والأعمال التجارية المحددة. يحل مشاكل قيود المعرفة في النماذج اللغوية الكبيرة، ونقص المعرفة المتخصصة في المجالات، وعدم وجود معايير موحدة للوصول إلى البيانات الخارجية.

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