ai-machine-learning

بروتوكول سياق النموذج: ابنِ أول خادم MCP لك اليوم

بقلم Mert Batur
Mar 17, 2026
17 قراءة
بروتوكول سياق النموذج: ابنِ أول خادم MCP لك اليوم

بروتوكول سياق النموذج (MCP) هو معيار مفتوح يمنح نماذج الذكاء الاصطناعي طريقة شاملة للاتصال بالأدوات الخارجية ومصادر البيانات والخدمات. بدلاً من كتابة كود تكامل مخصص لكل مجموعة من النموذج والأداة، تكتب خادم MCP واحد ويمكن لكل نموذج متوافق استخدامه. أنشأت Anthropic بروتوكول MCP في أواخر عام 2024، وتديره مؤسسة Linux Foundation الآن، وقد تبنّته OpenAI وGoogle وبقية نظام الذكاء الاصطناعي الوكيل. إليك كل ما تحتاج إلى فهمه وبنائه ونشره مع MCP.

نظرة سريعة على MCP

إذا أردت النسخة السريعة قبل الغوص في 6000 كلمة من التفاصيل، ها هي.

الخاصيةالتفاصيل
الاسم الكاملModel Context Protocol (MCP)
أنشأهAnthropic (نوفمبر 2024)، تحكمه الآن Linux Foundation / AAIF (ديسمبر 2025)
ما يفعلهمعيار شامل لربط نماذج الذكاء الاصطناعي بالأدوات والبيانات والخدمات
المشكلة التي يحلهايزيل تكاملات M × N المخصصة - كـ USB-C للذكاء الاصطناعي
الأوليات الأساسيةالأدوات، الموارد، الموجّهات، والعيّنة
النقلstdio (التطوير المحلي)، Streamable HTTP (الإنتاج)
المصادقةOAuth 2.1 (مطلوب لنقل HTTP)
مجموعات أدوات التطويرPython (FastMCP)، TypeScript، Java، Kotlin، C#
حجم النظام البيئيأكثر من 10,000 خادم نشط (وفق Linux Foundation، ديسمبر 2025)
كبار المتبنّينClaude، ChatGPT، Gemini، Cursor، VS Code Copilot، Windsurf
حالة المواصفاتمعيار مفتوح، يتطور بنشاط (خارطة طريق 2026 قيد الإعداد)
الأنسب لـوكلاء الذكاء الاصطناعي الذين يحتاجون للتفاعل مع الأدوات والبيانات الحقيقية

الآن لنفكّ كل من هذه النقاط، بدءاً بما هو MCP فعلاً والمشكلة التي جعلته ضرورياً.

ما هو بروتوكول سياق النموذج؟

بروتوكول سياق النموذج هو بروتوكول مفتوح قائم على JSON-RPC يُقنِّن كيفية اكتشاف نماذج الذكاء الاصطناعي للأدوات والبيانات الخارجية والتفاعل معها. فكّر فيه كـ HTTP لتكاملات الذكاء الاصطناعي - لغة مشتركة يستطيع أي نموذج وأي أداة التحدث بها.

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

مشكلة M × N التي يحلها MCP

بدون MCP، يتطلب ربط M من النماذج بـ N من الأدوات تكاملات مخصصة بعدد M × N. لنفترض أنك تدعم 5 نماذج لغوية (Claude، GPT-4، Gemini، Llama، Mistral) وتحتاج إلى وصولها لـ 10 أدوات (GitHub، Postgres، Slack، Jira، وما إلى ذلك). هذه 50 طبقة تكامل مخصصة، لكل منها مصادقتها ومعالجة الأخطاء وتنسيق البيانات الخاص بها.

مع MCP، يُطبّق كل نموذج بروتوكول عميل MCP مرة واحدة، وكل أداة تُطبّق خادم MCP مرة واحدة. الآن أصبح العدد 5 + 10 = 15 تطبيقاً بدلاً من 50. أضف نموذجاً جديداً؟ يعمل فوراً مع جميع الأدوات العشر. أضف أداة جديدة؟ يمكن للنماذج الخمسة كلها استخدامها.

تاريخ موجز لـ MCP

فتحت Anthropic كود MCP المصدر في نوفمبر 2024 مع مجموعات أدوات التطوير لـ Python وTypeScript وموصّلات لـ Claude Desktop. سار التبني بسرعة. أضافت OpenAI دعم MCP لـ ChatGPT في مارس 2025. تبعتها Google لـ Gemini في أبريل 2025. في ديسمبر 2025، تبرّعت Anthropic بـ MCP لمؤسسة Agentic AI Foundation الجديدة التابعة لـ Linux Foundation، المشارك في تأسيسها مع Block وOpenAI، مما جعل MCP معياراً محايداً بين البائعين ذا حوكمة على مستوى الصناعة.

ما لا يكون عليه MCP:

  • ليس نموذجاً ولا إطار ذكاء اصطناعي (إنه بروتوكول، مثل HTTP)
  • ليس بديلاً عن LangChain أو LlamaIndex (تلك طبقات تنسيق؛ MCP يجلس تحتها)
  • ليس محدوداً بـ Anthropic أو Claude (إنه محايد للنماذج بالتصميم)
  • ليس مثل استدعاء الدوال (المزيد حول ذلك في قسم المقارنة)

كيف يعمل MCP؟ تعمّق في البنية

يمتلك MCP ثلاثة أدوار، والخلط بينها هو أكثر أخطاء المبتدئين شيوعاً. دعنا نوضّح الفرق.

