Sat Jun 27 2026 20:00:00 GMT-0400 (北美东部夏令时间)

بروتوكول سياق النموذج (MCP): كيفية ربط الذكاء الاصطناعي بأدواتك

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

بروتوكول سياق النموذج (MCP): كيفية ربط الذكاء الاصطناعي بأدواتك

آخر تحديث: June 28, 2026

MCP — أو بروتوكول سياق النموذج (Model Context Protocol) — هو معيار مفتوح أصدرته Anthropic في أواخر عام 2024 لربط مساعدي الذكاء الاصطناعي والوكلاء بمصادر البيانات والأدوات الخارجية. فبدلاً من كتابة تكامل مخصص لكل نموذج ولكل أداة، ما عليك سوى تعريض خادم MCP واحد ويمكن لأي عميل متوافق مع MCP استخدامه. لقد قمت بتوصيل خادم نظام ملفات وخادم GitHub بـ Claude Code الأسبوع الماضي وكان الفرق فيما يمكن للوكيل فعله بالفعل فوريًا. يغطي هذا المنشور ما هو MCP، وكيف يعمل نموذج العميل-الخادم، وأنواع القدرات الأساسية، وكيفية تشغيل الخوادم في إعدادك الخاص.

إجابة سريعة: ما هو MCP؟

MCP هو بروتوكول يعتمد على JSON-RPC 2.0 يوحّد الاتصال بين تطبيق مضيف للذكاء الاصطناعي (وهو العميل الخاص بـ MCP، مثل Claude Desktop أو Claude Code) والخوادم الخارجية التي تعرض البيانات والإجراءات. يمكن لخادم MCP واحد أن يعلن عن ثلاثة أنواع من القدرات للعملاء:

  • Tools — هي وظائف يمكن للنموذج استدعاؤها (استعلام قاعدة بيانات، إرسال رسالة، البحث في مستودع).
  • Resources — بيانات منظمة يمكن للنموذج قراءتها (محتويات الملفات، استجابات API، السجلات).
  • Prompts — قوالب أوامر قابلة لإعادة الاستخدام ومُعاملة يمكن للمستخدم استدعاؤها.

الهدف هو إنشاء "منفذ USB-C لتكاملات الذكاء الاصطناعي": خادم واحد، وعملاء متعددون، وبدون غراء خاص بكل نموذج. المواصفات والحزم التطويرية (SDKs) مفتوحة المصدر ويتم صيانتها في modelcontextprotocol على GitHub، مع التوثيق الأساسي في modelcontextprotocol.io.

لماذا يوجد MCP؟

قبل MCP، كان كل تكامل أداة عملية منفصلة. إذا كنت تريد من مساعد قراءة مشكلاتك في GitHub والاستعلام أيضًا من Postgres، فكنت تكتب موصلين مخصصين، ثم تعيد كتابتهما عندما تقوم بتغيير النماذج أو المضيفات. الدافع المعلن لـ Anthropic هو إنهاء هذا التكرار باستخدام بروتوكول مشترك — تصف الوثائق الرسمية ذلك بأنه يمنح النماذج "وصولًا موحدًا" إلى الملفات وقواعد البيانات وواجهات برمجة التطبيقات المحلية.

هذا الإطار مهم بشكل خاص لسير العمل القائم على الوكلاء (agentic workflows). الوكيل الذي يمكنه الدردشة فقط هو روبوت محادثة؛ أما الوكيل الذي يمكنه قراءة مستودعك، وتشغيل استعلام، واستدعاء أداة في حلقة متكررة، فهو عامل فعلي. MCP هو البنية التحتية التي تجعل هذا النوع قابلاً للنقل. إذا كنت تريد الصورة الأوسع لكيفية ملاءمة هذا التصميم للوكلاء، فراجع منشورنا حول أتمتة وكلاء الذكاء الاصطناعي.

كيف يعمل نموذج العميل-الخادم؟

يتبع MCP طوبولوجيا المضيف-العميل-الخادم:

  • Host — هو التطبيق الذي يقوم المستخدم بتشغيله (Claude Desktop، Claude Code، إضافة IDE).
  • Client — يعيش داخل المضيف، ويحافظ على جلسة 1:1 مع خادم واحد.
  • Server — هي عملية تعرض القدرات عبر ناقل نقل معين.

