المستوى: متوسط. المقال بيفترض إنك تعرف أساسيات الـ LLM واستدعاء الـ API. لو لسه مبتدئ تمامًا، في أمثلة مبسّطة جوه المقال هتمشّيك خطوة بخطوة.
بروتوكول MCP: اربط الذكاء الاصطناعي بأدواتك عبر معيار واحد
لو بتكتب كود تكامل مخصص كل مرة عشان تخلّي نموذج الذكاء الاصطناعي يقرا من قاعدة بياناتك أو ينفّذ إجراء في نظامك، انت بتضاعف الشغل بلا داعي. بروتوكول MCP بيحوّل الربط ده لمعيار واحد، فبدل ما تبني تكامل لكل زوج (نموذج، أداة)، بتبني السيرفر مرة وتستخدمه من أي عميل.
المشكلة باختصار
عندك أكتر من تطبيق AI (شات بوت، مساعد داخلي، إضافة في الـ IDE)، وعندك أكتر من مصدر بيانات (GitHub، Postgres، Slack). كل ما تربط تطبيق بأداة، بتكتب تكامل جديد. النتيجة: عدد التكاملات بيكبر بمعادلة الضرب M×N، وكل واحد فيهم كود لازم تصونه.
يعني إيه MCP بالظبط؟
خلينا نبدأ بمثال بسيط. افتكر أيام ما كان كل جهاز ليه شاحن بشكل مختلف: كابل للموبايل، وكابل تاني للكاميرا، وتالت للّابتوب. كل جهاز جديد = كابل جديد في الدرج. جه كابل USB-C ووحّد الموضوع: منفذ واحد يوصّل أي حاجة بأي حاجة.
MCP هو USB-C بتاع الذكاء الاصطناعي. بدل ما كل تطبيق AI يتكلم مع كل أداة بطريقتها الخاصة، الكل بيتكلم بنفس اللغة المعيارية.
بالتعريف الدقيق: Model Context Protocol هو بروتوكول مفتوح، أطلقته Anthropic في نوفمبر 2024، بيوحّد طريقة توصيل تطبيقات الـ LLM بالأدوات ومصادر البيانات الخارجية. الاتصال بيتم عبر JSON-RPC 2.0 بين طرفين: عميل داخل التطبيق (MCP Client) وخادم بيعرض القدرات (MCP Server).
الفرق في الأرقام واضح: لو عندك 4 تطبيقات و5 أدوات، الطريقة القديمة محتاجة 4×5 = 20 تكامل. مع MCP بتبني 4 عملاء + 5 خوادم = 9 قطع بس، وكل قطعة قابلة لإعادة الاستخدام.
المكوّنات الثلاثة اللي لازم تعرفها
كل MCP Server بيقدر يعرض 3 أنواع من القدرات. خليني أشرحها بمثال الموظف الجديد الأول: تخيّل موظف عندك، ممكن (1) ينفّذ مهمة لما تطلب، (2) يرجعلك ملف تقرأه، (3) يستخدم قالب رسالة جاهز. دول بالظبط الأنواع التلاتة:
- Tools (أدوات): إجراءات قابلة للتنفيذ يطلبها النموذج، زي "هات حالة الطلب رقم كذا" أو "افتح تذكرة". النموذج بيقرر ينده الأداة، السيرفر بينفّذها.
- Resources (موارد): بيانات للقراءة فقط، زي محتوى ملف أو صف من جدول، بيتحقن في سياق النموذج.
- Prompts (قوالب): قوالب جاهزة قابلة لإعادة الاستخدام بيختارها المستخدم أو التطبيق.
مثال تنفيذي: أبسط MCP Server
ده سيرفر فيه أداة واحدة بترجّع حالة الطلب من قاعدة بيانات حقيقية، بالـ Python SDK الرسمي: