المستوى: متوسط — يفترض إنك تعاملت مع REST API قبل كده، شغّلت Python script على لابتوبك، وعندك فكرة أساسية إزاي LLM بيستدعي tools. لو لسه مبتدئ، ابدأ بمقال "اختيار نموذج Claude للمبتدئ" قبل ده.
لو شات بوتك محتاج يقرأ من Notion، ويكتب issue على GitHub، ويستعلم من PostgreSQL في نفس الـ conversation، الطريقة الشائعة بتاخد منك 3 أسابيع شغل: تكتب Python wrapper لكل API، تعرّف tool schema لـ Claude tool use، تتعامل مع authentication و token refresh، تكتب error handling، ولما الـ API يتغيّر تصلّح الكود من جديد. MCP (Model Context Protocol) بيخلّيها 4 ساعات بدون كتابة سطر integration واحد.
MCP في جملة واحدة: USB-C للنماذج اللغوية
قبل USB-C، كل جهاز كان عايز كابل مختلف. شاحن iPhone غير شاحن Samsung غير كابل الـ printer غير كابل الـ camera. كل مصنع كان لازم يصمم كابل ومنفذ خاصين بيه. USB-C وحّد الموضوع: مقبس واحد، أي جهاز يتوصّل بأي جهاز.
MCP هو نفس الفكرة بالظبط للأدوات والنماذج اللغوية. بدل ما كل LLM (Claude، GPT، Gemini) يحتاج integration مخصص لكل أداة (Notion، GitHub، Slack)، MCP بيعرّف بروتوكول واحد. تكتب MCP server للأداة مرة واحدة، وأي LLM يدعم MCP يقدر يستخدمها بدون تعديل.
التعريف العلمي بدون تبسيط
MCP هو بروتوكول مفتوح المصدر أعلنته Anthropic في نوفمبر 2024، مبني على JSON-RPC 2.0، بيعرّف 3 أنواع capabilities بين الـ client (التطبيق اللي بيشغّل الـ LLM) والـ server (الأداة):
- Tools — دوال يقدر النموذج يستدعيها (مثال:
create_issueفي GitHub). - Resources — بيانات يقدر النموذج يقرأها بدون تعديل (مثال: محتوى صفحة Notion).
- Prompts — قوالب prompts معرّفة مسبقًا يقدر المستخدم يستدعيها مباشرة.
الاتصال بيتم بطريقتين: stdio (للـ servers اللي بتشتغل محلي على نفس الجهاز) أو HTTP+SSE (للـ servers البعيدة). الـ schema بيتم تبادله تلقائيًا في handshake أول مرة، فالـ LLM بيعرف الأدوات المتاحة بدون ما تكتبها يدوي في كل request زي ما بتعمل في tool use التقليدي.
السيناريو اللي بنشتغل عليه
فريق دعم فني عربي بيستقبل 180 تذكرة يوميًا. الـ workflow الحالي:
- الموظف يقرأ التذكرة في Zendesk.
- يدوّر في Confluence على حلول مشابهة.
- يفتح PostgreSQL يتأكد من حالة حساب العميل.
- لو فيه bug فعلي، يفتح GitHub ويعمل issue.
- يردّ على العميل.
متوسط الوقت لكل تذكرة: 14 دقيقة. الهدف: Claude يعمل أول 4 خطوات تلقائيًا، الموظف يراجع المخرج ويوافق أو يعدّل. الوقت المستهدف: تحت 4 دقائق.
الطريقة القديمة: ليه بتاخد 3 أسابيع
قبل MCP، علشان توصّل Claude بـ 4 أدوات، لازم تعمل الآتي يدوي لكل أداة:
- تكتب function في Python بتنادي API الأداة (~80 سطر كود).
- تعرّف tool schema بصيغة JSON مفصّلة لـ Claude tool use API (~30 سطر).