ما هو خادم MCP؟ المعنى والأمثلة وطريقة العمل

خادم MCP هو برنامج صغير يمنح تطبيق الذكاء الاصطناعي وصولًا مُتحكَّمًا به إلى الملفات وقواعد البيانات والأدوات عبر بروتوكول سياق النموذج (Model Context Protocol). يشرح هذا المقال المصطلح، ويتتبع طلبًا واحدًا خطوة بخطوة، ويعرض أمثلة حقيقية، وينتهي بخادم قصير بلغة TypeScript يمكنك تشغيله اليوم.

ما هو خادم MCP؟ المعنى والأمثلة وطريقة العمل
Cristian Da Conceicao
مؤسس Picasso IA

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

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

ماذا يعني خادم MCP فعليًا

تعني MCP Model Context Protocol، وهو معيار مفتوح أطلقته Anthropic في نوفمبر 2024. البروتوكول مجرد طريقة متفق عليها للتخاطب. خادم MCP هو أي برنامج يتبع هذه القواعد من جهة المزوّد: يعلن ما يستطيع فعله، وينتظر الطلبات، ويعيد النتائج بصيغة متوقعة. تدعم MCP الآن منتجات من Anthropic وOpenAI وGoogle وMicrosoft، وتوجد آلاف الخوادم المجتمعية لكل شيء من مستودعات Git إلى التقاويم.

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

MCP بلغة بسيطة

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

عامل مقسم هاتف يوصل سلكًا بمقبس، الصورة الكلاسيكية لتوجيه الاتصالات

💡 تعريف سريع: خادم MCP برنامج يسرد الأدوات والبيانات وقوالب الأوامر التي يقدّمها، ويتيح لتطبيق الذكاء الاصطناعي استدعاءها عبر صيغة رسائل واحدة وموحّدة.

مقارنة USB-C

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

حاسوب محمول مع موزّع USB-C يربط كاميرا وقرصًا صلبًا وشاشة وهاتفًا

كيف يعمل خادم MCP

تظهر ثلاثة أدوار في كل إعداد من إعدادات MCP، وإدراكها بوضوح يزيل معظم الالتباس.

المضيف والعميل والخادم

مهندس معماري يرسم ثلاثة صناديق متصلة على لوح أبيض ليوضح كيف تتواصل المكونات

الدورما هومثال
المضيفتطبيق الذكاء الاصطناعي الذي يتحدث معه المستخدمClaude Desktop وCursor وVS Code
العميلموصّل داخل المضيف يحتفظ باتصال واحد بخادم واحديُنشأ تلقائيًا بواسطة المضيف
الخادمالبرنامج الذي يعرض الأدوات أو البيانات أو قوالب الأوامرخادم نظام الملفات، خادم قاعدة البيانات

ينشئ المضيف عميلًا واحدًا لكل خادم. إذا وصلت خمسة خوادم، يشغّل تطبيقك خمسة عملاء، لكل منها خط خاص بخادمه. تنتقل الرسائل بصيغة JSON-RPC 2.0، وهي صيغة خفيفة للطلب والاستجابة موجودة منذ سنوات. لا شيء غريب هنا.

ماذا يحدث في طلب واحد

إليك مسار سؤال واحد، ما الفواتير المتأخرة؟، عبر مضيف متصل بخادم محاسبة:

  1. المصافحة. عند بدء المضيف، يرسل العميل initialize. يتفق العميل والخادم على إصدار البروتوكول ويتبادلان قدراتهما.
  2. سرد الأدوات. يستدعي العميل tools/list. يرد الخادم بكل أسماء الأدوات، ووصف بسيط لكل منها، ومخطط JSON Schema للمدخلات.
  3. القرار. يقرأ النموذج سؤالك مع أوصاف الأدوات، ويقرر أن list_overdue_invoices هي الخطوة الصحيحة.
  4. الموافقة. تعرض معظم المضيفات الاستدعاء وتسألك قبل تشغيل أي شيء يغيّر البيانات.
  5. التنفيذ. يرسل العميل tools/call مع اسم الأداة والوسائط. الخادم يقوم بالعمل الفعلي، مثل تشغيل استعلام SQL.
  6. الإجابة. يعيد الخادم النتيجة، ويقرأها النموذج ويكتب ردًا طبيعيًا.

الاستدعاء في الخطوة 5 رسالة JSON صغيرة:

{
  "jsonrpc": "2.0",
  "id": 7,
  "method": "tools/call",
  "params": {
    "name": "list_overdue_invoices",
    "arguments": { "days_overdue": 30 }
  }
}

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

النقل المحلي مقابل النقل عن بُعد

النقل هو القناة التي تحمل رسائل JSON تلك. يعرّف MCP نوعين قياسيين.