<!-- IMAGE: مخطط بنية MCP يُظهر أدوار المضيف والعميل والخادم مع أمثلة حقيقية مثل Claude Desktop وGitHub MCP Server وPostgres MCP Server -->

المضيف والعميل والخادم - ما الفرق؟

المكوّنالدورأمثلةما يفعله
المضيفالتطبيق الذي يتفاعل معه المستخدمClaude Desktop، Cursor، VS Codeيوفر واجهة المستخدم، يدير نسخ العميل
العميلمعالج البروتوكول داخل المضيفمدمج في تطبيق المضيفيحافظ على اتصال 1:1 مع خادم MCP واحد
الخادميكشف الأدوات والبيانات عبر MCPخادم GitHub، خادم Postgres، خادم Slackيُغلّف واجهات API/البيانات الخارجية في نقاط نهاية متوافقة مع MCP

إليك مثال ملموس: تطلب من Claude Desktop فحص طلبات سحب GitHub المفتوحة لديك. Claude Desktop هو المضيف. عميل MCP المدمج فيه يفتح اتصالاً بـ خادم MCP الخاص بـ GitHub. يستدعي الخادم واجهة GitHub API ويجلب طلبات السحب ويعيد النتائج إلى العميل الذي يمررها إلى النموذج.

يمكن للمضيف الواحد تشغيل عملاء متعددين، كل منهم متصل بخادم مختلف. هكذا يمكن لـ Claude Desktop الوصول في آنٍ واحد إلى GitHub وقاعدة بيانات Postgres وSlack - ثلاثة خوادم MCP منفصلة، ثلاثة اتصالات عميل منفصلة، مضيف واحد.

كيف تتدفق الرسائل (JSON-RPC 2.0)

تستخدم جميع اتصالات MCP JSON-RPC 2.0 - بروتوكول طلب/استجابة خفيف. إليك شكل تبادل tools/list على الشبكة:

json
// طلب العميل: "ما الأدوات التي لديك؟"
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

// استجابة الخادم: أداة واحدة متاحة
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "get_weather",
        "description": "الحصول على الطقس الحالي لمدينة",
        "inputSchema": {
          "type": "object",
          "properties": {
            "city": { "type": "string" }
          },
          "required": ["city"]
        }
      }
    ]
  }
}

يقرأ النموذج تعريفات الأدوات هذه، ويقرر متى يستدعيها بناءً على طلب المستخدم، ويرسل العميل طلب tools/call إلى الخادم مرة أخرى بالمعاملات المناسبة.

دورة حياة الاتصال

تتبع كل جلسة MCP نفس دورة الحياة:

  1. التهيئة - يرسل العميل القدرات، يستجيب الخادم بقدراته
  2. التفاوض على القدرات - يتفق الطرفان على الميزات المدعومة (الأدوات، الموارد، الموجّهات، العيّنة)
  3. الجاهزية - الاتصال نشط؛ تتدفق الطلبات في كلا الاتجاهين
  4. الطلبات/الاستجابات - tools/call، resources/read، إلخ.
  5. الإغلاق - قطع الاتصال بشكل نظيف

يضمن هذا المصافحة التوافق للأمام. إذا أضاف خادم أولية جديدة، تتجاهلها العملاء الأقدم بأناقة بدلاً من التعطّل.

أوليات MCP: الأدوات والموارد والموجّهات والعيّنة

يُعرّف MCP أربع أوليات، وفهم من يتحكم في كل منها هو مفتاح تصميم خوادم MCP الجيدة.

الأوليةمن يتحكم بهاالاتجاهمثالحالة الاستخدام
الأدواتالنموذج يقرر متى يستدعيهاالعميل -> الخادمcreate_github_issueإجراءات ينفذها الذكاء الاصطناعي باستقلالية
المواردالتطبيق/المستخدم يختارالعميل -> الخادمfile://project/README.mdبيانات مرفقة بالسياق
الموجّهاتالمستخدم يُشغّلالعميل -> الخادمقالب code_reviewأنماط تفاعل قابلة للإعادة
العيّنةالخادم يطلب الإكمالالخادم -> العميلالخادم يطلب من النموذج التلخيصحلقات وكيلية يستخدم فيها الخادم النموذج اللغوي

الأدوات (يتحكم بها النموذج)

الأدوات هي دوال يمكن للنموذج استدعاؤها. يُعلن الخادم عنها باسم ووصف وتعريف مخطط إدخال JSON. يقرأ النموذج هذه التعريفات وعندما يتطلب طلب المستخدم ذلك، يقرر استدعاء الأداة.

json
// العميل يرسل طلب tools/call
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": { "city": "الرياض" }
  }
}

إذا استخدمت استدعاء الدوال في OpenAI، ستبدو الأدوات مألوفة - لكنها مُقنَّنة لكل نموذج متوافق مع MCP.

الموارد (تتحكم بها التطبيقات)

الموارد هي نقاط نهاية بيانات للقراءة فقط. على عكس الأدوات، لا يقرر النموذج جلب مورد بمفرده - يرفق تطبيق المضيف أو المستخدم الموارد صراحةً بسياق المحادثة. فكّر فيها كنقاط نهاية GET: postgres://mydb/users/schema، file://docs/api-reference.md.

تدعم الموارد الاشتراكات عبر resources/subscribe، بحيث يمكن إخطار العميل عند تغيير البيانات. للمزيد من التفاصيل، راجع دليل هندسة السياق.

