MCP: اللغة الموحّدة بين الـ AI وأدواتك
لو بتبني تطبيق ذكاء اصطناعي محتاج يوصل لقواعد بيانات، أدوات DevOps، وAPIs في نفس الوقت، بروتوكول MCP بيختصرلك أسابيع شغل في يومين. البروتوكول ده بقى معيار صناعة بحق منذ إطلاقه في نوفمبر 2024، وبحسب Anthropic، تعدّى 97 مليون تحميل شهري للـ SDKs في نهاية 2025.
المشكلة باختصار
قبل MCP، لو عايز تخلي الـ AI يقرا من Slack ويكتب في Jira ويعمل query على PostgreSQL، كنت هتكتب 3 integrations منفصلة. كل integration ليها authentication مختلف، error handling مختلف، وشكل مختلف للبيانات. التكلفة: أسابيع. النتيجة: كود هش صعب صيانته لأن كل تغيير في API واحد بيتطلب تعديل في كذا مكان.
MCP بيحل ده بفكرة واحدة: بروتوكول موحّد بيخلي كل أداة "تتكلم" بنفس اللغة مع أي نموذج AI. اكتب server مرة واحدة، يشتغل مع Claude و Cursor و Zed وأي client تاني بيدعم MCP، بدون تعديل سطر.
مثال للمبتدئ: محوّل الكهرباء الـ Universal
لما بتسافر بلد تانية، شكل الـ socket في الحيط بيختلف. بريطانيا 3 أرجل مربعة، أمريكا 2 أرجل مسطحة، أوروبا 2 أرجل دائرية. الحل: محوّل universal بيتعامل مع كل الأشكال. انت مش بتغيّر الجهاز بتاعك، والبلد مش بتغيّر شكل الـ socket. المحوّل بس بيخليهم يفهموا بعض.
MCP نفس الفكرة بالظبط. عندك client زي Claude Desktop، وعندك أدوات زي GitHub و PostgreSQL و Kubernetes. بدل ما كل client يكتب integration خاص بكل أداة، كل طرف بيتكلم MCP، والبروتوكول بيهندل الترجمة بين الاتنين.
التعريف العلمي: MCP بالدقة
MCP هو بروتوكول open-source طوّرته Anthropic، ونُقلت ملكيته في ديسمبر 2025 للـ Agentic AI Foundation تحت Linux Foundation، بمشاركة Anthropic و Block و OpenAI. البروتوكول مبني على JSON-RPC 2.0، ومستوحى من Language Server Protocol (LSP) اللي IDEs زي VSCode بتستخدمه علشان كل IDE يقدر يتكلم مع أي language server.
البروتوكول بيعرّف 3 مكوّنات أساسية:
- Resources: بيانات للقراءة فقط (ملفات، rows في DB، صفحات web). الـ AI بيقراها، مش بيعدّلها.
- Tools: functions الـ AI يقدر ينفذها (create_issue، run_query، send_email). ليها side effects.
- Prompts: templates جاهزة الـ server بيقدّمها للـ client علشان يستخدمها مباشرة.
الاتصال بيحصل إما عبر stdin/stdout لما الـ server محلي، أو عبر HTTP+SSE أو Streamable HTTP لما الـ server على شبكة. الـ client بيبعت JSON-RPC request، والـ server بيرد بـ response منظّم بـ schema واضح.
مثال تنفيذي: MCP server بـ 30 سطر Python
هنبني server بسيط بيعرض tool واحد فقط: يجيب قائمة الـ users اللي سجّلوا في آخر X يوم من PostgreSQL. الكود ده شغّال فعلاً، ممكن تنسخه وتجرّبه دلوقتي بعد تعديل connection string.