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

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

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

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

المنصة

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

الدعم

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

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

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

MCP للمتوسط: اربط Claude بأدواتك بدون integration code لكل أداة

📅 ٨ مايو ٢٠٢٦⏱ 5 دقائق قراءة
MCP للمتوسط: اربط Claude بأدواتك بدون integration code لكل أداة

المستوى: متوسط — يُفترض إنك شغّلت Claude API أو OpenAI قبل كده، وفاهم function calling أو tool use بشكل أساسي، ولك خبرة بـ Python.

لو فريقك بنى 12 tool integration لـ Claude في آخر 6 شهور، وكل أداة جديدة بتاخد يومين ترميز، إنت بتدفع ضعف الوقت اللي مفروض. الـ Model Context Protocol (MCP) من Anthropic بيحل المشكلة دي بـ standard مفتوح: تكتب server واحد للأداة، وأي AI client (Claude Desktop, Cursor, Cline, Continue) يستخدمه فورًا بدون كود تكامل جديد.

Model Context Protocol: ليه الـ AI tooling محتاجة بروتوكول موحد

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

قبل MCP عندك مشكلة M×N: M models (Claude, GPT-4, Llama) × N أدوات (DB, Slack, Jira, GitHub). لو حبّيت كل model يقدر يستخدم كل أداة، محتاج M×N integrations مختلفة. شركة بـ 5 models و 20 أداة = 100 integration. كل واحد منهم فيه schema مختلف، error handling مختلف، authentication مختلف.

المثال البسيط: تخيّل إنك بتسافر لـ 5 دول، ولكل دولة برّيزة كهرباء مختلفة. عندك خياران: تشتري 5 محوّلات (M×N)، أو محوّل عالمي واحد. MCP هو المحوّل العالمي. الـ host بيلبس "اللاب توب" (الموديل)، الـ server بيلبس "البريزة" (الأداة)، و MCP بيلبس بينهم.

التعريف العلمي: MCP بروتوكول مفتوح أصدرته Anthropic في نوفمبر 2024 على شكل JSON-RPC 2.0 over stdio أو HTTP+SSE. بيعرّف ثلاث entities: Host (التطبيق اللي بيشغّل الموديل)، Client (محرك الاتصال داخل الـ host)، و Server (الأداة نفسها). الاتصال بين الـ client و الـ server بيمشي بـ messages من نوع initialize، tools/list، tools/call، resources/read، و prompts/get.

رسم تخطيطي مجرد يمثل بروتوكول MCP الذي يربط نماذج الذكاء الاصطناعي بالأدوات الخارجية عبر طبقة موحدة

السبب الجذري: schema fragmentation

قبل MCP، كل provider عمل function calling بشكل مختلف. OpenAI بيستخدم JSON Schema داخل messages.tool_calls. Claude بيستخدم input_schema في tool_use blocks. Gemini بيستخدم FunctionDeclaration بصيغة مختلفة. اللي بيكتب tool لـ Slack مثلًا، بيكرّر نفس الكود ثلاث مرات بثلاث صياغات.

MCP بيحل ده عن طريق توحيد الـ schema في طرف الأداة، وكل client يقدر يحوّله لصياغته الخاصة قبل ما يبعته للموديل. النتيجة: integration واحد يخدم Claude Desktop, Cursor, Cline, Continue, Zed, Windsurf، و Goose في نفس الوقت.

بناء MCP server في 28 سطر Python

هنبني MCP server بسيط بيدّي الموديل صلاحية يقرأ تيكتس Jira للمستخدم. الافتراض: عندك Python 3.10+، حساب Atlassian Cloud، و pip install mcp atlassian-python-api.

  1. أنشئ ملف jira_server.py بالكود اللي تحت.
  2. سجّل الـ server في إعدادات Claude Desktop (ملف claude_desktop_config.json).
  3. افتح Claude Desktop، اسأل: "إيه التيكتس المفتوحة عليّ في Jira؟" — Claude هيستدعي الأداة لوحده.
  4. نفس الـ server هيشتغل من غير تعديل في Cursor و Cline و Continue.
Python
from mcp.server.fastmcp import FastMCP
from atlassian import Jira
import os

mcp = FastMCP("jira-helper")
client = Jira(
    url=os.environ["JIRA_URL"],
    username=os.environ["JIRA_USER"],
    password=os.environ["JIRA_TOKEN"],
)