يمكن للمضيف تشغيل العديد من العملاء، يتحدث كل منهم إلى خادم واحد. البروتوكول هو JSON-RPC 2.0، وبها ثلاث مراحل لدورة الحياة أقوم باختبارها في كل مرة أضيف فيها خادمًا جديدًا:

  1. Initialize — يرسل العميل إصدار البروتوكول والقدرات ومعلومات العميل؛ ويستجيب الخادم بإصداراته الخاصة.
  2. Capability negotiation — يعلن كلا الجانبين عما يدعمانه (الأدوات، الموارد، الأوامر، أخذ العينات، الجذور).
  3. Operation — يطلب العميل قوائم الأدوات، ويستدعي الأدوات، ويقرأ الموارد، ويقوم الخادم بتدفق النتائج مرة أخرى.

خيارات النقل (Transport options)

Transport Where it runs When I use it
stdio Local subprocess, communicates over stdin/stdout Local dev tools, filesystem, git — anything on my machine
Streamable HTTP Remote server over HTTPS with optional SSE streaming Shared team servers, cloud-hosted integrations
SSE (legacy) Remote, server-sent events Older servers being phased out; avoid for new builds

يعد stdio هو الافتراضي للإعداد المحلي وهو ما يستخدمه claude mcp add ما لم تقم بتمرير عنوان URL الخاص بـ HTTP. للحصول على شرح أعمق لـ claude mcp add وقرار stdio-vs-HTTP، راجع دليل تكامل Claude Code MCP.

A developer typing on a laptop while configuring a local MCP server in a terminal

ما هي أنواع القدرات الثلاثة، عمليًا؟

تكمن معظم قيمة MCP في أنواع القدرات الثلاثة. وإليك كيف يتصرف كل منها بالفعل عندما يستخدمه نموذج:

Tools (model-invoked)

الأدوات هي المحرك الأساسي. يقرر النموذج استدعاءها بناءً على المحادثة. قمت بتشغيل خادم يعرض أداة search_logs واستدعاها النموذج دون طلب مسبق بمجرد سؤالي "لماذا فشَر النشر في الساعة 2 صباحًا؟". تتضمن تعريفات الأدوات JSON Schema للوسائط، لذلك يحصل النموذج على مدخلات من نوع محدد ومتحقق منها.

Resources (app-controlled)

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

Prompts (user-invoked)

الأوامر هي قوالب ذات وسائط تظهر في واجهة المستخدم الخاصة بالمضيف كأوامر شرطة مائلة أو عناصر قائمة. إنها القدرة الأقل استخدامًا — أستخدمها لترميز "مراجعة طلب السحب هذا مقابل دليل الأسلوب الخاص بنا" حتى لا أضطر إلى لصق نفس التعليمات في كل مرة.

كيف تقوم بإعداد خادم MCP؟

إعداد ملموس، باستخدام Claude Code كمضيف. يعمل نفس إعداد الخادم في ملف JSON الخاص بـ Claude Desktop.

  1. تثبيت Node.js 20+ (أو Python 3.10+ مع uv).
  2. إضافة خادم مرجعي، مثل خادم نظام الملفات: npx -y @modelcontextprotocol/server-filesystem /Users/you/projects
  3. تسجيله في Claude Code: claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /Users/you/projects
  4. التحقق من الاتصال: claude mcp list ثم claude mcp get filesystem
  5. إعادة تشغيل المضيف والبحث عن أدوات الخادم في الجلسة.

هذه هي الدورة بأكملها. تغطي الخوادم المرجعية في منظمة GitHub نظام الملفات، وGit، وGitHub، وPostgres، وSQLite، وSlack، وGoogle Drive، وPuppeteer، والمزيد.

خادم مخصص بسيط (Python)

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("status")

@mcp.tool()
def healthcheck(service: str) -> str:
    """Return the current status of a service."""
    return f"{service}: ok"

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

