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

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

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

بروتوكول سياق النموذج (Model Context Protocol) من Anthropic، الذي تم تقديمه في نوفمبر 2024 ونُشر كمعيار مفتوح، يحاول حل هذه المشكلة بالطريقة نفسها التي حل بها USB مشكلة توصيل الأجهزة الطرفية: تعريف بروتوكول واحد محدد جيدًا يمكن لكل أداة وكل نموذج تنفيذه مرة واحدة، وجعلها تتعاون تلقائيًا.

ما هو MCP في الواقع

MCP هو بروتوكول خادم-عميل مبني على JSON-RPC 2.0. يكشف خادم MCP عن إمكانيات — أدوات، موارد، واستفسارات (Prompts) — يمكن لعميل MCP (عادة تطبيق ذكاء اصطناعي أو بيئة تشغيل LLM) اكتشافها واستدعائها. يعرّف البروتوكول ثلاثة أنواع أساسية من الإمكانيات:

الأدوات (Tools) هي دوال يمكن للذكاء الاصطناعي استدعاءها: البحث في الويب، الاستعلام عن قاعدة بيانات، تشغيل أمر شل، إرسال بريد إلكتروني، إنشاء ملف. الأداة لها اسم، ووصف (باللغة الطبيعية، يستخدمه النموذج لتحديد متى يستدعيها)، ومخطط JSON (JSON Schema) يحدد مدخلاتها. يستدعي النموذج الأداة بإصدار رسالة منظمة لاستخدام الأداة (tool-use)؛ يقوم عميل MCP بتوجيه الاستدعاء إلى الخادم المناسب؛ يتم إرجاع النتيجة وإضافتها إلى سياق النموذج.

الموارد (Resources) هي بيانات يمكن للذكاء الاصطناعي قراءتها: ملفات، صفوف قاعدة بيانات، استجابات API، مستندات. على عكس الأدوات، الموارد للقراءة فقط ويمكن معالجتها عبر URI. قد يكشف خادم الموارد عن file:///home/user/project/README.md أو postgres://db/schema/users. يمكن للعميل جلبها عند الحاجة وإدراجها في نافذة سياق النموذج.

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

النقل (Transport) مرن: المواصفات الحالية تدعم stdio (للأدوات المحلية التي تعمل كعمليات فرعية) وSSE (أحداث يرسلها الخادم، للخوادم البعيدة القائمة على HTTP). مسودة نقل WebSocket قيد الإعداد. هذا يعني أن خادم MCP يمكن أن يكون سكريبت بايثون محليًا يعمل بجانب بيئة التطوير IDE، أو API بعيد يعمل في دالة سحابية، أو أي شيء بينهما.

قصة التبني

انطلق MCP مع تطبيق Claude Desktop من Anthropic كأول عميل، ومجموعة من تطبيقات الخادم المرجعية للتكاملات الشائعة: الوصول إلى نظام الملفات، البحث في الويب، GitHub، Slack، PostgreSQL، والعديد غيرها. كان الاستقبال الأولي في الغالب في مجتمع المطورين الذين يبنون إضافات لـ Claude Desktop وClaude Code (عامل البرمجة من Anthropic).

تغير وضع البروتوكول بشكل جوهري في مارس 2025 عندما أعلنت OpenAI أنها تتبنى MCP كمعيار تكامل مدعوم عبر واجهة API ومنتجاتها. كان الإعلان ملحوظًا لأن OpenAI كان لديها تنسيق استدعاء أدوات خاص بها – اختارت الشركة صراحةً تبني المعيار المفتوح الحالي بدلاً من توسيع معيارها الخاص. تبعتها جوجل في مايو 2025، معلنة دعم MCP في Gemini API وفي إطار عمل وكيل الذكاء الاصطناعي لأندرويد. قامت مايكروسوفت بدمج MCP في Copilot Studio وGitHub Copilot في يونيو 2025.

بحلول منتصف 2026، يحتوي نظام MCP البيئي على أكثر من 3000 تطبيق خادم مجتمعي مسجل في السجل الرسمي، تغطي كل شيء من تكاملات Jira وLinear إلى إدارة كتلة Kubernetes إلى البحث في الأدبيات الطبية. جميع مزودي API LLM الرئيسيين يدعمون استدعاءات أدوات MCP كتنسيق إدخال رسمي إلى جانب صيغة استدعاء الأدوات الأصلية الخاصة بهم.

