اختر وسيلة النقل بعناية
سيرفر stdio محلي وخدمة HTTP عن بُعد ليهم احتياجات نشر مختلفة. استخدم نقل عن بُعد مدعوم، وTLS ومسار موثّق. راجع إصدارات العميل والسيرفر بدل ما تفترض إن كل تنفيذ بيدعم نفس الإمكانيات.
تعامل مع كل أداة كـ API
تحقق من الوسائط، وفرض تفويض خاص بالمستخدم، وحد الموارد. لا تعرض تنفيذ shell العشوائي كأداة راحة. قيد الوجهات الصادرة حيث تجلب أداة URLs واحتفظ بالأسرار خارج الأوصاف والردود.
اجعل جمع الهوية متناسبًا
مزوّد من غير KYC يقدر يقلل بيانات تسجيل المزوّد، لكن خدمة MCP ممكن لسه تحتاج مستخدمين وأمان جلسات وضوابط إساءة خاصة بيها. وضّح إيه اللي بيتسجل وتجنب الاحتفاظ بمدخلات الأدوات من غير غرض محدد.
انشر من أجل وضوح التشغيل
شغّله تحت مستخدم مخصص، استخدم فحوصات الصحة، حدد أوقات الطلبات وخلي تخزين الـ reverse proxy ومهله متوافقين مع البروتوكول. اختبر المصادقة والإلغاء والانقطاعات وإعادة المحاولة قبل ما تمنح صلاحيات الكتابة.
طابق المصادقة مع البروتوكول المدعوم
لنشر MCP قائم على HTTP، راجع متطلبات التصريح الحالية للبروتوكول والإصدار المدعوم في العميل. الوصول للموارد عبر OAuth بيتضمن جمهور الرمز والاكتشاف والنطاق، مش مجرد كلمة سر على الصفحة الرئيسية. استخدم HTTPS، وتحقق من الرموز للمورد المقصود، وخلّي بيانات اعتماد Bearer برّه سلاسل الاستعلام. سيرفر stdio بيستخدم حدود اعتماد محلية مختلفة.
- اختبر طلب غير مُصادَق
- اختبر طلب مُصادق عليه خارج نطاقه
- ألغِ بيانات الاعتماد وتحقق من توقفها عن العمل
الوثائق الرسمية: مواصفات تفويض MCP
انشر مجموعة أدوات أولى محدودة
ابدأ بأدوات للقراءة فقط بترجع كمية بيانات محدودة. ضيف كتابة الملفات أو عمليات دورة حياة السيرفر أو الرسائل الخارجية بس بعد ما تفهم صلاحياتها وسلوك التكرار فيها. اعتبر صفحات الويب والمستندات اللي بترجع مدخلات غير موثوقة؛ مايصحش توسّع صلاحيات سيرفر الأدوات من غير ما حد ياخد باله.
ثبّت سلوك البروتوكول قبل كتابة قواعد الوكيل
سجّل إصدار SDK للسيرفر ومراجعة MCP اللي العميل هيستخدمها. في مراجعة 2026-07-28 Streamable HTTP، الطلبات بتستخدم نقطة نهاية POST؛ الأمثلة الأقدم اللي بتعتمد على جلسات البروتوكول أو تدفق GET مستقل دي مراجعة تانية. ماتشيلش متطلب توافق ظاهري لحد ما تعرف العميل اللي بتدعمه. البروكسي العكسي لازم يحافظ على الهيدرز المطلوبة وحالة HTTP وسلوك بث الاستجابة للإصدار ده.
- ابدأ بأداة للقراءة فقط على مستمع loopback، وبعدين حط حدود HTTPS/المصادقة المقصودة قدامها.
- اختبر نتيجة عادية ونتيجة بث ومهلة عميل وعميل منقطع من خلال البروكسي العام.
- تحقق من قيم Origin المسموح بها كما يقتضي النقل؛ فحص Origin ليس بديلًا عن مصادقة المتصل.
- لو الأحداث بتوصل في الآخر بس، افحص تخزين البروكسي المؤقت وسلوك المهلة قبل ما تغيّر كود الأداة.
الوثائق الرسمية: MCP 2026-07-28: قابل للبث HTTP
اختبر حالات فشل التفويض بنفس دقة اختبار النجاح
للوصول إلى HTTP المحمي بـ OAuth، سيرفر MCP هو مورد محمي. اختبر اكتشاف البيانات الوصفية، والمُصدر المتوقع، وجمهور الرمز، والنطاقات المطلوبة لعملية معينة. خلّي رمز التفويض برّه سلاسل استعلام URL وما تمرّرش بيه كما هو لخدمة لاحقة غير مرتبطة. فشل المصادقة اللي بيواجه العميل لازم يحافظ على تحدي HTTP المناسب عشان العميل يقدر يتعافى عبر التدفق المدعوم.
- من غير توكن أو بتوكن منتهي: نقطة النهاية المحمية بترفض الوصول بدل ما ترجع بيانات أدوات خاصة.
- توكن صالح بصلاحيات غير كافية: المورد المطلوب يفضل غير متاح.
- توكن لجمهور تاني: ارفضه حتى لو توقيعه صحيح في غير كده.
- URL خارجي غير متوقع أو مسار ملف: تحقق من صلاحية الأداة قبل الجلب أو الكتابة.
- السجلات وتتبعات الأخطاء: احتفظ بمعرّف العملية والنتيجة مع إزالة الرموز ومدخلات الأدوات الخاصة.
الوثائق الرسمية: MCP 2026-07-28: تفويض HTTP · MCP: أفضل ممارسات الأمان