لقد اختبرت هذا مقابل نقطة نهاية تجريبية في حوالي عشر دقائق، بما في ذلك توصيله بـ Claude Code. للحصول على أنماط أوسع لعرض الخدمات الداخلية كواجهات برمجة تطبيقات يمكن للوكلاء استدعاؤها، يغوص دليل تطوير API الخاص بنا بشكل أعمق في المصادقة وتحديد المعدل (rate-limiting).

كيف يبدو النظام البيئي في عام 2026؟

لقد تبلور النظام البيئي حول السجل الرسمي وعدد قليل من الخوادم المرجعية التي تتم صيانتها جيدًا. أحافظ على قائمة قصيرة بالتي أثق بها بالفعل في بيئة الإنتاج:

  • filesystem — قراءة/كتابة الملفات المحلية مع قيود الجذر (root restrictions).
  • github — المشكلات، طلبات السحب (PRs)، البحث، عمليات الملفات.
  • postgres / sqlite — للقراءة فقط بشكل افتراضي، وتفتيش المخطط (schema introspection).
  • puppeteer / playwright — أتمتة المتصفح للوكلاء.
  • slack — قراءة القنوات وإرسال الرسائل.
Capability Most-used server Default safety posture
File access filesystem Restricted to explicit roots
Code host github Read-heavy; writes require explicit config
Database postgres Read-only unless you opt in
Browser playwright Sandboxed profile
Messaging slack Channel-scoped tokens

لتنظيم خوادم متعددة خلف الوكلاء الفرعيين (subagents) — حيث يمتلك وكيل فرعي قاعدة البيانات، وآخر يمتلك المتصفح — يوضح منشورنا حول وكلاء Claude Code الفرعيين نمط الفريق.

ما الذي يجب أن تنتبه إليه؟

هذا هو الجزء الذي يتجاهله معظم المبتدئين. تعمل خوادم MCP باستخدام بيانات اعتمادك ووصول نظام الملفات الخاص بك، لذا فإن النطاق (scope) مهم.

  • عامل معاملة كل خادم كاعتمادية. ثبّت الإصدارات، وقم بتدقيق المصدر قبل تشغيل npx على مستودع غريب. يمكن لأداة ضارة أن تستخرج أي شيء يراه النموذج.
  • قيّد الجذور (roots). خادم نظام الملفات آمن بقدر الدليل الذي تشير إليه — لا تمرر أبدًا /.
  • فضل إعداد قواعد البيانات للقراءة فقط حتى يكون لديك سبب ملموس لتمكين الكتابة.
  • انتبه لحقن الأوامر (prompt injection). إذا أعادت الأداة محتوى يتصرف عليه النموذج بعد ذلك، يمكن أن يصبح الإدخال غير الموثوق به تعليمات. افترض أن أي مورد عدائي.
  • حدد نطاق رموز OAuth. يجب أن تكون رموز Slack وGitHub هي الحد الأدنى من النطاق الذي يحتاجه الخادم، وليس رمزك الشخصي.

أبدأ كل خادم جديد في حساب معزول وأراقب أول بضع استدعاءات للأدوات قبل الوثوق به في جلسة حقيقية.

Abstract circuit-board composition symbolizing the layered architecture of an MCP integration

الخلاصة الرئيسية (Key takeaway)

MCP هو بروتوكول صغير يحل مشكلة حقيقية: يسمح بخادم واحد بتعريض الأدوات والموارد والأوامر لأي مضيف ذكاء اصطناعي متوافق، مما يقضي على ضريبة التكامل N-times-M. الميكانيكا بسيطة — التهيئة، التفاوض، التشغيل عبر stdio أو HTTP — لكن الوضع الأمني هو الجزء الذي يحدد ما إذا كان ينتمي إلى سير عملك أم لا. قم بتشغيل الخوادم التي يمكنك تدقيقها، وقم بتحديد نطاق بيانات الاعتماد الخاصة بها بقوة، وافترض أن الإدخال غير الموثوق به عدائي. افعل ذلك، وسيكون MCP هي الطريقة الأنظف لتحويل مساعد إلى وكيل يمكنه فعليًا لمس أنظمتك.

Close-up of a hand placing a yellow 'How-To' sticky note on a whiteboard for planning.

حقوق صور (Image credits)

استخدم الأدوات المجانية أثناء متابعة الدليل.