كيف يبدو في الممارسة

تحسنت تجربة المطور في إضافة MCP إلى التطبيق بشكل كبير منذ الإطلاق الأولي. حزمة @modelcontextprotocol/sdk لجافا سكريبت/TypeScript ومكتبة بايثون mcp تدير القوالب البروتوكولية؛ كتابة خادم MCP لأداة جديدة تتضمن عادةً تعريف عدد قليل من تواقيع الدوال مع تعليقات النوع ووصف باللغة الطبيعية.

يبدو خادم MCP بايثون الأدنى الذي يكشف أداة للاستعلام عن قاعدة المعرفة الداخلية لشركة كما يلي تقريبًا:

from mcp.server import Server
from mcp.server.models import InitializationOptions
import mcp.types as types

server = Server("company-kb")

@server.list_tools()
async def list_tools() -> list[types.Tool]:
    return [types.Tool(
        name="search_knowledge_base",
        description="Search the company knowledge base for policies, procedures, and documentation.",
        inputSchema={"type": "object", "properties": {
            "query": {"type": "string", "description": "The search query"}
        }, "required": ["query"]}
    )]

@server.call_tool()
async def call_tool(name: str, arguments: dict) -> list[types.TextContent]:
    if name == "search_knowledge_base":
        results = await kb_search(arguments["query"])
        return [types.TextContent(type="text", text=results)]

يمكن لأي تطبيق ذكاء اصطناعي متوافق مع MCP — Claude Desktop، تطبيق مخصص يستخدم SDK Anthropic، إضافة GitHub Copilot — اكتشاف هذه الأداة واستخدامها تلقائيًا بمجرد تسجيل الخادم.

النموذج الأمني

خصائص الأمان في MCP هي اعتبار حاسم لأي نشر جاد. البروتوكول نفسه مستقل عن النقل ولا يتضمن مصادقة مدمجة — وهذا يُترك لتنفيذ الخادم وبيئة النشر. بالنسبة لخوادم stdio المحلية (التي تعمل على جهاز المستخدم، ويتم تشغيلها بواسطة تطبيق العميل)، هذا عادةً ما يكون مقبولاً: الخادم له نفس صلاحيات المستخدم الذي قام بتشغيله. بالنسبة لخوادم SSE البعيدة، تكون المصادقة مسؤولية مشغل الخادم.

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

لماذا هو مهم للنظام البيئي

قبل MCP، كان كل تكامل ذكاء اصطناعي تكاملًا مخصصًا. بناء موصل بين Claude وأدواتك الداخلية يتطلب كودًا مختلفًا عن بناء نفس الموصل لـ ChatGPT أو Gemini. خلق هذا عملًا مكررًا ونظامًا بيئيًا مجزأ حيث كل نموذج جديد يتطلب إعادة تنفيذ كل تكامل موجود.

التأثير العملي لـ MCP هو أن تطبيقات الأدوات أصبحت الآن قابلة لإعادة الاستخدام عبر النظام البيئي للذكاء الاصطناعي بأكمله. شركة تبني خادم MCP لوثائقها الداخلية — مرة واحدة — تحصل على هذا التكامل يعمل مع Claude وChatGPT وGemini وCopilot وأي نموذج مستقبلي يدعم البروتوكول. هذا هو نفس تأثير الشبكة الذي جعل USB متينًا جدًا: قيمة المعيار تزداد مع زيادة عدد الأجهزة والأجهزة الطرفية التي تدعمه.

البروتوكول لا يزال شابًا وسيتطور — المواصفات الحالية هي v0.9 مع توقع نهائي v1.0 في أواخر 2026. لكن مسار تبنيه يشير إلى أنه تجاوز العتبة من "معيار مفتوح مثير للاهتمام" إلى "بنية تحتية فعلية". إذا كنت تبني تطبيقات مدعومة بالذكاء الاصطناعي في 2026 ولم تقم بمراجعة استراتيجية تكامل أدواتك مقابل MCP، فقد حان الوقت الآن للقيام بذلك.

مشاركة:
بروتوكول سياق النموذج (MCP): المعيار المفتوح الذي يصبح بمثابة USB-C لدمج أدوات الذكاء الاصطناعي | AIO APEX