البرمجة وتطوير البرمجيات

مايكروسوفت تطلق الإصدار 2.0 من حزمة MCP الرسمية لـ C#

يأتي الإصدار الجديد متوافقاً مع مواصفة MCP المؤرخة 2026-07-28، مع اعتماد نمط عديم الحالة افتراضياً، وتوحيد ترويسات HTTP، ودعم الطلبات متعددة الجولات للتعامل مع الأدوات التفاعلية. ويحافظ الإصدار على توافق واسع مع الشيفرات والعملاء والخوادم السابقة، مع استثناء امتداد Tasks التجريبي.

28 يوليو 2026
4 دقائق قراءة
217 قراءة
certi.news Editorial Team
مايكروسوفت تطلق الإصدار 2.0 من حزمة MCP الرسمية لـ C#

أعلنت Microsoft إصدار 2.0 من حزمة تطوير البرمجيات الرسمية لـ MCP بلغة C#، بالتزامن مع تطبيق مواصفة 2026-07-28. يغيّر الإصدار طريقة تشغيل خوادم MCP عبر HTTP بجعلها عديمة الحالة افتراضياً، ويضيف ترويسات HTTP موحدة، ويدعم الطلبات متعددة الجولات التي تتيح للأدوات طلب مدخلات من المستخدم أو نموذج اللغة من دون الاعتماد على جلسة مستمرة.

ويستهدف الإصدار المطورين الذين يبنون خوادم وعملاء MCP على .NET، مع الحفاظ على عمل واجهات برمجة التطبيقات المستقرة في الإصدار 1.x، ودعم أطر net8.0 وnet9.0 وnet10.0، إضافة إلى netstandard2.0 للاستخدام مع .NET Framework.

خوادم عديمة الحالة افتراضياً

في الإصدارات السابقة، كان استخدام Streamable HTTP يتطلب إتمام مصافحة التهيئة وإنشاء جلسة، ثم إرسال ترويسة Mcp-Session-Id مع كل طلب لاحق. وكان ذلك يربط الطلبات بمثيل الخادم الذي أصدر المعرّف، ما يستلزم التوجيه الثابت أو نقل الجلسات عند تشغيل عدة مثيلات.

تلغي مواصفة 2026-07-28 مصافحة initialize وinitialized وترويسة Mcp-Session-Id، وتنقل إصدار البروتوكول والقدرات ضمن كل طلب. ونتيجة لذلك، يمكن لأي مثيل خادم معالجة أي طلب، من دون الحاجة إلى جلسات ثابتة أو مخازن جلسات مشتركة على مستوى البروتوكول. ويجعل ذلك نشر خوادم MCP ضمن بيئات serverless أو متعددة المثيلات أو الحافة أقرب إلى تشغيل تطبيق ASP.NET Core عادي خلف موازن أحمال.

يصبح الخيار HttpServerTransportOptions.Stateless مضبوطاً على true افتراضياً في الإصدار 2.0، مع إمكانية تفعيل الوضع ذي الحالة عند الحاجة إلى رسائل غير مطلوبة من الخادم إلى العميل أو إلى حالة نقل مرتبطة بالجلسة. وتظل الجلسات خياراً متاحاً، لكنها لم تعد الإعداد الأساسي.

ترويسات HTTP للتوجيه والمراقبة

يحوّل النمط عديم الحالة طلب MCP إلى طلب HTTP POST مكتفٍ بذاته، ما يسمح للبنية التحتية المعتادة بالتعامل معه مثل أي حركة HTTP أخرى. وتتيح المواصفة ترويسات مثل Mcp-Method وMcp-Name، إلى جانب إمكانية ترقية بعض معاملات الأداة إلى ترويسات من نمط Mcp-Param-*.

يمكن لموازن الأحمال أو الوكيل أو البوابة أو جدار حماية تطبيقات الويب استخدام هذه الترويسات للتوجيه والمراقبة من دون تحليل جسم طلب JSON-RPC. ويظل جسم الطلب هو المصدر الموثوق؛ فإذا اختلفت قيمة الترويسة عن القيمة الموجودة في الجسم، يرفض الخادم الطلب بخطأ HeaderMismatch. كما يدعم التصميم ترميز القيم غير المدعومة في الترويسات، مثل القيم غير ASCII، باستخدام مؤشر Base64.

طلبات متعددة الجولات للأدوات التفاعلية

تضيف ميزة Multi Round-Trip Requests، أو MRTR، طريقة للتعامل مع الأدوات التي لا تستطيع إتمام عملها خلال استدعاء واحد. فبدلاً من أن يتصل الخادم بالعميل عبر جلسة حية أثناء تنفيذ الطلب، يعيد نتيجة من نوع InputRequiredResult تتضمن طلبات الإدخال وحالة غير شفافة باسم requestState.

ينفذ العميل المطلوب، مثل طلب تأكيد من المستخدم أو استدعاء نموذج لغوي أو عرض جذور مساحات العمل، ثم يعيد إرسال استدعاء الأدوات نفسه مرفقاً بـ inputResponses وrequestState. ويمكن تكرار العملية لعدة جولات، فيما تنتقل معلومات الاستمرارية داخل الحمولة، ولذلك لا تحتاج العملية إلى جلسة.

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

التوافق والحزم المتاحة

تستمر واجهات 1.x المستقرة وغير المتقادمة في الترجمة والتنفيذ ضمن 2.0، بينما تظهر التغييرات المتقادمة على شكل تحذيرات لا عمليات حذف. ويستطيع عميل 2.0 استخدام مصافحة التهيئة القديمة عند الاتصال بخادم أقدم، كما يقبل خادم 2.0 تلك المصافحة من عميل قديم.

الاستثناء الوحيد في توافق البروتوكول هو امتداد Tasks؛ إذ يحل تصميمه المعاد في 2.0 محل Tasks التجريبي الموجود في مواصفة 2025-11-25، وهو غير متوافق معه على مستوى الواجهة أو البروتوكول. وتتوفر Tasks الآن ضمن الحزمة المنفصلة ModelContextProtocol.Extensions.Tasks، بينما تأتي MCP Apps التجريبية ضمن ModelContextProtocol.Extensions.Apps.

تضم الحزم الأساسية ModelContextProtocol.Core للعميل والمكونات منخفضة المستوى، وModelContextProtocol لمعظم الخوادم، وModelContextProtocol.AspNetCore لخوادم Streamable HTTP. ويشير المنشور إلى أن التركيز التالي في سلسلة 2.x سيكون المصادقة والتفويض الشاملين، بالاستناد إلى توافق أوثق مع OAuth وOpenID Connect.

مصدر الخبر
كيف أعددنا هذا الخبر؟

اعتمد الخبر على المصدر الأصلي الموضح أعلاه. قد نستخدم أدوات آلية للمساعدة في الاستخراج والتصنيف والصياغة، لكن النشر يخضع لقواعد تمنع المحتوى المكرر والقصير أو الروتيني منخفض القيمة. اقرأ سياستنا التحريرية.

c
كاتب المقال

certi.news Editorial Team

certi.news Editorial Team

The certi.news editorial team monitors technical sources and reconstructs news, verifying facts and context prior to publication.

ما الذي تحتاج معرفته

أطلقت Microsoft الإصدار 2.0 من حزمة MCP الرسمية للغة C#، مع اعتماد النقل عديم الحالة افتراضياً ودعم الطلبات متعددة الجولات للأدوات التفاعلية. يحافظ الإصدار على توافق واسع مع واجهات 1.x، مع عدم توافق امتداد Tasks التجريبي القديم.

  • يجعل الإصدار 2.0 خوادم MCP العاملة عبر HTTP عديمة الحالة افتراضياً، ما يلغي الحاجة إلى جلسات ثابتة أو مخازن جلسات مشتركة على مستوى البروتوكول.
  • أضيفت ترويسات HTTP موحدة مثل Mcp-Method وMcp-Name، مع رفض الطلب إذا تعارضت الترويسة مع القيمة الموجودة في جسم JSON-RPC.
  • تتيح ميزة MRTR تنفيذ الأدوات التفاعلية عبر جولات متعددة باستخدام InputRequiredResult وrequestState، من دون جلسة مستمرة.
  • تدعم الحزمة أطر net8.0 وnet9.0 وnet10.0 وnetstandard2.0، وتحافظ واجهات 1.x المستقرة على الترجمة والتنفيذ مع ظهور التغييرات المتقادمة كتحذيرات.
  • امتداد Tasks في الإصدار 2.0 غير متوافق مع Tasks التجريبي في مواصفة 2025-11-25، ويتوفر الآن في حزمة منفصلة.

أسئلة شائعة

ما الإعداد الافتراضي الجديد لخوادم MCP عبر HTTP؟

أصبح الخيار HttpServerTransportOptions.Stateless مضبوطاً على true افتراضياً، مع بقاء الوضع ذي الحالة متاحاً عند الحاجة.

هل يتوافق الإصدار 2.0 مع العملاء والخوادم الأقدم؟

نعم، يستطيع عميل 2.0 استخدام مصافحة التهيئة القديمة مع خادم أقدم، كما يقبل خادم 2.0 المصافحة من عميل قديم. لكن العميل الأقدم عديم الجلسة لا يستطيع تنفيذ التفاعل متعدد الجولات.

ما الحزم الأساسية المتاحة؟

تشمل ModelContextProtocol.Core للمكونات منخفضة المستوى، وModelContextProtocol لمعظم الخوادم، وModelContextProtocol.AspNetCore لخوادم Streamable HTTP.

من نفس التصنيف

مقالات قد تهمك

عرض كل الأخبار