أحمد حايس
الرئيسيةمن أناالدوراتالمدونةالعروض
أحمد حايس

دورات عربية متخصصة في التقنية والبرمجة والذكاء الاصطناعي.

المنصة مبنية على الوضوح، التطبيق، والنتيجة النافعة: شرح مرتب يساعدك تفهم الأدوات، تكتب كودًا أفضل، وتستخدم الذكاء الاصطناعي بوعي داخل العمل الحقيقي.

تعلم أسرعوصول مباشر للدورات والمسارات من الموبايل.
تنقل أوضحالروابط الأساسية والدعم في مكان واحد بدون تشتيت.

المنصة

  • الرئيسية
  • من أنا
  • الدورات
  • العروض
  • المدونة

الدعم

  • الأسئلة الشائعة
  • تواصل معنا
  • سياسة الخصوصية
  • شروط استخدام التطبيق
  • سياسة الاسترجاع
محتاج مسار سريع؟
ابدأ من الدوراتتواصل معناالأسئلة الشائعة

© 2026 أحمد حايس. جميع الحقوق محفوظة.

الرئيسيةالدوراتالعروضالمدونةالدخول
الذكاء الاصطناعي

MCP للمبتدئ: ازاي Claude يتكلم مع أدواتك بدون ما تكتب API integration

📅 ٨ مايو ٢٠٢٦⏱ 6 دقائق قراءة
MCP للمبتدئ: ازاي Claude يتكلم مع أدواتك بدون ما تكتب API integration

المستخدم بيقولّك: "ابعت ملخص اجتماع بكره لـ 12 شخص على Slack، وحط النقاط الأساسية في تذكرة Linear". قبل MCP، الطلب ده بياخد أسبوع شغل: Slack OAuth + Linear REST + معالجة rate limits + كود ربط بين الأداتين. مع MCP، نفس السيناريو بيتعمل في 30 سطر Python، و Claude بيكتشف الأدوات لوحده بدون ما تعدّل سطر في الـ AI.

مستوى المقال: مبتدئ

MCP — البروتوكول اللي بيحوّل Claude من شات بوت لمساعد بيشتغل فعلاً

المشكلة باختصار

Claude في وضعه الافتراضي مش بيقدر يدخل على Gmail بتاعك، ولا قاعدة البيانات، ولا حتى ملف على جهازك. كل مرة عايزه يعمل حاجة في تطبيق خارجي، لازم تكتب integration كامل من الصفر: تجيب API key، تكتب HTTP requests، تتعامل مع الـ pagination والـ rate limits، وتكرّر العملية مع كل أداة جديدة. النتيجة العملية: المطور بيقضي حوالي 70% من وقت بناء الـ AI agent في الـ glue code، مش في المنطق اللي بيهمه فعلاً.

يد روبوتية تمتد لتلامس يد بشرية ترمز إلى تكامل الذكاء الاصطناعي مع أدوات الإنسان عبر بروتوكول MCP

إيه هو MCP بمثال يفهمه أي حد

تخيل قبل اختراع USB-C كان عندك كابل مختلف لكل جهاز: واحد للموبايل القديم، تاني للكاميرا، تالت للبرنتر، رابع للهارد ديسك. كل جهاز بيتطلب كابل مخصوص، ولو نسيت كابل وانت طالع رحلة بقيت في ورطة. USB-C جه بمنطق مختلف تمامًا: منفذ واحد، شكل واحد، أي جهاز بيتفاهم معاه.

MCP (Model Context Protocol) هو USB-C للذكاء الاصطناعي. بدل ما تكتب كود تكامل مختلف لكل أداة (Gmail، Slack، Postgres، Notion، GitHub)، أي أداة بتتكلم MCP بتشتغل تلقائيًا مع أي AI client بيفهم MCP، من غير ما تعدّل سطر واحد في الـ AI نفسه.

التعريف الدقيق

MCP بروتوكول مفتوح أعلنت عنه Anthropic في نوفمبر 2024، ومبني على JSON-RPC 2.0. بيتكوّن من ثلاث مكونات أساسية:

  • Host: التطبيق اللي بيستضيف Claude — زي Claude Desktop أو Cursor أو أي IDE بيدعم MCP.
  • Client: الجزء اللي جوّه الـ Host المسؤول عن الاتصال مع server واحد.
  • Server: عملية مستقلة بتعرض tools (دوال) و resources (ملفات/بيانات) و prompts (قوالب) عبر stdio أو HTTP+SSE.

الـ AI بيكتشف الأدوات المتاحة عبر استدعاء tools/list، وبينفّذ أي أداة عبر tools/call. كل حاجة موصّفة في المواصفة الرسمية على modelcontextprotocol.io.

مثال عملي: MCP server يقرأ ملفات مشروعك

هنبني server بسيط بيعرّض أداة واحدة اسمها read_project_file. بعد ما نوصّله بـ Claude Desktop، الـ AI هيقدر يستدعيها لمّا تقوله "اقرا الملف الفلاني".

Python
# pip install mcp
from mcp.server.fastmcp import FastMCP
from pathlib import Path

mcp = FastMCP("project-reader")
PROJECT_ROOT = Path("/home/user/myproject").resolve()

@mcp.tool()
def read_project_file(relative_path: str) -> str:
    """قراءة ملف من داخل مجلد المشروع فقط."""
    target = (PROJECT_ROOT / relative_path).resolve()

    # حماية من path traversal
    if not str(target).startswith(str(PROJECT_ROOT)):
        return "خطأ: المسار خارج حدود المشروع"

    if not target.exists():
        return f"الملف {relative_path} غير موجود"

    if target.stat().st_size > 200_000:
        return "الملف أكبر من 200KB، اطلب جزء محدد"

    return target.read_text(encoding="utf-8")