الموجّهات (يتحكم بها المستخدم)

الموجّهات هي قوالب قابلة لإعادة الاستخدام يكشفها خادم MCP. قد يقبل موجّه code_review مسار ملف ويُنشئ طلب مراجعة مُنظَّم. المستخدم (أو واجهة المضيف) يُشغّل الموجّهات بشكل صريح - لا يستدعيها النموذج تلقائياً.

العيّنة (بادئها الخادم) - متقدم

هذه هي الأولية التي تتخطاها معظم الأدلة. العيّنة تتيح للخادم طلب إكمال من العميل باستخدام النموذج اللغوي. هذا يعكس التدفق المعتاد: بدلاً من أن يستدعي النموذج أداة، تستدعي الأداة النموذج.

لماذا؟ الحلقات الوكيلية. تخيّل خادم MCP يعالج تذاكر الدعم. يقرأ التذكرة (مورداً)، يستخدم sampling/createMessage لطلب ملخص من النموذج، ثم يستخدم ذلك الملخص لتوجيه التذكرة عبر أداة. يُنسّق الخادم سير عمل متعدد الخطوات مستفيداً من ذكاء النموذج.

العيّنة مُتحكَّم بها من قِبل تطبيق المضيف - يجب على المستخدم الموافقة عليها، والمضيف يتحكم فيما يمكن للخادم طلبه. هذا يمنع الحلقات الخارجة عن السيطرة ويحافظ على الإشراف البشري.

ابنِ أول خادم MCP لك: Python وTypeScript جنباً إلى جنب

يكفي نظرية. لنبنِ خادم MCP يعمل فعلاً ويكشف أداة get_weather. سأُظهر كلاً من Python وTypeScript حتى تتمكن من مقارنة تجربة المطور واختيار المكدّس الذي يناسب مشروعك.

Python مع FastMCP

FastMCP هو مجموعة أدوات التطوير Python الرسمية عالية المستوى. تتعامل مع كل بنية البروتوكول حتى تتمكن من التركيز على منطق الأداة.

bash
# تثبيت FastMCP
pip install fastmcp
python
# weather_server.py
from fastmcp import FastMCP

mcp = FastMCP("خادم الطقس")

@mcp.tool()
def get_weather(city: str) -> str:
    """الحصول على الطقس الحالي لمدينة."""
    # في الإنتاج، استدعِ واجهة API للطقس هنا
    weather_data = {
        "الرياض": "مشمس، 28 درجة",
        "طوكيو": "مشمس، 22 درجة",
        "نيويورك": "ممطر، 8 درجات",
    }
    return weather_data.get(city, f"لا توجد بيانات لـ {city}")

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

هذا كل شيء - 15 سطراً. FastMCP يستنتج مخطط إدخال الأداة من تلميحات نوع Python والوثائق. لا حاجة لأي نموذج JSON Schema.

TypeScript مع مجموعة أدوات التطوير الرسمية

مجموعة أدوات التطوير TypeScript (@modelcontextprotocol/sdk) أكثر صراحة قليلاً لكنها تمنحك تحكماً كاملاً في تعريفات المخطط.

bash
# تثبيت مجموعة أدوات التطوير وZod للتحقق من المخطط
npm install @modelcontextprotocol/sdk zod
typescript
// weather-server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({
  name: "خادم الطقس",
  version: "1.0.0",
});

