MCP Academy · درس

التفاوض على القدرات

تحققوا من الميزات التي يدعمها الطرفان.

الدرس 3 من 413 خطوة

التفاوض على القدرات درس مجاني في MCP Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في MCP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة MCP Academy 4 دروس في المجموع.

لا يدعم الجميع كل الميزات

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

يحدث ذلك عند التهيئة

يُبرم هذا الاتفاق أثناء مصافحة initialize، أي أول تبادل على الإطلاق. بعد ذلك يعرف كل طرف ما يقدمه الآخر وما هو غير متاح.

مجموعتا إمكانات

يعلن العميل عن clientCapabilities، ويعلن الخادم عن serverCapabilities. وكل مجموعة ليست سوى خريطة لعلامات الميزات وبعض الخيارات الصغيرة.

ما يعلنه الخادم

يسرد الخادم ما يقدمه، مثل tools والموارد والمطالبات. وإذا كان المفتاح غائبًا، يعرف العملاء ألا يتوقعوا منك تلك الوظيفة الأساسية.

"capabilities": { "tools": {}, "resources": {} }

ما يعلنه العميل

يسرد العميل الميزات التي يستطيع تقديمها للطرف الآخر، مثل roots وأخذ العينات والاستجلاب. وهكذا يتعلم خادمك أنه يستطيع أصلًا طلب الجذور.

"capabilities": { "roots": {}, "sampling": {} }

تضيف العلامات الفرعية تفاصيل

يمكن أن تحتوي الإمكانية على خيارات إضافية. فمثلًا، قد تحمل الجذور listChanged: true، ما يعني أن العميل سيُخطرك عند تغير مجموعة جذوره.

"roots": { "listChanged": true }

الغياب يعني عدم الدعم

القاعدة بسيطة: إذا كانت الإمكانية مفقودة، فاعتبر الميزة غير متاحة. لا تستدعِ مطلقًا شيئًا لم يتعهد الطرف الآخر بقدرته على تنفيذه.

يأتي الإصدار أولًا

إلى جانب الميزات، يرسل الطرفان protocolVersion. ويجب أن يتفقا على إصدار مشترك، وإلا رُفضت الجلسة قبل بدء أي عمل فعلي.

يتولى SDK العمل الشاق

نادرًا ما تنشئ هذه الخرائط يدويًا. إذ يتولى Python SDK ملء إمكانات خادمك من الأدوات والموارد التي سجلتها، ثم يتبادلها نيابةً عنك.

اقرأ علامات الطرف الآخر

بعد init، يمكنك فحص إمكانات العميل التي التقطتها جلستك. وهذا الفحص هو بالضبط ما يحمي استدعاءً اختياريًا مثل list_roots.

caps = ctx.session.client_params.capabilities

تفاوض مرة واحدة، وثق به طوال الجلسة

تُحسم الإمكانات عند بدء التشغيل وتظل سارية طوال الجلسة. ويمكنك الاعتماد عليها طوال عمر الاتصال دون إعادة التفاوض عند كل استدعاء.

تحقق سريع

تذكر متى وكيف يتم الاتفاق على الميزات.

مراجعة: اتفاق الإمكانات

عند initialize، يتبادل العميل والخادم خرائط الإمكانات وإصدار البروتوكول. وتعني العلامة المفقودة عدم الدعم، بينما ينشئ SDK هذه الخرائط ويقرأها نيابةً عنك. 🎯

البدء مجانًا

تعلم Python مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «التفاوض على القدرات» مجاني؟

نعم — نص درس «التفاوض على القدرات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة MCP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة MCP Academy 4 دروس في المجموع.

ماذا ستتعلم في «التفاوض على القدرات»؟

تحققوا من الميزات التي يدعمها الطرفان. تتمرن على MCP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ MCP Academy؟

لا تُشترط خبرة سابقة. MCP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «التفاوض على القدرات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس MCP Academy هذا؟

نعم. كل درس في MCP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما الذي تخبر به Roots الخادم؟
  2. طلب Roots الخاصة بالعميل
  3. التفاوض على القدرات
  4. احترام حدود العميل
← العودة إلى MCP Academy