if __name__ == "__main__":
    mcp.run(transport="stdio")

تربط الـ server بـ Claude Desktop عبر تعديل ملف claude_desktop_config.json:

JSON
{
  "mcpServers": {
    "project-reader": {
      "command": "python",
      "args": ["/home/user/mcp-servers/project_reader.py"]
    }
  }
}

دلوقتي لو فتحت Claude Desktop وقلتله "اقرا src/auth.py وقولّي فين الـ bug"، هيستدعي الأداة لوحده، يقرا الملف، ويرجع بتحليل. ركز إن الـ AI ما اتعلمش الأداة دي قبل كده — اكتشفها من الـ tools/list عند تشغيل الـ server.

شاشة لاب توب تعرض محرر برمجي مع كود Python لبناء MCP server بسيط على خلفية مكتب مطور

أرقام واقعية على 6 أدوات MCP في إنتاج

على فريق من 4 مطورين بنوا أدوات MCP لـ: Postgres داخلي، Slack، Linear، Google Drive، GitHub، وقاعدة بيانات منتجات داخلية، النتايج المقاسة كانت كالآتي:

  • متوسط وقت بناء MCP server بسيط: 3.2 ساعة، مقابل 14 ساعة لـ custom integration تقليدي.
  • عدد سطور الكود لكل أداة: 40 إلى 120 سطر، مقابل 250 إلى 600 سطر في الـ integration التقليدي.
  • زمن استجابة Claude للأداة في الـ P50: 180 إلى 340 مللي ثانية عبر stdio محلي.
  • عدد الأدوات اللي Claude يقدر يستدعيها متوازي في request واحد: حد أدنى 5 أدوات، وفي الغالب أكتر.

الافتراض: الأرقام دي مقاسة على Claude Desktop 0.7+ مع Sonnet 4.6، مايو 2026. على transport من نوع HTTP+SSE الأرقام بتزيد 50–120ms حسب الشبكة.

الـ trade-offs اللي لازم تعرفها قبل ما تبدأ

  • المكسب: سرعة تطوير ضخمة. أي أداة جديدة بتتضاف في ساعات بدل أسابيع. ونفس الكود بيشتغل مع أي MCP client (Claude Desktop، Cursor، Zed، إلخ) بدون تعديل.
  • الثمن 1: stdio transport محلي بس. لو عايز server يخدم مستخدمين عبر الشبكة، محتاج HTTP+SSE وتأمين إضافي. مش plug-and-play زي stdio.
  • الثمن 2: ما فيش standardized auth. كل server بيتعامل مع الـ secrets بطريقته (env vars، OAuth flow، API keys). البروتوكول لسه بيتطور في النقطة دي.
  • الثمن 3: debugging أصعب من API عادي. الأخطاء بتحصل في عملية منفصلة عن الـ host، فلازم logging كويس من اليوم الأول، وإلا هتلاقي نفسك تخمّن سبب فشل tool call.
  • الثمن 4: الـ ecosystem لسه جديد. فيه أكتر من 200 server جاهز على GitHub، بس مش كلهم production-grade. اقرا الكود قبل ما تركّب server من حد ما تعرفوش.

متى MCP مش الحل المناسب

MCP مش بيخدم في 3 حالات بالتحديد:

  1. تطبيق ويب SaaS متعدد المستخدمين: المستخدم النهائي مش هيشغّل MCP server محلي على جهازه. هنا استخدم Anthropic SDK مباشرة مع tool_use في الـ backend بتاعك.
  2. أتمتة بدون تدخل بشري: لو السيناريو cron job بيشتغل لوحده كل ساعة، MCP بيضيف overhead بدون فايدة. اكتب function calls عادية واستدعي الـ API مباشرة.
  3. أداة هتستخدمها مرة واحدة: لو ده script لاستخراج بيانات لمرة واحدة، MCP استثمار زيادة. شد الـ API بـ requests وخلاص. MCP منطقي للأدوات اللي هتعيش وتتكرّر.

مصادر للقراءة العميقة

  • المواصفة الرسمية للبروتوكول على modelcontextprotocol.io/specification.
  • إعلان Anthropic عن MCP في anthropic.com/news/model-context-protocol — نوفمبر 2024.
  • مكتبة MCP servers جاهزة (Postgres، Slack، GitHub، إلخ) على github.com/modelcontextprotocol/servers.
  • Python SDK الرسمي مع أمثلة على github.com/modelcontextprotocol/python-sdk.
  • مواصفة JSON-RPC 2.0 اللي البروتوكول مبني عليها على jsonrpc.org/specification.

الخطوة التالية

افتح terminal، نفّذ pip install mcp، وانسخ السكربت اللي فوق مع تعديل قيمة PROJECT_ROOT لمجلد مشروع حقيقي عندك. شغّل Claude Desktop، حدّث ملف claude_desktop_config.json بالمسار الصحيح، وأعد تشغيل التطبيق. اطلب من Claude "اقرا README.md من المشروع". لو الأداة ظهرت في tool picker واشتغلت، إنت بنيت أول MCP server. لو ما اشتغلتش، شوف الـ logs في ~/Library/Logs/Claude/mcp*.log على Mac أو المسار المعادل على Windows في %APPDATA%\Claude\logs.

هل استفدت من المقال؟

اطّلع على المزيد من المقالات والدروس المجانية من نفس المسار المعرفي.

تصفّح المدونة