الـ MCP· الدرس 1 من 3
إيه هو الـ MCP؟
في سطر واحد · الـ MCP معيار مفتوح بيخلّي أي تطبيق AI يستخدم أي أداة من غير تكامل مخصوص لكل ثنائية — اكتب الأداة مرة، تشتغل في كل مكان.
MCP (Model Context Protocol) بيحلّ مشكلة N×M: بدل ما كل تطبيق AI يبني تكامل خاص مع كل أداة (Slack، GitHub، قاعدة بياناتك…)، الأداة بتتغلّف في MCP server والتطبيق بيبقى MCP client — والاتنين بيتكلموا لغة واحدة موحّدة. زي ما USB وحّد التوصيل بين أي جهاز وأي كمبيوتر.
قبل MCP، توصيل 5 تطبيقات AI بـ 10 أدوات كان معناه 50 تكامل مخصوص. بعده: 10 servers و5 clients وخلاص. المعيار اتبنّى بسرعة عبر الصناعة، وبقى المهارة العملية لأي حد بيبني agents بتتكلم مع العالم الخارجي — سواء هتستهلك servers جاهزة أو تكتب server لأدواتك إنت.
إنت عارف إن الـ agent محتاج أدوات. السؤال: الأدوات دي جاية منين؟ لو كل مطوّر كتب أدواته بصيغة مختلفة لكل تطبيق، مفيش حاجة هتشتغل مع حاجة. الـ MCP بيقول: خلّونا نتفق على صيغة واحدة — الأداة تتعرّف بطريقة موحّدة، وأي تطبيق يفهم الطريقة دي يقدر يستخدمها فورًا.
زي مداخل USB-C: زمان كل جهاز كان له شاحن وكابل مخصوص، والدرج مليان كابلات. النهارده أي شاحن بيشحن أي جهاز لأن الكل اتفق على معيار واحد. الـ MCP server هو «الجهاز»، والـ MCP client هو «المدخل»، والبروتوكول هو شكل الفيشة المتّفق عليه.
عايز الـ AI assistant بتاعك يقرأ GitHub issues؟ فيه GitHub MCP server جاهز: بتوصّله بالتطبيق، والتطبيق يكتشف أدواته أوتوماتيك (list issues، create PR…)، والموديل يبدأ يستخدمها — من غير ما تكتب سطر تكامل واحد مع GitHub API.
الصورة فيها تلات أدوار: الـ Host هو التطبيق اللي المستخدم شايفه (زي Claude Desktop أو IDE) وجواه الموديل. الـ Client هو المكوّن جوّه الـ Host اللي بيفتح اتصال واحد مع كل server. الـ Server هو برنامج صغير بيغلّف أداة أو مصدر بيانات وبيعلن قدراته. الـ Host بيسأل كل server «عندك إيه؟»، يجمع الأدوات، يقدّمها للموديل — ولمّا الموديل يطلب أداة، الـ client يبعت الطلب للـ server ويرجّع النتيجة.
البروتوكول مبني على JSON-RPC، والـ servers بتشتغل يا محليًا عبر stdio يا عن بُعد عبر HTTP. الـ server مش بيقدّم tools بس — كمان resources (بيانات للقراءة) وprompts (قوالب جاهزة). ملاحظة مهمة: الموديل نفسه ما بيعرفش حاجة اسمها MCP — الـ host بيترجم أدوات الـ MCP لصيغة tool calling العادية بتاعة الموديل.
🧪 جرّب بنفسك: وصّل MCP server جاهز (زي filesystem server الرسمي) بأي host بيدعم MCP، وبعدين اسأل الموديل يعمل حاجة بأدواته — مثلًا يلخّص ملف من فولدر معيّن. لاحظ التلات أدوار وهي شغّالة: إنت في الـ Host، الـ client فتح الاتصال، والـ server نفّذ القراءة. بعدين افتح إعدادات الـ host وشوف الأدوات المكتشفة اتسمّت إزاي.
غلطة شائعة: الاعتقاد إن MCP «بيدّي الموديل قدرات جديدة». لأ — هو بيوحّد طريقة توصيل القدرات بس؛ نفس الأداة عبر MCP أو تكامل مباشر بتعمل نفس الحاجة. الغلطة التانية: توصيل أي server من النت بثقة عمياء — الـ server كود بيتنفّذ بصلاحيات، واختياره قرار أمني مش تفصيلة.
استخدم MCP لمّا عايز أداتك تشتغل مع أكتر من تطبيق AI (اكتبها server مرة واحدة)، أو لمّا فيه server جاهز موثوق للخدمة اللي محتاجها — استهلاكه أسرع من بناء تكامل من الصفر.
لو بتبني agent واحد بيكلّم API داخلي واحد ومش هتعيد استخدام الأداة في مكان تاني، التكامل المباشر (function عادية في كودك) أبسط وأسرع — البروتوكول طبقة إضافية استاهلها لمّا فيه إعادة استخدام أو منظومة أوسع.