النقلمكان تشغيل الخادمالأنسب لـالمفاضلة
stdioعلى جهازك، يشغّله المضيف كعملية فرعيةالأدوات الشخصية، الوصول إلى الملفات، التطويرمستخدم واحد، ويجب تثبيته محليًا
Streamable HTTPعند عنوان ويب، محلي أو بعيدخوادم الفرق المشتركة، المنتجات المستضافةيحتاج إلى مصادقة واستضافة

تتواصل الخوادم التي تستخدم stdio عبر الإدخال والإخراج القياسيين، لذلك لا يوجد منفذ شبكة يمكن مهاجمته. وتستطيع خوادم Streamable HTTP خدمة مستخدمين كثيرين في الوقت نفسه، ولهذا تنشرها شركات البرمجيات. تذكر الدروس القديمة نقل HTTP+SSE، لكن المواصفة الحالية استبدلته بنقل Streamable HTTP.

ممر ضيق بين رفوف خوادم عالية في مركز بيانات هادئ

ما الذي يمكن أن يقدّمه الخادم

الأدوات والموارد والأوامر

يعرض خادم MCP حتى ثلاثة أنواع من اللبنات الأساسية.

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

تحظى الأدوات بمعظم الاهتمام لأنها تتيح للذكاء الاصطناعي أن يفعل أشياء. الموارد أهدأ لكنها مفيدة بالقدر نفسه: تغذي السياق في المحادثة دون استدعاء أداة. وتعمل الأوامر مثل أوامر الشرطة المائلة التي يوفرها الخادم بنفسه.

لماذا تهم الأوصاف كثيرًا

يختار النموذج الأدوات بقراءة أسمائها وأوصافها، ولا شيء غير ذلك. أداة اسمها run ووصفها "يفعل أشياء" ستُستخدم خطأً أو تُتجاهل. أما أداة اسمها search_invoices ووصفها "ابحث عن الفواتير حسب اسم العميل أو الحالة أو نطاق التاريخ. تعيد ما يصل إلى 20 نتيجة" فستُختار في اللحظة المناسبة.

يعتمد تصميم الأداة الجيد على أربع عادات:

  • سمِّ الأداة بفعل واسم، مثل create_ticket أو list_branches.
  • صرّح بما ستعيده، لا بما تفعله فقط.
  • اجعل المدخلات صغيرة ومحددة النوع، واستخدم خيارات ثابتة كلما أمكن.
  • أعد الأخطاء كنص مقروء، حتى يتمكن النموذج من تصحيح مدخلاته وإعادة المحاولة.

💡 نصيحة: إذا ظل المساعد يختار الأداة الخاطئة، أعد كتابة الوصف قبل المساس بأي شيفرة. عمليًا، هذا يحل معظم حالات الالتباس.

أمثلة حقيقية لخوادم MCP

أسرع طريقة لاستيعاب الفكرة هي النظر إلى ما يشغّله الناس فعلًا.

خوادم نظام الملفات

أمين محفوظات بقفازات قطنية يسحب ملفًا مُعنونًا من خزانة معدنية

يتيح خادم نظام الملفات المرجعي للمساعد قراءة الملفات والبحث فيها وتعديلها داخل المجلدات التي تختارها. وجّهه إلى مجلد مشروع واطلب كل تعليقات TODO مجمّعة حسب الملف. الخادم يستطيع الوصول فقط إلى المجلدات التي حددتها، فيعمل المساعد داخل سياج رسمته أنت.

خوادم قواعد البيانات والبحث

تعرض خوادم قواعد البيانات أداة استعلام، وأحيانًا تخطيط الجداول كمورد. اسأل عن العملاء الثلاثة الذين كان إنفاقهم الأكبر في سبتمبر، فيكتب النموذج SQL، ويشغّله الخادم، وتعود الصفوف. كثير من الفرق يضبطونها للقراءة فقط عن قصد. تعمل خوادم البحث والويب بالطريقة نفسها، فتمنح النموذج صفحات حديثة بدلًا من بيانات تدريب قديمة. وتربط خوادم شائعة أخرى GitHub وSlack وGoogle Drive وNotion وPostgres وأتمتة المتصفح.

خوادم توليد الصور والفيديو

مصمم يراجع شبكة من الصور الفوتوغرافية المولّدة على شاشة كبيرة في استوديو منزلي

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

يعمل PicassoIA وفق هذا النمط. تقع واجهة API الخاصة بالمطورين على https://api.picassoia.com/v1، وتستخدم رمز Bearer يبدأ بالقيمة pia_sk_. تتبع الطلبات أسلوب Replicate: تنشئ تنبؤًا، ثم تستعلم عنه بشكل دوري حتى ينتهي، ثم تجلب النتيجة. يمكن لكل حساب تشغيل 5 تنبؤات في الوقت نفسه. النماذج الأربعة نفسها متاحة عبر API وعبر موصل PicassoIA MCP:

تُدار اتصالات MCP من صفحة MCP في حسابك على PicassoIA، وتسرد صفحة الأسعار ما تتضمنه كل خطة. إذا كنت تفضّل صنع المقاطع يدويًا بدلًا من الاستعانة بمساعد، فنماذج مثل Seedance 2.0 وVeo 3.1 على بعد نقرة واحدة.

خادم نشر في الممارسة

أربعة زملاء يراجعون مسودة حول طاولة خشبية طويلة في مكتب مشرق

مثال آخر أقرب إلى واقعنا. يمكن لخادم نشر مدونة أن يعرض أربع أدوات: توليد صورة، والتحقق من أن عنوان URL المختصر متاح، وسرد نماذج الذكاء الاصطناعي المتاحة، وحفظ المقال النهائي في قاعدة بيانات. يستدعيها المساعد الذي أُعطي موضوعًا بالترتيب، ويعيد محاولة أي صورة تفشل، ويخزّن النتيجة. لم يكتب أحد "روبوت مقالات". النموذج ببساطة امتلك الأدوات الصحيحة ومهمة واضحة.

MCP مقابل واجهة API عادية

عادةً ما يغلّف خادم MCP واجهة API عادية، فلماذا نضيف طبقة إضافية؟ لأن القارئ مختلف. تُكتب واجهة REST API للمطورين الذين يقرؤون التوثيق. يُكتب خادم MCP لنموذج عليه أن يقرأ التوثيق أثناء التشغيل.

REST APIاستدعاء الدوالخادم MCP
مصمّمة من أجلالمطوريننموذج تطبيق واحدأي تطبيق ذكاء اصطناعي متوافق
العثور على الأدواتتوثيق مكتوب للبشرأدوات مكتوبة ثابتةً داخل كل تطبيقطلب tools/list مباشر
إعادة الاستخداميكتب كل تطبيق عميله الخاصيعيد كل تطبيق تعريف الدوالخادم واحد، ومضيفون كثيرون
الإعداد المعتاداستدعاءات HTTP في الشيفرةمخطط JSON في كل طلبإدخال إعداد في المضيف

لا يحل MCP محل استدعاء الدوال. يترجم المضيف قائمة أدوات الخادم إلى صيغة استدعاء الدوال التي يعرفها النموذج أصلًا. يوحّد MCP فقط مصدر تلك القائمة.

💡 قاعدة عامة: تبني تطبيقًا واحدًا بعدد قليل من الدوال الخاصة؟ يكفي استدعاء الدوال العادي. تريد القدرة نفسها في عدة مساعدين، أو تريد أن يوصلها زملاؤك؟ اكتب خادم MCP.

أسئلة أمنية تستحق الطرح

لقطة قريبة لقفل نحاسي مغلق على باب قفص خوادم من الفولاذ

خادم MCP شيفرة يمكن للذكاء الاصطناعي أن يشغّلها، وغالبًا خلفها بيانات اعتماد حقيقية. عامله كأي برنامج آخر يلمس حساباتك. خمسة أسئلة تكشف معظم المشكلات:

  • من كتبه؟ خادم من مؤلف مجهول يعمل بصلاحياتك. اقرأ الشيفرة المصدرية أو التزم بناشرين موثوقين.
  • ماذا يستطيع أن يصل إليه؟ امنح كل خادم أضيق وصول ممكن: مجلد واحد، أو دور قاعدة بيانات للقراءة فقط، أو رمز مقيّد بمستودع واحد.
  • من يوافق على الإجراءات؟ أبقِ رسائل التأكيد مفعّلة لكل ما يكتب أو يرسل أو يحذف.
  • أين تعيش الأسرار؟ ضع الرموز في متغيرات البيئة، لا في أوصاف الأدوات أو الأوامر أبدًا.
  • ماذا يقرأ؟ يمكن لصفحات الويب والرسائل والمستندات أن تخفي تعليمات موجّهة إلى النموذج، وهي مشكلة تُعرف بـ حقن الأوامر (prompt injection). الخادم الذي يجلب نصوصًا خارجية يستحق صلاحيات محكمة.

⚠️ انتبه: وصف الأداة نص يثق به النموذج. يمكن لخادم خبيث أن يخفي التعليمات داخله. اربط فقط الخوادم التي ترتاح لتثبيتها كبرنامج.

كيف تبني خادمك الخاص

منظر علوي لمطوّر يكتب على مكتب خشبي بجوار دفتر فيه صناديق مرسومة يدويًا

