دليل البقاء لإصدار MCP المرشح (Release Candidate)
يُعد إصدار MCP المرشح أكبر تحديث منذ إطلاق البروتوكول. إنه اختبار لكل من يقوم ببناء العملاء (clients)، والخوادم (servers)، والأدوات (tools). ستصل النسخة النهائية في 28 يوليو 2026. استغل هذا الوقت للعثور على مشكلات الانتقال (migration issues).
التغيير الأكبر هو أن MCP أصبح الآن عديم الحالة (stateless).
إذا كان تنفيذك يستخدم معرفات الجلسة (session IDs) أو خطوات التهيئة (initialization steps)، فيجب عليك تغيير الكود الخاص بك. يحمل كل طلب الآن بيانات الإصدار والقدرات (capability data) في البيانات الوصفية (metadata).
يساعد هذا التغيير البنية التحتية؛ حيث يمكن لموازنات الحمل (Load balancers) إرسال الطلبات إلى أي مثيل للخادم (server instance)، ولا يحتاجون إلى إبقاء الاتصال مفتوحاً مع خادم محدد.
كيفية التعامل مع الحالة:
- لا تخفِ الحالة داخل الاتصال.
- انقل الحالة إلى معالج التطبيق (application handle).
- اجعل الأداة تُرجع معرفاً مثل
basket_id. - يمكن للنموذج (model) تمرير هذا المعرف مرة أخرى في الاستدعاء التالي.
تتغير أيضاً الطلبات التي يبدأها الخادم (Server-initiated requests). لا يمكن للخادم بدء طلب إلا أثناء معالجته لاستدعاء من العميل. إذا احتاج الخادم إلى مزيد من المعلومات، فإنه يُرجع InputRequiredResult. بعد ذلك، يعيد العميل محاولة الاستدعاء باستخدام البيانات الجديدة.
تطبيقات MCP أصبحت هنا. يمكن للخوادم الآن توفير واجهات HTML. تقوم المضيفات (Hosts) بعرض هذه الواجهات في iframes معزولة (sandboxed). هذا يحسن تجربة المستخدم ولكنه يتطلب أماناً صارماً.
أصبحت عملية التفويض (Authorization) الآن أكثر صرامة.
- استخدم OAuth 2.0 و OpenID Connect.
- يجب على العملاء التحقق من معامل المصدر (issuer parameter).
- يجب على خوادم التفويض إرسال معامل المصدر الآن.
ميزات سيتم إيقافها (Deprecations) يجب الانتباه إليها:
- سيتم إيقاف Roots و Sampling و Logging.
- لا تزال تعمل في الوقت الحالي، ولكن لا تستخدمها في المشاريع الجديدة.
- انقل roots إلى معاملات الأداة (tool parameters).
- انقل sampling إلى واجهات برمجة التطبيقات (APIs) المباشرة لمزود النموذج.
- انقل logging إلى OpenTelemetry أو stderr.
تحديثات المخطط (Schema updates):
- تستخدم مخططات الأدوات الآن JSON Schema 2020-12 كاملاً.
- يمكنك استخدام منطق معقد مثل
oneOfأوanyOf. - يجب على الخوادم تحديد عمق المخطط لتجنب الأخطاء.
- قم بتحديث معالجة الأخطاء لديك. يستخدم خطأ "المورد المفقود" (missing resource error) الآن رمز JSON-RPC القياسي
-32602.
إذا وجدت مشكلات، فقم بفتح "issue" في مستودع المواصفات (specification repository) أو اسأل في قناة المساهمين على Discord.
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
