خادم MCP الخاص بك لا يحتاج إلى 40 أداة
غالبًا ما تعرض عروض MCP التوضيحية كل شيء دفعة واحدة. فهي تعرض كل نقطة نهاية (endpoint) وكل جدول في قاعدة البيانات، وتدعي أن الوكيل (agent) يمكنه استدعاء أي شيء.
يبدو هذا الأمر قويًا لمدة عشر دقائق، ثم يفشل النموذج. يستدعي الأداة الخاطئة، أو يمرر الوسائط (arguments) بشكل خاطئ، أو يطلب رسمًا بيانيًا من نقطة نهاية مخصصة للبحث، أو يعيد محاولة إجراء تدميري.
المشكلة ليست في MCP. المشكلة تكمن في التعامل مع MCP كمحول سحري لخلفية نظامك (backend).
خادم MCP ليس مجرد واجهة برمجة تطبيقات (API) خاصة بك جعلتها متاحة للوكلاء؛ بل هو واجهة منتج لمستخدم حرفي للغاية وسهل التشتت للغاية، وهذا المستخدم هو النموذج اللغوي.
إذا أعطيت النموذج 40 أداة متشابهة، فأنت لا تمنحه القوة، بل تمنحه 40 طريقة ليكون "صحيحًا تقريبًا".
توقف عن محاكاة مسارات واجهة برمجة التطبيقات (API routes) الخاصة بك. يمكن للبشر قراءة الوثائق وفهم السياق، أما النماذج فتقوم بمطابقة الأنماط للأسماء والأوصاف.
ابنِ طبقة MCP الخاصة بك حول نية المستخدم.
بدلاً من محاكاة كل مسار، قم بتجميعها في حدود واضحة:
- أداة واحدة لملخصات السوق
- أداة واحدة لتقاويم الإصدارات
- أداة واحدة للقطات البيانات المحددة (data snapshots)
- أداة واحدة للمؤشرات التاريخية
يقول مسار واجهة برمجة التطبيقات (API route): "إذا أرسلت هذا الطلب، فسيستجيب الخادم". أما أداة MCP فيجب أن تقول: "استخدمني لهذه المهمة المحددة بالضبط، بهذه المدخلات المحددة بالضبط، وتوقع هذه النتيجة المحددة".
أوصاف الأدوات الجيدة هي منطق توجيه (routing logic)، وليست نصوصًا تسويقية.
سيئ: name: get_data description: Gets data from the API.
أفضل: name: lookup_release_calendar description: Return scheduled economic events for one currency and date range. Use this before answering questions about upcoming macro events.
اتبع هذه القواعد للحصول على وكلاء أفضل:
استخدم أسماءً مملة. يحب المطورون الأسماء المختصرة مثل
fetchأوquery. أما النماذج فتحتاج إلى أسماء محددة مثلsearch_docsأوcheck_deployment_status. الأسماء الغامضة مكلفة.تحكم في شكل الاستجابة. لا تقم بإرجاع كائنات متداخلة ضخمة. أرجع أصغر شكل يدعم المهمة. إذا رأى النموذج الكثير من البيانات، فسيستخدم الحقل الخاطئ أو سيهلوس (hallucinate) بتفاصيل غير موجودة.
صمم من أجل الفشل. تأتي جودة الإنتاج من كيفية معالجتك للأخطاء. لا تكتفِ بإرجاع خطأ 500 أو مصفوفة فارغة، بل أخبر النموذج لماذا فشل. إذا لم تتطابق أي سجلات، أخبر النموذج بأن يقترح نطاقًا تاريخيًا أوسع للمستخدم.
أفضل أداة للوكيل ليست الأقوى، بل هي الأداة التي لا يمكن للنموذج أن يسيء فهمها.
المصدر: https://dev.to/roberttidball/your-mcp-server-doesnt-need-40-tools-2ig1
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