يتطلب بناء الخادم جهدًا أقل مما يتوقعه معظم الناس. تتوفر حزم SDK رسمية للغات TypeScript وPython وJava وC# ولغات أخرى عديدة. تنطبق الخطوات الثلاث نفسها عليها جميعًا: أنشئ خادمًا، وسجّل أداة، واربط نقلًا.

خادم أدنى بلغة TypeScript

يسجّل هذا المثال أداة واحدة تعد الكلمات وتقدمها عبر stdio. احفظه كوحدة ES.

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: "word-counter", version: "1.0.0" });

server.registerTool(
  "count_words",
  {
    description: "Count the words in a piece of text. Returns a single number.",
    inputSchema: { text: z.string() },
  },
  async ({ text }) => ({
    content: [
      { type: "text", text: String(text.trim().split(/\s+/).filter(Boolean).length) },
    ],
  })
);

await server.connect(new StdioServerTransport());

ابنِ الملف، ثم أضف مدخلًا واحدًا إلى ملف إعداد المضيف: اسمًا، والأمر node، ومسار الملف المبني. أعد تشغيل المضيف وسيظهر count_words في قائمة أدواته. اسأل "كم كلمة في هذه الفقرة؟" وسيستدعي المساعد شيفرتك بدلًا من التخمين.

الاختبار باستخدام Inspector

قبل إلقاء اللوم على النموذج، اختبر الخادم وحده. يفتح MCP Inspector الرسمي (npx @modelcontextprotocol/inspector node build/index.js) صفحة متصفح تستطيع فيها سرد الأدوات وملء الوسائط وقراءة الاستجابات الخام. إذا عمل هناك، فالمشكلة في إعداد المضيف أو في وصف الأداة.

جرّبه مع PicassoIA

تتحدث خوادم MCP في معظمها بالنص، ومع ذلك تنتهي كثير من سير العمل بصورة أو مقطع. ترتيب عمل جيد هو صياغة الفكرة بنموذج لغوي، ثم تحويلها إلى مرئيات. يتعامل PicassoIA Image مع الصور الفوتوغرافية، ويعدّلها PicassoIA Image Editor Pro ويعيد تشكيلها، ويحرّك PicassoIA Video النتيجة.

كيف تستخدم Claude Sonnet 5

نموذج يتعامل مع استخدام الأدوات والشيفرة شريك جيد لبناء الخادم أعلاه. إليك المسار السريع مع Claude Sonnet 5 على PicassoIA:

  1. افتح صفحة النموذج. انتقل إلى صفحة Claude Sonnet 5 على PicassoIA.
  2. اكتب الأمر النصي. هو الحقل الوحيد المطلوب. جرّب: "اكتب خادم MCP بلغة TypeScript فيه أداة واحدة تعيد تاريخ اليوم."
  3. اختر مستوى الجهد. الإعداد الافتراضي، low، سريع ورخيص. انتقل إلى high أو max عندما تمتد المهمة إلى عدة ملفات أو تخفي خللًا معقدًا.
  4. اضبط أمر النظام. مثلًا: "أنت مطور TypeScript أول. أعد شيفرة قابلة للتشغيل وجملة واحدة من الشرح." أعد استخدامه عبر المشروع كله.
  5. عدّل الحد الأقصى للتوكنات. الإعداد الافتراضي 8192، وهو كافٍ لملف خادم كامل. أرفق صورة، مثل لقطة شاشة لخطأ، إن ساعد. دقة الصورة القصوى الافتراضية 0.5 ميغابكسل للحفاظ على سرعة الطلبات.
  6. وَلِّد واختبر. شغّل الشيفرة عبر Inspector قبل الوثوق بها.

تستحق نماذج لغوية أخرى اختبارًا جنبًا إلى جنب: GPT 5.6 Terra للنص الجاهز للإنتاج، وGemini 3.5 Flash للإجابات السريعة، وKimi K2.6 لمهام على نمط الوكلاء.

أنشئ أول صورة لك اليوم

الآن تعرف ما يفعله خادم MCP، وكيف ينتقل الطلب عبره، وأين تختبئ المخاطر. أسرع طريقة لتلمس الفكرة هي استخدام أداة تعيد شيئًا يمكنك رؤيته. افتح Picasso IA، وصف مشهدًا واحدًا في جملة واحدة، ثم وَلِّده. بعدها شغّل الأمر النصي نفسه على نموذج ثانٍ وقارن النتائج. الأدوات الصغيرة القابلة للتبديل هي العادة التي يكافئها MCP، والصورة الأولى تستغرق أقل من دقيقة. جرّبها مع Picasso IA الآن وانظر إلى أين يقودك أمرك النصي.

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

اختر لغتك

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