server.tool(
  "get_weather",
  "الحصول على الطقس الحالي لمدينة",
  { city: z.string() },
  async ({ city }) => {
    const weatherData: Record<string, string> = {
      "الرياض": "مشمس، 28 درجة",
      "طوكيو": "مشمس، 22 درجة",
      "نيويورك": "ممطر، 8 درجات",
    };
    return {
      content: [
        { type: "text", text: weatherData[city] ?? `لا توجد بيانات لـ ${city}` },
      ],
    };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);

تستخدم نسخة TypeScript مخططات Zod بدلاً من تلميحات النوع وتُعيد كتل محتوى منظّمة. أكثر إسهاباً، لكن أمان النوع ممتاز.

الاتصال بـ Claude Desktop

لربط أي من الخادمين بـ Claude Desktop، أضفه إلى claude_desktop_config.json:

json
{
  "mcpServers": {
    "weather-python": {
      "command": "python",
      "args": ["weather_server.py"],
      "cwd": "/مسار/مشروعك"
    },
    "weather-typescript": {
      "command": "npx",
      "args": ["tsx", "weather-server.ts"],
      "cwd": "/مسار/مشروعك"
    }
  }
}

أعد تشغيل Claude Desktop وسيظهر كلا خادمَي الطقس في قائمة الأدوات. اسأل "ما حال الطقس في الرياض؟" وسيستدعي النموذج أداة get_weather تلقائياً.

الاختبار مع MCP Inspector

قبل ربط خادمك بمضيف، اختبره بمعزل مع MCP Inspector:

bash
npx @modelcontextprotocol/inspector python weather_server.py

يفتح Inspector واجهة مستخدم في المتصفح حيث يمكنك رؤية الأدوات المكتشفة واستدعاؤها يدوياً وفحص رسائل JSON-RPC المتبادلة. إنه أفضل أداة تصحيح في نظام MCP البيئي - استخدمها مبكراً وكثيراً.

نقل MCP: stdio للتطوير، Streamable HTTP للإنتاج

تحتاج رسائل MCP إلى طريقة للتنقل بين العميل والخادم. هذه طبقة النقل، واختيار الصحيح منها مهم.

النقلحالة الاستخدامالمزاياالعيوبالحالة
stdioالتطوير المحلي، الأدوات الشخصيةلا إعداد، بسيط، سريعنفس الجهاز فقطنشط
Streamable HTTPالإنتاج، الخوادم البعيدة، متعدد المستخدمينيعمل عبر الشبكة، يدعم البث عبر SSE، صديق للحالة عديمةيتطلب خادم HTTP، يحتاج مصادقةنشط (مواصفات 2025)
HTTP+SSE (قديم)نقل بعيد قديمكان خيار النقل البعيد الأصلياستُبدل بـ Streamable HTTPمُهمَل

يعمل stdio بتشغيل خادم MCP كعملية فرعية والتواصل عبر stdin/stdout. هذا ما استخدمته في الشرح أعلاه - لا منافذ، لا TLS، لا مصادقة مطلوبة. مثالي للتطوير والأدوات المحلية للمستخدم الواحد.

Streamable HTTP هو نقل الإنتاج، المُضاف في تحديث مواصفات 2025. يرسل العملاء طلبات HTTP POST عادية إلى الخادم. يمكن للخادم الاستجابة بشكل متزامن أو فتح تدفق SSE للعمليات الأطول. إنه صديق للحالة عديمة، يعمل خلف موازنات التحميل، ويدعم مصادقة HTTP القياسية.

إذا رأيت شروحاً قديمة تذكر "HTTP+SSE" كنقلين منفصلين (أحدهما للإرسال والآخر للاستقبال)، فذلك هو النهج المُهمَل. Streamable HTTP يجمع كليهما في آلية واحدة أنظف.

القرار بسيط: استخدم stdio عند التطوير محلياً، وانتقل إلى streamable-http عند النشر للآخرين.

typescript
// التبديل من stdio إلى Streamable HTTP في TypeScript
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";

const transport = new StreamableHTTPServerTransport({ port: 3001 });
await server.connect(transport);

MCP مقابل استدعاء الدوال مقابل REST APIs - متى تستخدم كلاً منها

هذا هو السؤال الذي يطرح نفسه في كل نقاش حول MCP، فلنحسمه بمقارنة مباشرة.

الميزةMCPاستدعاء الدوالREST APIs
التقنينبروتوكول مفتوح، محايد للنماذجلكل مزوّد (OpenAI وAnthropic لكل منهما نظامه)عالمي
اكتشاف الأدواتمدمج (tools/list)لا شيء - ترسل المخططات مع كل طلبلا شيء - يتطلب وثائق أو مواصفات OpenAPI
الوصول للبياناتأولية المواردغير مدعومنقاط نهاية قياسية
قوالب الموجّهاتأولية الموجّهاتغير مدعومغير قابل للتطبيق
المصادقةOAuth 2.1 (على مستوى المواصفات)مفتاح API من المزوّديتفاوت (مفاتيح API، OAuth، إلخ.)
البثSSE عبر Streamable HTTPيعتمد على المزوّديتفاوت
تعدد النماذجيعمل مع أي نموذج متوافق مع MCPمقيّد بواجهة API مزوّد واحدمحايد للنماذج (مع كود وصل)
نظام بيئي للخوادمأكثر من 10,000 خادم جاهزلا ينطبقملايين من APIs
تعقيد الإعدادتشغيل خادم MCPإرسال JSON في استدعاء APIعميل HTTP
الأنسب لـبيئات وكلاء متعددة النماذج والأدواتتطبيقات بسيطة بنموذج واحد وعدد قليل من الأدواتالتواصل بين الخدمات

متى يكفي استدعاء الدوال

إذا كان لديك أقل من 5 أدوات وتستخدم نموذجاً واحداً، فاستدعاء الدوال أبسط. تُعرّف مخططات أدواتك مضمّنة مع كل استدعاء API، يُعيد النموذج اسم الدالة والمعاملات، وتنفّذها في كود تطبيقك. لا خادم للتشغيل، لا بروتوكول للتعلم. لروبوت محادثة يتحقق من حالة الطلبات ويبحث في الأسئلة الشائعة، استدعاء الدوال جيد تماماً. قد يهمك أيضاً مقارنة Claude Code و Cursor و Copilot.

متى يستحق MCP الجهد

يُبرر MCP تعقيده عندما:

  • تدعم نماذج لغوية متعددة ولا تريد إعادة كتابة تعريفات الأدوات لكل مزوّد
  • تحتاج إلى اكتشاف الأدوات - يمكن للنموذج الاستعلام عما هو متاح بدلاً من ترميز المخططات بشكل ثابت
  • تريد الموارد والموجّهات، وليس فقط استدعاءات الأدوات
  • تبني وكلاء ذكاء اصطناعي ينسّقون باستقلالية وتحتاج طبقة تكامل مقنّنة
  • يتنامى فريقك ومهندسون مختلفون يبنون أدوات مختلفة - MCP يتيح لهم العمل باستقلالية

الحكم: MCP يفوز عندما تحتاج وصولاً مقنّناً لأدوات بنماذج متعددة. استدعاء الدوال يفوز لحالات استخدام بسيطة بنموذج واحد. تبقى REST APIs الخيار الصحيح للتواصل التقليدي بين الخدمات الذي لا يشمل نموذجاً لغوياً.

نظام MCP البيئي في 2026: من يدعمه وما المتاح

انتقل MCP من مشروع جانبي لـ Anthropic إلى معيار صناعي في أقل من 18 شهراً. إليك الحالة الراهنة.

أي النماذج اللغوية تدعم MCP؟

النموذجدعم MCPمنذملاحظات
Claudeدعم أصلي وكاملنوفمبر 2024أنشأ MCP؛ أعمق تكامل
ChatGPTدعم رسميمارس 2025عبر تكامل MCP لـ OpenAI
Geminiدعم رسميأبريل 2025خوادم MCP من Google Cloud لخدمات Google
Llama / المصدر المفتوحعبر المحوّلات2025LangChain وLlamaIndex ومحوّلات مخصصة
Copilot (VS Code)أصلي في وضع الوكيل2025Microsoft يُضمّن دعم MCP في VS Code

خوادم MCP الشهيرة الجديرة بالمعرفة

الفئةالخادمما يفعله
الكودGitHubطلبات السحب، المشكلات، المستودعات، البحث في الكود
الكودGitLabطلبات الدمج، خطوط الأنابيب، إدارة المشاريع
قاعدة البياناتPostgreSQLفحص المخطط، تنفيذ الاستعلامات
قاعدة البياناتMySQLالوصول للاستعلامات والمخطط
SaaSSlackرسائل القناة، البحث، الإشعارات
SaaSGoogle Driveالوصول للملفات، البحث، قراءة المستندات
SaaSNotionقراءة الصفحات، استعلامات قواعد البيانات
البحثBrave Searchنتائج البحث على الويب
DevOpsDockerإدارة الحاويات
البنية التحتيةAWSإدارة موارد السحابة

أشار إعلان AAIF من Linux Foundation إلى أكثر من 10,000 خادم نشط و97 مليون تنزيل شهري لمجموعات أدوات التطوير وقت تبرع MCP في ديسمبر 2025. لم يعد النظام البيئي تجريبياً - إنه جاهز للإنتاج.

MCP Apps أولية جديدة مُقدَّمة في يناير 2026. تتيح للخوادم توفير مكونات واجهة مستخدم تفاعلية تُعرض داخل تطبيق المضيف. لا تزال مبكرة، لكنها تُشير إلى تطور MCP من بروتوكول بيانات إلى إطار تطبيقات وكيلية كامل. جدير بالمتابعة.

الحوكمة: من Anthropic إلى Linux Foundation

يُحكَم MCP من قِبل Agentic AI Foundation (AAIF) تحت Linux Foundation، المشارك في تأسيسها من قِبل Anthropic وBlock وOpenAI. هذا مهم للتبني المؤسسي: MCP غير مرتبط بخارطة طريق بائع واحد. تركّز خارطة طريق 2026 على تطور النقل، التواصل بين الوكلاء (أولية "المهام" الجديدة)، نضج الحوكمة، والجاهزية المؤسسية.

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

أمان MCP: OAuth 2.1 والتهديدات وقائمة فحص عملية

الأمان هو المجال الذي يحتاج فيه نظام MCP البيئي لأكبر قدر من التحسين. والأرقام تُصوّر صورة صارخة.

مشكلة 88%: لماذا معظم خوادم MCP غير آمنة

حللت Astrix Security أكثر من 5,200 تطبيق لخادم MCP مفتوح المصدر ووجدت أن 88% تتطلب نوعاً من بيانات الاعتماد - لكن 53% تعتمد على أسرار ثابتة طويلة الأمد وغير آمنة مثل مفاتيح API ورموز الوصول الشخصية المرمّزة بشكل ثابت في ملفات الإعداد. 8.5% فقط تُطبّق OAuth.

هذا يعني أن الغالبية العظمى من خوادم MCP في البرية تستخدم ما يعادل المصادقة بلصق مفتاح منزلك على الباب الأمامي.

OAuth 2.1 لخوادم MCP

تشترط مواصفات MCP OAuth 2.1 لجميع الخوادم القائمة على HTTP اعتباراً من تحديث يونيو 2025. يعمل التدفق هكذا: يُبادر عميل MCP بتدفق ترخيص OAuth 2.1 مع الخادم، ويحصل على رمز وصول محدود النطاق، ويُدرجه مع كل طلب لاحق. PKCE (مفتاح إثبات لتبادل الكود) مطلوب لجميع العملاء - بلا استثناء.

إذا كنت تبني خادم MCP يعمل عبر Streamable HTTP، فإن OAuth 2.1 ليس اختيارياً. إنه مُلزَم بالمواصفات.

نموذج التهديد: ما الذي قد يسوء

أربعة تهديدات تستحق الاهتمام في أي نشر MCP:

  • حقن الموجّه عبر الأدوات - مصدر بيانات خبيث أو مخترق يُعيد محتوى مُصمَّماً لتلاعب النموذج. إذا جلبت أداة صفحة ويب وكانت تلك الصفحة تحتوي على تعليمات مخفية، قد ينفّذها النموذج.
  • هجوم النائب المرتبك - النموذج يستدعي أداة بصلاحيات أوسع مما أراد المستخدم. إذا كان لخادم MCP وصول إداري لقاعدة بيانات، قد يحذف النموذج نظرياً جدولاً.
  • مخاطر تركّز الرمز - خادم MCP يحمل مفاتيح API لـ GitHub وSlack وقاعدة بيانات الإنتاج يُعدّ هدفاً واحداً عالي القيمة. اخترق خادماً واحداً، وستخترق كل ما يتصل به.
  • نقل غير آمن - تشغيل خادم MCP HTTP بلا TLS يُعرّض كل طلب، بما في ذلك رموز OAuth والبيانات الحساسة، بنص واضح.

قائمة فحص الأمان لإنتاج MCP

  1. طبّق OAuth 2.1 لأي خادم مكشوف عبر HTTP. لا مفاتيح API ثابتة في ملفات الإعداد.
  2. طبّق نطاق الحد الأدنى من الامتيازات. إذا كانت أداتك تقرأ البيانات فقط، فيجب أن تكون بيانات اعتماد الخادم للقراءة فقط. لا تمنح أداة إعداد التقارير صلاحية الكتابة.
  3. عزل بيانات الاعتماد. ينبغي لكل خادم MCP أن يمتلك رموزه المحدودة النطاق الخاصة. لا تشارك "رمزاً إلهياً" واحداً عبر الخوادم.
  4. فرض TLS في كل مكان. Streamable HTTP بدون HTTPS رفض تلقائي للإنتاج.
  5. التحقق من نواتج الأدوات وتطهيرها. تعامل مع البيانات التي تُعيدها الأدوات بنفس الطريقة التي تتعامل بها مع مدخلات المستخدم - لا تثق بها بشكل أعمى.
  6. تحديد معدل استدعاءات الأدوات. حلقة وكيل خارجة عن السيطرة تستدعي أداة آلاف المرات قد تستنفد حصص API أو تتسبب في آثار جانبية غير مقصودة.
  7. تدقيق وتسجيل كل استدعاء أداة. ضمّن معرّفات الطلبات والطوابع الزمنية والنموذج المستدعي ومعاملات الأداة. ستحتاج هذا لتصحيح الأخطاء والاستجابة لحوادث الأمان.

تصحيح MCP: Inspector والتسجيل والأخطاء الشائعة

ستواجه أخطاء. كل مطور يواجه ذلك. إليك كيف تُصلحها بسرعة.

MCP Inspector هو أداة التصحيح الرسمية وخط دفاعك الأول. يتصل بأي خادم MCP ويكتشف أدواته/موارده/موجّهاته ويتيح لك استدعاءها يدوياً بينما يُظهر حركة JSON-RPC الخام.

bash
# تشغيل Inspector ضد خادم Python
npx @modelcontextprotocol/inspector python weather_server.py

# أو ضد خادم TypeScript
npx @modelcontextprotocol/inspector npx tsx weather-server.ts

يفتح Inspector واجهة مستخدم في المتصفح بتبويبات للأدوات والموارد والموجّهات ولوحة الإشعارات. يمكنك استدعاء أي أداة بمعاملات مخصصة ورؤية بالضبط JSON الذي يمر عبر الشبكة. استخدمه قبل الاتصال بتطبيق المضيف - أسهل بكثير تصحيح الخادم بمعزل.

الأخطاء الشائعة وإصلاحاتها

  • "الخادم غير موجود" في Claude Desktop - دائماً تقريباً مشكلة مسار في claude_desktop_config.json. تحقق مضاعفاً من أن command يُحلّل إلى ملف ثنائي حقيقي وأن cwd يُشير إلى الدليل الصحيح. في macOS، استخدم مسارات مطلقة.
  • فشل التحقق من صحة مخطط الأداة - إذا أرسل النموذج معاملات لا تتطابق مع inputSchema الأداة، يرفض الخادم الاستدعاء. تحقق من أن أنواع مخططك تتطابق مع ما يتوقعه النموذج. Zod (TypeScript) وتلميحات النوع (Python) تلتقط معظمها وقت التعريف.
  • انقطاع اتصال النقل - لـ stdio هذا يعني عادةً أن عملية الخادم تعطّلت. تحقق من مخرج stderr. لـ Streamable HTTP، تحقق من إعدادات المهلة - الأدوات طويلة التشغيل قد تتجاوز مهل HTTP الافتراضية.
  • أخطاء "رُفض الإذن" أو 401 - نطاق OAuth ضيّق جداً. الخادم يرفض الرمز لأنه لا يمتلك الأذونات المطلوبة. وسّع النطاق، لكن فقط بقدر ما تحتاجه الأداة فعلاً.

أفضل ممارسات التسجيل

نظّم سجلاتك بمعرّفات الطلبات حتى تتمكن من تتبع طلب مستخدم واحد عبر عميل MCP والخادم وأي APIs المصب. سجّل كل استدعاء tools/call باسم الأداة والمعاملات ووقت الاستجابة وحالة النتيجة. في الإنتاج، أرسل هذه السجلات إلى منصة رصد - عندما يسوء شيء في الثالثة صباحاً، ستسعد بأنك فعلت ذلك. تعرف أيضاً على دليل استدعاء الدوال في LLM.

كيف تبني Techsy مع MCP

نُدمج MCP في مشاريع العملاء منذ مطلع 2025، والنمط الذي نراه أكثر شيوعاً هو هذا: لدى الفريق ميزة ذكاء اصطناعي تعمل مع نموذج واحد وعدد من الأدوات، لكنهم يخططون للتوسع - نماذج أكثر، مصادر بيانات أكثر، قدرات وكيلية أكثر. هذه هي نقطة التحوّل التي يبدأ فيها MCP في أداء دوره.

نهجنا يتبع ثلاث خطوات:

  1. تقييم الملاءمة. ليس كل مشروع يحتاج MCP. إذا كنت تستدعي أداتين من نموذج واحد، فاستدعاء الدوال أبسط وسنخبرك بذلك. MCP منطقي عند ربط 3 مصادر بيانات أو أكثر، أو دعم نماذج متعددة، أو بناء سير عمل وكيلية حيث يجب اكتشاف الأدوات.
  2. بناء الخوادم واختبارها بمعزل. نُطوّر خوادم MCP مخصصة لكل مصدر بيانات - قواعد بيانات داخلية، واجهات API لـ SaaS، خدمات مملوكة - ونتحقق منها مع MCP Inspector قبل الاتصال بأي مضيف.
  3. النشر مع Streamable HTTP وOAuth 2.1. للإنتاج، نُشغّل خوادم MCP كخدمات مُحتواة خلف TLS، مع رموز OAuth محدودة النطاق وتسجيل منظّم من اليوم الأول. لا أسرار ثابتة.

التكاملات الأكثر شيوعاً التي نبنيها: ربط مساعدي الذكاء الاصطناعي بقواعد بيانات Postgres الداخلية، بناء خوادم MCP مخصصة لمنصات SaaS العملاء، وترحيل الفرق من إعدادات استدعاء الدوال المتفرقة إلى معمارية MCP مقنّنة.

هل تبني أدوات مدعومة بالذكاء الاصطناعي تحتاج للاتصال ببنيتك التحتية؟ نساعد الفرق في تصميم وتنفيذ تكاملات MCP. احصل على استشارة مجانية

الأسئلة الشائعة حول MCP

ما هو بروتوكول سياق النموذج (MCP)؟

MCP معيار مفتوح، أنشأته Anthropic في الأصل وتديره الآن Linux Foundation، يُعرّف كيفية اتصال نماذج الذكاء الاصطناعي بالأدوات الخارجية ومصادر البيانات والخدمات. يُقنّن طبقة التكامل بحيث يعمل خادم MCP واحد مع أي نموذج متوافق - كمقبس شامل للذكاء الاصطناعي.

كيف يعمل MCP؟

يستخدم MCP معمارية ثلاثية الأجزاء: تطبيق مضيف (مثل Claude Desktop أو Cursor)، عميل MCP داخل المضيف يدير الاتصالات، وخوادم MCP تكشف الأدوات والبيانات. يستخدم جميع التواصل رسائل JSON-RPC 2.0 عبر stdio (محلي) أو Streamable HTTP (بعيد).

ما استخدامات MCP؟

تشمل حالات الاستخدام الشائعة ربط مساعدي الذكاء الاصطناعي بقواعد البيانات (Postgres، MySQL)، التكامل مع منصات الكود (GitHub، GitLab)، الوصول إلى أدوات SaaS (Slack، Notion، Google Drive)، وبناء وكلاء ذكاء اصطناعي مستقلين يحتاجون للتفاعل مع الخدمات الحقيقية.

هل MCP هو نفسه استدعاء الدوال؟

لا. استدعاء الدوال خاص بالنموذج (تختلف صيغة OpenAI عن Anthropic) ولكل طلب - ترسل مخططات الأدوات مع كل استدعاء API. MCP بروتوكول مقنّن يعمل عبر النماذج ويدعم اكتشاف الأدوات ويتضمن الموارد والموجّهات ما وراء تنفيذ الدوال فحسب.

ما هي خوادم MCP؟

خوادم MCP برامج تكشف الأدوات والموارد والموجّهات لنماذج الذكاء الاصطناعي عبر بروتوكول MCP. تُغلّف واجهات API الخارجية ومصادر البيانات في واجهة مقنّنة. تشمل الأمثلة خادم GitHub MCP (لإدارة طلبات السحب والمشكلات) وخادم Postgres MCP (لاستعلامات قواعد البيانات).

كيف أبني خادم MCP؟

استخدم Python مع FastMCP (pip install fastmcp) أو TypeScript مع مجموعة أدوات التطوير الرسمية (npm install @modelcontextprotocol/sdk). عرّف أدواتك كدوال مزوّدة (Python) أو معالجات مسجّلة (TypeScript)، ثم شغّل الخادم. راجع قسم الشرح أعلاه للكود الكامل العملي.

هل MCP آمن؟

البروتوكول نفسه يدعم OAuth 2.1 للمصادقة والأذونات المحدودة النطاق. لكن بحث Astrix Security وجد أن 88% من تطبيقات خادم MCP الموجودة تعتمد على أسرار ثابتة عوضاً عن OAuth. البروتوكول آمن بالتصميم، لكن معظم عمليات النشر الحقيقية لم تلحق بعد.

أي نماذج لغوية تدعم MCP؟

Claude يمتلك دعم MCP أصلياً منذ إنشائه في نوفمبر 2024. ChatGPT أضاف الدعم في مارس 2025، وتبعه Gemini في أبريل 2025. يمكن للنماذج مفتوحة المصدر استخدام MCP عبر المحوّلات في LangChain وLlamaIndex.

ما الفرق بين MCP وREST API؟

صُمّمت REST APIs للتواصل العام بين الخدمات. صُمّم MCP خصيصاً للتفاعل مع نماذج الذكاء الاصطناعي - يتضمن اكتشاف الأدوات والتفاوض على المخطط والوصول إلى الموارد وقوالب الموجّهات التي لا تمتلكها REST. لن تستبدل REST APIs بـ MCP؛ إنهما يخدمان طبقات مختلفة.

من يُشرف على MCP الآن؟

Agentic AI Foundation (AAIF) التابعة لـ Linux Foundation، المُشكَّلة في ديسمبر 2025، تُحكم MCP. أسسها بالاشتراك Anthropic وBlock وOpenAI. هذه الحوكمة المحايدة من البائعين هي سبب رئيسي لتبني الشركات MCP.

ما هو Streamable HTTP في MCP؟

Streamable HTTP آلية نقل الإنتاج المُضافة في تحديث مواصفات MCP لعام 2025. تحلّ محل نقل HTTP+SSE القديم بتصميم أنظف: يرسل العملاء طلبات HTTP POST ويمكن للخوادم الاستجابة بشكل متزامن أو عبر بث SSE. يعمل خلف موازنات التحميل ويدعم مصادقة HTTP القياسية.

كم عدد خوادم MCP الموجودة؟

أشارت Linux Foundation إلى أكثر من 10,000 خادم نشط و97 مليون تنزيل شهري لمجموعات أدوات التطوير حين تبرّع بـ MCP لـ AAIF في ديسمبر 2025. يمتد النظام البيئي ليشمل قواعد البيانات وأدوات الكود وتكاملات SaaS ومحركات البحث ومزودي البنية التحتية السحابية.

الخلاصة

انتقل MCP من تجربة المصدر المفتوح لـ Anthropic إلى بروتوكول صناعي معياري لربط نماذج الذكاء الاصطناعي بالأدوات في أكثر من عام قليلاً. إليك ما يهم:

  • MCP يحل مشكلة M × N - خادم واحد يعمل مع كل نموذج متوافق، وعميل واحد يعمل مع كل خادم
  • يمكنك بناء خادم MCP يعمل في أقل من 50 سطراً من Python (FastMCP) أو TypeScript
  • استخدم stdio للتطوير، وStreamable HTTP للإنتاج - اختيار النقل بسيط
  • أمّن خوادمك بـ OAuth 2.1 - 88% من التطبيقات الحالية لا تفعل ذلك وهذه مخاطرة حقيقية
  • النظام البيئي جاهز للإنتاج - أكثر من 10,000 خادم، جميع النماذج اللغوية الكبرى، حوكمة محايدة تحت Linux Foundation

بالنظر إلى الأمام، تركّز خارطة طريق 2026 على التواصل بين الوكلاء عبر أولية Tasks جديدة، وأمان مؤسسي محسّن، وMCP Apps لواجهة مستخدم تفاعلية مدفوعة من الخادم. لم يعد MCP مجرد بروتوكول للوصول إلى الأدوات - إنه يتحول إلى طبقة البنية التحتية للذكاء الاصطناعي الوكيل.

ابدأ بكود الشرح أعلاه، اختبره في MCP Inspector، واربطه بـ Claude Desktop. ستمتلك تكامل MCP يعمل في أقل من ساعة.

المصادر

الوسوم

بروتوكول سياق النموذجmcpخادم mcpوكلاء الذكاء الاصطناعيشرح mcpمعمارية mcpfastmcpتطوير الذكاء الاصطناعي

شارك هذا المقال

مقالات ذات صلة

المزيد في ai-machine-learning

ai-machine-learning
Aug 29, 2026

أفضل وكلاء الذكاء الاصطناعي لخدمة العملاء: 8 أدوات مصنفة حسب التسليم لا الضجيج

ثمانية وكلاء ذكاء اصطناعي لخدمة العملاء مصنفون حسب جودة التسليم، وحسب ما إذا كان الروبوت يستشهد بمقال المصدر. أسعار حية سُحبت في 17 أغسطس 2026 من الصفحات الرسمية، وتشمل Intercom Fin وZendesk AI وChatbase وWeav وWatermelon وHeyy وAda وChipp.

8 دقائق قراءة قراءة
اقرأ
ai-machine-learning
Aug 22, 2026

أفضل منشئي المواقع بالذكاء الاصطناعي: قارنا 8 وننشر 2

خطة Framer Basic بسعر 10$/شهر هي الخيار الافتراضي لموقع وكالة من صفحة واحدة بين أفضل منشئي المواقع بالذكاء الاصطناعي التي قيّمناها في 17 أغسطس 2026. وDurable أسرع وصولًا إلى رابط منشور. أما Webflow فهي الوجهة عندما تكون الحاجة تحكمًا بمستوى Designer.

8 دقائق قراءة قراءة
اقرأ
ai-machine-learning
Aug 12, 2026

Grok 4.6 مقابل Grok 4.5: أجرينا 80 استدعاء API يوم الإطلاق – نتيجة متطابقة 40/40 بفاتورة 1.38×

أطلقت SpaceXAI نموذج Grok 4.6 في 12 أغسطس 2026 بنفس بطاقة أسعار Grok 4.5 وهي `$2/$6`. أرسلنا 80 استدعاء API متطابقًا إلى النموذجين في اليوم نفسه: تعادلت الدقة عند `40/40`، بينما استهلك النموذج الأحدث 1.90× من متوسط رموز الإخراج وكلّف 1.38× من المال.

8 دقائق قراءة قراءة
اقرأ
ابدأ مشروعك

هل أنت مستعد لبناء شيء استثنائي؟

دعنا نحول رؤيتك إلى واقع. فريقنا جاهز لمساعدتك في إنشاء برمجيات تصنع الفرق.