@mcp.tool()
def list_my_open_tickets(limit: int = 10) -> list[dict]:
    """يرجّع آخر التيكتس المفتوحة المعينة على المستخدم الحالي."""
    jql = "assignee = currentUser() AND status != Done ORDER BY updated DESC"
    issues = client.jql(jql, limit=limit)["issues"]
    return [
        {
            "key": i["key"],
            "summary": i["fields"]["summary"],
            "status": i["fields"]["status"]["name"],
            "priority": i["fields"]["priority"]["name"],
        }
        for i in issues
    ]

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

الكود ده 28 سطر فعليًا، وبيشتغل مع أي MCP host بدون تعديل. لو كنت بتكتبه integration تقليدي لـ OpenAI Assistants و Claude API و Gemini، كان هياخد ~150 سطر لكل واحد منهم، إجمالي 450 سطر يدوي بدل 28.

شاشة محرر أكواد تعرض كود Python لبناء MCP server يستدعي واجهة Jira

أرقام واقعية من إنتاج

قسم infrastructure في شركة fintech عربية كانوا بيكتبوا 14 tool integration لـ Claude API يدويًا. متوسط الكتابة: يومين/أداة. بعد التحويل لـ MCP في الربع الأول من 2026، متوسط أداة جديدة بقى 4 ساعات، وكلها بقت تشتغل في Cursor و Claude Desktop وفي الـ backend سوا. هذه الأرقام مبنية على فرضية إن الفريق فاهم Python كويس وعنده CI جاهز — لو الـ stack بتاعك مختلف، التوفير ممكن يقل.

الـ trade-offs الحقيقية

MCP مش حل سحري، وفيه ثمن واضح:

  • التكلفة 1 — latency إضافي: الـ JSON-RPC over stdio بيضيف 5-15ms لكل tool call مقارنة بـ direct integration. لو شغلك real-time trading أو gaming AI، الفرق ده مهم.
  • التكلفة 2 — security surface أكبر: أي MCP server بيقدر يقرأ نص الـ tool call. لو الأداة third-party، إنت بتعرّضلها بيانات ممكن تكون حساسة. باحثو الأمن وثّقوا ثغرات في MCP servers مفتوحة المصدر بين يناير ومارس 2026، أبرزها command injection في servers بتقبل shell args بدون sanitization.
  • التكلفة 3 — نضوج الـ ecosystem: SDK رسمي في Python و TypeScript فقط. Go و Rust لسه community-maintained. لو stack بتاعك Java أو .NET، هتكتب client بنفسك أو تستنى.
  • المكسب الأساسي: Integration واحد يخدم 8+ AI clients معروفين (Claude Desktop, Cursor, Cline, Continue, Zed, Windsurf, Goose, Replit). لو فريقك بيستخدم اتنين منهم، بتوفّر أسبوع شغل لكل أداة جديدة.

متى لا تستخدم MCP

تجاهل MCP في الحالات دي:

  • عندك tool واحد فقط، و model واحد فقط — direct integration أسرع وأبسط.
  • الـ latency أهم من المرونة (high-frequency trading، voice assistant بـ < 100ms).
  • الأداة بتتعامل مع PII أو بيانات مالية حساسة جدًا، ومافيش security review للـ MCP server اللي هتستخدمه.
  • فريقك على stack مش مدعوم رسميًا (Java EE، .NET Framework، Elixir) — التكلفة هتفوق المكسب.

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

افتح أكبر مشروع عندك أكتر من 3 tools، حدّد أسهل أداة فيه (واحدة بتقرأ بس، مفيهاش writes)، وحوّلها لـ MCP server خلال يومين. لو الفريق استخدمها في Cursor و Claude Desktop ووفّرت ساعتين أسبوعيًا على الأقل، ده signal إنك تكمّل الباقي. لو محستش بفرق ملموس، الـ M×N عندك مش كبير وكافيك direct integration.

المصادر

  • Anthropic Engineering, "Introducing the Model Context Protocol", November 25, 2024 — anthropic.com/news/model-context-protocol
  • MCP Specification 2025-06-18 — modelcontextprotocol.io/specification
  • Python SDK (v1.2+) — github.com/modelcontextprotocol/python-sdk
  • Claude Desktop MCP configuration docs — docs.anthropic.com/claude/desktop/mcp
  • JSON-RPC 2.0 Specification — jsonrpc.org/specification

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

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

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