- بواسطة x32x01 ||
لو بتتعلم الذكاء الاصطناعي أو بتبني AI Agent، فغالبًا قابلتك مصطلحات زي API وMCP، وممكن تكون اتلخبطت في الفرق بينهم. الاتنين بيساعدوا البرامج تتواصل مع بعضها، لكن كل واحد ليه دور مختلف.
ببساطة، الـ API هو وسيلة بتسمح لبرنامج يتواصل مع خدمة تانية، أما MCP فهو بروتوكول بيساعد نماذج الذكاء الاصطناعي وتطبيقات الـ AI تتعامل مع الأدوات ومصادر البيانات بطريقة موحدة.
يعني مش لازم تختار واحد وتستغنى عن التاني؛ في تطبيقات كتير بيكون الـ API هو الأساس، والـ MCP هو الطبقة اللي بتسهّل على الـ AI استخدامه.
تخيل إن عندك تطبيق طقس وعايز تعرض درجة الحرارة الحالية. بدل ما تبني نظام لجمع بيانات الطقس بنفسك، تقدر تستخدم API من خدمة متخصصة.
البرنامج بيبعت طلب للخدمة، والخدمة بترجع له البيانات المطلوبة.
مثلًا، تطبيقك ممكن يطلب بيانات الطقس من API، فيرجع له رد بالشكل ده:
التطبيق يقدر بعدها يعرض درجة الحرارة للمستخدم.
📌 الـ API بيحدد إزاي البرامج تتواصل، وإيه الطلبات اللي تقدر تبعتها، وإيه شكل الردود اللي ممكن تستقبلها.
والـ APIs مش مقتصرة على الذكاء الاصطناعي؛ هي مستخدمة من سنين في تطبيقات الموبايل، والمواقع، وقواعد البيانات، وخدمات الدفع وغيرها.
مثلًا، لو عندك مساعد بيجيب حالة الطقس، ممكن تبرمجه إنه يطلب البيانات من API معين، وبعدها يعرض النتيجة.
لكن مع AI Agents، الوضع بقى مختلف شوية.
المستخدم ممكن يقول للمساعد: «شوف حالة الطقس في القاهرة، ولو الجو مناسب اقترح عليا وقت للخروج».
هنا نموذج الذكاء الاصطناعي ممكن يحتاج إنه:
وهنا بيظهر دور MCP.
بدل ما المطور يحتاج يبني طريقة تكامل مختلفة لكل أداة ولكل تطبيق AI، يقدر يستخدم MCP لتقديم الأدوات والموارد من خلال واجهة موحدة نسبيًا.
تخيل إن عندك مساعد AI محتاج يتعامل مع:
⚠️ مهم: MCP مش نموذج ذكاء اصطناعي، ومش بديل تلقائي لكل APIs، ومش بيمنح المساعد صلاحية الوصول لأي بيانات من نفسه. لازم يكون فيه تكامل فعلي وصلاحيات مناسبة.
أمثلة:
لكن قرار استخدام الأداة مش معناه إن التنفيذ مضمون؛ الأداة ممكن تفشل، أو ترفض الطلب بسبب الصلاحيات، أو ترجع نتيجة فارغة.
أمثلة:
مثلًا، ممكن يكون فيه قالب لمراجعة الكود، أو تحليل سجل أخطاء، أو تلخيص مستندات.
وجود الأنواع دي بيساعد على تنظيم التكامل بين تطبيقات الذكاء الاصطناعي والخدمات الخارجية.
تخيل إن عندك خدمة لإدارة المهام بتوفر API لإنشاء مهمة جديدة.
من غير MCP، ممكن المطور يكتب تكامل مباشر داخل تطبيق الـ AI، ويحدد طريقة إرسال الطلبات والتعامل مع الردود.
أما مع MCP، فيقدر المطور يبني خادم MCP يوفّر أداة لإنشاء المهام، ويستخدم الـ API الموجود خلف الكواليس لتنفيذ العملية.
الشكل المبسط للتكامل هيكون كالتالي:
في المثال ده:
المشكلة إن توصيل تطبيقات الذكاء الاصطناعي بأدوات كتير باستخدام تكاملات منفصلة ممكن يزود تعقيد التطوير والصيانة.
MCP بيساعد في تقليل المشكلة دي من خلال:
أما في الـ Agentic Workflows، فالنموذج ممكن يختار الأداة المناسبة بناءً على طلب المستخدم والنتائج اللي بتظهر أثناء التنفيذ.
مثلًا، مساعد ذكي لإدارة المهام ممكن يحتاج إنه يبحث عن مهمة، ويتأكد من موعدها، وبعدها يقترح تعديله.
بدل ما يكون كل شيء عبارة عن مسار ثابت، النموذج يقدر يحدد الخطوة التالية بناءً على السياق والأدوات المتاحة.
MCP بيساعد في إتاحة الأدوات دي بطريقة موحدة، لكنه مش المسؤول وحده عن اتخاذ القرارات أو بناء منطق الـ Agent. النموذج، والتطبيق المضيف، وآليات التحكم والتنفيذ، كلهم ليهم دور.
خلي بالك من النقاط دي:
استخدم API مباشرة لما:
الـ API بيسمح للبرامج تتعامل مع الخدمات والبيانات، بينما MCP بيوفر بروتوكول موحدًا نسبيًا يساعد تطبيقات الذكاء الاصطناعي تتعامل مع الأدوات والموارد.
لو بتبني تطبيقًا بسيطًا محتاج يتصل بخدمة واحدة، فالـ API غالبًا كفاية. أما لو بتبني AI Agent محتاج يستخدم أدوات متعددة بطريقة منظمة وقابلة لإعادة الاستخدام، فـ MCP ممكن يكون اختيارًا مناسبًا.
والأهم إن MCP مش بديل للـ APIs، ولا بديل عن تصميم النظام وتأمينه؛ هو وسيلة إضافية لتنظيم طريقة اتصال تطبيقات الذكاء الاصطناعي بالأدوات.
ببساطة، الـ API هو وسيلة بتسمح لبرنامج يتواصل مع خدمة تانية، أما MCP فهو بروتوكول بيساعد نماذج الذكاء الاصطناعي وتطبيقات الـ AI تتعامل مع الأدوات ومصادر البيانات بطريقة موحدة.
يعني مش لازم تختار واحد وتستغنى عن التاني؛ في تطبيقات كتير بيكون الـ API هو الأساس، والـ MCP هو الطبقة اللي بتسهّل على الـ AI استخدامه.
🤔 يعني إيه API؟
اختصار API معناه Application Programming Interface، أو واجهة برمجة التطبيقات.تخيل إن عندك تطبيق طقس وعايز تعرض درجة الحرارة الحالية. بدل ما تبني نظام لجمع بيانات الطقس بنفسك، تقدر تستخدم API من خدمة متخصصة.
البرنامج بيبعت طلب للخدمة، والخدمة بترجع له البيانات المطلوبة.
مثلًا، تطبيقك ممكن يطلب بيانات الطقس من API، فيرجع له رد بالشكل ده:
JSON:
{
"city": "Cairo",
"temperature": 28,
"condition": "Sunny"
} 📌 الـ API بيحدد إزاي البرامج تتواصل، وإيه الطلبات اللي تقدر تبعتها، وإيه شكل الردود اللي ممكن تستقبلها.
والـ APIs مش مقتصرة على الذكاء الاصطناعي؛ هي مستخدمة من سنين في تطبيقات الموبايل، والمواقع، وقواعد البيانات، وخدمات الدفع وغيرها.
🤖 إيه اللي اتغير مع ظهور AI Agents؟
قبل انتشار الـ AI Agents، كان المطور غالبًا بيحدد بنفسه الخطوات اللي البرنامج هينفذها.مثلًا، لو عندك مساعد بيجيب حالة الطقس، ممكن تبرمجه إنه يطلب البيانات من API معين، وبعدها يعرض النتيجة.
لكن مع AI Agents، الوضع بقى مختلف شوية.
المستخدم ممكن يقول للمساعد: «شوف حالة الطقس في القاهرة، ولو الجو مناسب اقترح عليا وقت للخروج».
هنا نموذج الذكاء الاصطناعي ممكن يحتاج إنه:
- يفهم طلب المستخدم.
- يحدد الأداة المناسبة.
- يطلب بيانات الطقس.
- يفسر النتيجة.
- يرد على المستخدم بناءً على المعلومات اللي حصل عليها.
وهنا بيظهر دور MCP.
🔌 يعني إيه MCP؟
اختصار MCP معناه Model Context Protocol، وهو بروتوكول مفتوح بيوحّد الطريقة اللي تطبيقات الذكاء الاصطناعي بتتواصل بيها مع الأدوات ومصادر البيانات.بدل ما المطور يحتاج يبني طريقة تكامل مختلفة لكل أداة ولكل تطبيق AI، يقدر يستخدم MCP لتقديم الأدوات والموارد من خلال واجهة موحدة نسبيًا.
تخيل إن عندك مساعد AI محتاج يتعامل مع:
- ملفات موجودة على جهازك.
- قاعدة بيانات.
- خدمة لإدارة المهام.
- نظام للبحث في المستندات.
- أدوات داخل بيئة التطوير.
⚠️ مهم: MCP مش نموذج ذكاء اصطناعي، ومش بديل تلقائي لكل APIs، ومش بيمنح المساعد صلاحية الوصول لأي بيانات من نفسه. لازم يكون فيه تكامل فعلي وصلاحيات مناسبة.
🧩 إيه مكونات MCP الأساسية؟
فيه 3 أنواع مهمة من الإمكانيات اللي ممكن خادم MCP يقدّمها:1. Tools - الأدوات
دي وظائف يقدر نموذج الذكاء الاصطناعي يطلب استخدامها لتنفيذ مهمة معينة، حسب الصلاحيات المتاحة.أمثلة:
- البحث عن ملف.
- تنفيذ عملية حسابية.
- الاستعلام عن بيانات من قاعدة بيانات.
- إنشاء مهمة جديدة في تطبيق لإدارة المهام.
لكن قرار استخدام الأداة مش معناه إن التنفيذ مضمون؛ الأداة ممكن تفشل، أو ترفض الطلب بسبب الصلاحيات، أو ترجع نتيجة فارغة.
2. Resources - الموارد
دي بيانات أو محتوى يقدر تطبيق الـ AI يوصله من خلال خادم MCP.أمثلة:
- محتوى ملف.
- مستندات توثيق.
- بيانات أو معلومات من مصدر معين.
- محتوى مرتبط بسياق المحادثة.
3. Prompts - القوالب الجاهزة
دي قوالب تعليمات قابلة لإعادة الاستخدام، ممكن خادم MCP يوفّرها لتسهيل مهام معينة.مثلًا، ممكن يكون فيه قالب لمراجعة الكود، أو تحليل سجل أخطاء، أو تلخيص مستندات.
وجود الأنواع دي بيساعد على تنظيم التكامل بين تطبيقات الذكاء الاصطناعي والخدمات الخارجية.
🏗️ إزاي MCP بيشتغل مع API؟
أهم نقطة لازم تفهمها إن MCP مش بديل لازم يحل مكان الـ API. ممكن الاتنين يشتغلوا مع بعض.تخيل إن عندك خدمة لإدارة المهام بتوفر API لإنشاء مهمة جديدة.
من غير MCP، ممكن المطور يكتب تكامل مباشر داخل تطبيق الـ AI، ويحدد طريقة إرسال الطلبات والتعامل مع الردود.
أما مع MCP، فيقدر المطور يبني خادم MCP يوفّر أداة لإنشاء المهام، ويستخدم الـ API الموجود خلف الكواليس لتنفيذ العملية.
الشكل المبسط للتكامل هيكون كالتالي:
AI Application → MCP Client → MCP Server → API → External Serviceفي المثال ده:
- تطبيق الـ AI بيستقبل طلب المستخدم.
- الـ MCP Client بيتواصل مع خادم MCP.
- خادم MCP بيعرض الأداة المناسبة وينفذ منطق التكامل.
- الـ API بيتستخدم للوصول للخدمة الخارجية.
- النتيجة بترجع للتطبيق عشان يعرضها للمستخدم.
🚀 ليه MCP مهم في تطبيقات الذكاء الاصطناعي؟
المشكلة مش إن الـ APIs ضعيفة؛ بالعكس، هي أساس عدد كبير من الخدمات الحديثة.المشكلة إن توصيل تطبيقات الذكاء الاصطناعي بأدوات كتير باستخدام تكاملات منفصلة ممكن يزود تعقيد التطوير والصيانة.
MCP بيساعد في تقليل المشكلة دي من خلال:
- توحيد طريقة التكامل: بدل ما كل تطبيق يخترع أسلوب مختلف للتعامل مع الأدوات، يقدر يستخدم بروتوكول مشترك.
- إعادة استخدام الأدوات: خادم MCP ممكن يخدم أكتر من تطبيق متوافق مع البروتوكول.
- تسهيل توسيع الإمكانيات: تقدر تضيف أدوات أو مصادر بيانات جديدة من خلال تكاملات مناسبة.
- تنظيم الوصول للبيانات: بيساعد في فصل تطبيق الـ AI عن تفاصيل الاتصال بالخدمات المختلفة.
🔄 من Hard-Coded إلى Agentic Workflows
في الأنظمة التقليدية، المطور ممكن يحدد تسلسل ثابت للخطوات اللي البرنامج هينفذها.أما في الـ Agentic Workflows، فالنموذج ممكن يختار الأداة المناسبة بناءً على طلب المستخدم والنتائج اللي بتظهر أثناء التنفيذ.
مثلًا، مساعد ذكي لإدارة المهام ممكن يحتاج إنه يبحث عن مهمة، ويتأكد من موعدها، وبعدها يقترح تعديله.
بدل ما يكون كل شيء عبارة عن مسار ثابت، النموذج يقدر يحدد الخطوة التالية بناءً على السياق والأدوات المتاحة.
MCP بيساعد في إتاحة الأدوات دي بطريقة موحدة، لكنه مش المسؤول وحده عن اتخاذ القرارات أو بناء منطق الـ Agent. النموذج، والتطبيق المضيف، وآليات التحكم والتنفيذ، كلهم ليهم دور.
🔐 هل MCP آمن؟
MCP مش آمن تلقائيًا لمجرد استخدامه، وأي تكامل بيدي مساعد AI صلاحية الوصول لبيانات أو تنفيذ عمليات لازم يتصمم بحذر.خلي بالك من النقاط دي:
- الصلاحيات: ادّي كل أداة أقل صلاحيات تحتاجها لأداء وظيفتها.
- تأكيد العمليات الحساسة: زي حذف الملفات أو إرسال رسائل أو تنفيذ معاملات مهمة.
- حماية بيانات الدخول: ما تحطش مفاتيح API أو كلمات المرور داخل تعليمات النموذج أو السجلات المكشوفة.
- التحقق من المدخلات: تعامل مع مدخلات المستخدم ونتائج الأدوات باعتبارها بيانات ممكن تكون غير موثوقة.
- مراجعة الخوادم: ما توصلش خادم MCP مجهول ببيانات حساسة من غير ما تفهم صلاحياته وسلوكه.
- تسجيل العمليات: احتفظ بسجلات مناسبة تساعدك تراجع العمليات المهمة وتكتشف الأخطاء.
🎯 أختار MCP ولا API؟
الاختيار بيعتمد على طبيعة المشروع، ومش لازم تستخدم MCP في كل تطبيق فيه ذكاء اصطناعي.استخدم API مباشرة لما:
- تحتاج اتصالًا واضحًا ومباشرًا بخدمة معينة.
- بتبني تطبيقًا تقليديًا أو تكاملًا بسيطًا.
- عندك تحكم كامل في منطق الطلبات والردود.
- مش محتاج طبقة MCP لإتاحة الأدوات لتطبيق AI.
- بتبني AI Agent محتاج يستخدم أدوات متعددة.
- عايز تتيح نفس الأدوات لأكتر من تطبيق AI متوافق.
- محتاج طريقة موحدة للتعامل مع الأدوات والموارد.
- عندك سبب عملي لتقليل تكرار كود التكامل بين تطبيقات مختلفة.
🧠 الخلاصة
الفرق بين MCP وAPI مش إن واحد أحدث وبالتالي أفضل من التاني. كل واحد بيحل مشكلة مختلفة.الـ API بيسمح للبرامج تتعامل مع الخدمات والبيانات، بينما MCP بيوفر بروتوكول موحدًا نسبيًا يساعد تطبيقات الذكاء الاصطناعي تتعامل مع الأدوات والموارد.
لو بتبني تطبيقًا بسيطًا محتاج يتصل بخدمة واحدة، فالـ API غالبًا كفاية. أما لو بتبني AI Agent محتاج يستخدم أدوات متعددة بطريقة منظمة وقابلة لإعادة الاستخدام، فـ MCP ممكن يكون اختيارًا مناسبًا.
والأهم إن MCP مش بديل للـ APIs، ولا بديل عن تصميم النظام وتأمينه؛ هو وسيلة إضافية لتنظيم طريقة اتصال تطبيقات الذكاء الاصطناعي بالأدوات.
🎬 فيديو لشرح الفرق بين MCP و API
لو حابب تفهم الفكرة من خلال شرح مرئي، تقدر تشوف الفيديو ده: