دليل الدخل بالوكلاءموارد عامة مجانية
中文 EN العربية

العودة إلى الفهرس / موثوقية MCP

جعل استدعاءات أدوات MCP الطويلة تستجيب للإلغاء

مرّر الإلغاء من العميل إلى المهمة الطويلة ونظّف الموارد وأوقف العمل غير الضروري.

الهدف

عند إلغاء المستخدم لعملية أداة معلقة، أوقف الخادم سريعاً أو أنهها بأمان.

الخطوات

  1. حدّد مراحل الإدخال والإخراج أو الحساب الطويلة وعرّف الحالة الآمنة بعد الإلغاء. [mcp-cancel]
  2. في معالج @mcp.tool() غير المتزامن ضع التنظيف في finally وأحط التنظيف المنتظر بـ anyio.move_on_after(5, shield=True). [mcp-cancel]
  3. لأداة def عادية تعمل في خيط، استدعِ anyio.from_thread.check_cancelled() بين وحدات العمل؛ ويلغي العميل المهمة المنتظرة أو يترك مهلة القراءة تنتهي. [mcp-cancel]
  4. لا تفعّل json_response=True لاتصالات Streamable HTTP الحديثة أو stateless_http=True للقديمة؛ فكلاهما يمنع وصول الإلغاء إلى المعالج. [mcp-cancel]
  5. ألغِ مهمة اختبار بطيئة وتحقق من توقف المعالج وتحرير الموارد ووضع علامة الإلغاء على النتيجة. [mcp-cancel]

طريقة التحقق

بعد الإلغاء يعمل تنظيف async داخل `finally` ضمن حد الخمس ثواني، وتخرج أداة sync عند الفحص، وتسمح إعدادات HTTP بتمرير الإلغاء.

معالجة الأعطال

إذا تم تجاهل الإلغاء، فتحقق من تمرير رمز الإلغاء إلى عمليات الإدخال والإخراج اللاحقة.

الصلاحيات

المتطلبات السابقة

الصلاحيات

القيود

يختلف سلوك SDK باختلاف الإصدار. قارن المراجعة المثبتة بالوكيل أو العميل المستخدم، ثم راجع الاحتفاظ بالبيانات والتفويض والآثار الجانبية قبل الإنتاج.

المصدر الأصلي المثبت

https://github.com/modelcontextprotocol/python-sdk/blob/754254c08fe1c3eda18b69da3d336106fe8d72d6/docs/handlers/cancellation.md

المستودع
modelcontextprotocol/python-sdk
مسار الملف
docs/handlers/cancellation.md
الإيداع المثبت
754254c08fe1c3eda18b69da3d336106fe8d72d6
تاريخ فحص المصدر
2026-10-14 · تمت المراجعة مقابل المصدر الأصلي المثبت

مقاييس المستودع

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

النجوم
لم يُجمع
التفرعات
لم يُجمع
وقت الرصد
لم يُجمع

لا تتوفر لقطة مقاييس بعد.

الترخيص: MIT

الموضوع الرئيسي

متى تستخدم Skill أو MCP

موارد ذات صلة