[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-mcp-biaat-intaj-hall-tahaddiyat-naql-musadaqa-tawassu":3},{"article":4,"author":55},{"id":5,"category_id":6,"title":7,"slug":8,"excerpt":9,"content_md":10,"content_html":11,"locale":12,"author_id":13,"published":14,"published_at":15,"meta_title":16,"meta_description":17,"focus_keyword":18,"og_image":19,"canonical_url":19,"robots_meta":20,"created_at":15,"updated_at":15,"tags":21,"category_name":35,"related_articles":36},"d0000000-0000-0000-0000-000000000523","a0000000-0000-0000-0000-000000000096","MCP في بيئة الإنتاج: حل تحديات النقل والمصادقة والتوسع","mcp-biaat-intaj-hall-tahaddiyat-naql-musadaqa-tawassu","دليل معمق حول تشغيل خوادم Model Context Protocol في بيئة الإنتاج — اختيار النقل، أنماط المصادقة، استراتيجيات التوسع، تسجيل التدقيق، وبنى البوابات لعمليات النشر المؤسسية.","## من النموذج الأولي إلى الإنتاج: ما الذي يتغير\n\nبناء خادم MCP يعمل على حاسوبك المحمول أمر بسيط نسبيًا. تشغيل خادم يتعامل مع آلاف جلسات وكلاء AI المتزامنة عبر بنية تحتية موزعة هو تحدٍ هندسي مختلف تمامًا. يجب أن تعالج عمليات نشر MCP في الإنتاج خمس مسائل يمكن للنماذج الأولية تجاهلها: **قابلية توسع النقل**، **المصادقة والتفويض**، **إدارة الجلسات على نطاق واسع**، **مسارات التدقيق**، و **تنسيق الخوادم المتعددة**.\n\nهذا المقال هو دليل تقني لفرق الهندسة التي تنقل خوادم MCP من التطوير إلى الإنتاج. نفترض أنك بنيت خادم MCP واحدًا على الأقل وتفهم أساسيات البروتوكول. إن لم تكن كذلك، ابدأ بمقالنا المصاحب حول بناء أول خادم MCP.\n\n## قابلية توسع النقل: stdio مقابل SSE مقابل Streamable HTTP\n\nيحدد MCP ثلاث آليات نقل. اختيار المناسب للإنتاج هو قرارك المعماري الأول.\n\n### نقل stdio\n\nيتواصل نقل stdio عبر تدفقات الإدخال\u002Fالإخراج القياسية. يطلق تطبيق Host خادم MCP كعملية فرعية ويتبادل رسائل JSON-RPC عبر stdin\u002Fstdout.\n\n**المزايا:**\n- صفر تكوين شبكي\n- عزل على مستوى العملية\n- لا تعارض في المنافذ\n- أقل زمن استجابة (بدون مكدس شبكي)\n\n**القيود:**\n- يجب أن يعمل الخادم على نفس الجهاز مع Host\n- عملية خادم واحدة لكل جلسة Client\n- لا يمكن موازنة الحمل\n- لا توسع أفقي\n\n**الأفضل لـ:** أدوات التطوير المحلية، إضافات IDE، تطبيقات سطح المكتب لمستخدم واحد.\n\n### نقل SSE (Server-Sent Events)\n\nيستخدم نقل SSE بروتوكول HTTP لرسائل العميل إلى الخادم و Server-Sent Events لرسائل الخادم إلى العميل. يعمل الخادم كخدمة HTTP.\n\n**المزايا:**\n- يمكن الوصول إليه عبر الشبكة (خادم بعيد)\n- متوافق مع البنية التحتية HTTP الموجودة\n- يدعم عملاء متعددين في وقت واحد\n- يعمل عبر جدران الحماية والبروكسيات\n\n**القيود:**\n- تدفق أحادي الاتجاه (SSE من الخادم إلى العميل فقط)\n- يتطلب تقارب الجلسات (اتصال ذو حالة)\n- بعض موازنات الحمل تواجه مشاكل مع اتصالات SSE طويلة الأمد\n- لا دلالات إعادة اتصال مدمجة في البروتوكول\n\n**الأفضل لـ:** عمليات النشر الصغيرة إلى المتوسطة، الأدوات الداخلية، الفرق ذات البنية التحتية HTTP الموجودة.\n\n### نقل Streamable HTTP\n\nStreamable HTTP هو أحدث نقل، مصمم خصيصًا لعمليات النشر الإنتاجية. يستخدم POST HTTP القياسي لجميع الرسائل، مع تدفق SSE اختياري للعمليات طويلة الأمد.\n\n**المزايا:**\n- نموذج طلب\u002Fاستجابة عديم الحالة بالكامل\n- يعمل مع أي موازن حمل HTTP\n- إدارة جلسات مدمجة عبر رأس `Mcp-Session-Id`\n- يدعم الاستجابات المتدفقة وغير المتدفقة\n- متوافق مع CDN والبروكسيات\n\n**القيود:**\n- يتطلب تخزين جلسات من جانب الخادم (Redis، قاعدة بيانات)\n- حمل إضافي لكل رسالة أعلى قليلًا من stdio\n- نقل أحدث — أدوات أقل في النظام البيئي\n\n**الأفضل لـ:** عمليات النشر السحابية الإنتاجية، المنصات متعددة المستأجرين، البيئات المؤسسية.\n\n### مصفوفة مقارنة النقل\n\n| الخاصية | stdio | SSE | Streamable HTTP |\n|---------|-------|-----|-----------------|\n| دعم الشبكة | لا | نعم | نعم |\n| التوسع الأفقي | لا | محدود | نعم |\n| موازنة الحمل | لا | تقارب جلسات مطلوب | LB HTTP قياسي |\n| إدارة الجلسات | لكل عملية | ذاكرة الخادم | مخزن خارجي |\n| زمن الاستجابة | الأقل | منخفض | منخفض |\n| متوافق مع جدار الحماية | غ\u002Fم | نعم | نعم |\n\n## المصادقة والتفويض\n\n### تكامل OAuth 2.0\n\nتحتاج خوادم MCP الإنتاجية إلى طريقة للعملاء للمصادقة وتقييد الوصول إلى أدوات وموارد محددة. يدعم بروتوكول MCP بروتوكول OAuth 2.0 للخوادم البعيدة.\n\nيعمل التدفق كالتالي:\n\n1. يتصل MCP client بالخادم ويرسل طلب `initialize`\n2. يستجيب الخادم بـ `401 Unauthorized` مع رأس `WWW-Authenticate` يحتوي على عنوان URL لبيانات OAuth الوصفية\n3. يحصل Client على تكوين OAuth من `\u002F.well-known\u002Foauth-authorization-server`\n4. يحصل Client على رمز وصول عبر تدفق تفويض قائم على المتصفح\n5. الطلبات اللاحقة تتضمن رمز Bearer في رأس `Authorization`\n\n### التفويض على مستوى الأداة\n\nالمصادقة وحدها لا تكفي. تحتاج أنظمة الإنتاج إلى تفويض دقيق يتحكم في أي أدوات يمكن للمستخدم استدعاؤها وأي موارد يمكنه الوصول إليها.\n\nالأساليب الموصى بها:\n\n- **التحكم في الوصول القائم على الأدوار (RBAC)**: تعيين أذونات الأدوات للأدوار. مثال: دور `analyst` يصل إلى أدوات الاستعلام للقراءة فقط، دور `admin` يصل إلى عمليات الكتابة.\n- **التحكم القائم على النطاقات**: استخدام نطاقات OAuth لتقييد الوصول إلى الأدوات. مثال: نطاق `mcp:tools:query:read` يسمح فقط باستعلامات SELECT.\n- **تصفية الأدوات الديناميكية**: تصفية قائمة الأدوات المتاحة بناءً على أذونات المستخدم المصادق عليه.\n\n## التوسع الأفقي مع Redis\n\nباستخدام نقل Streamable HTTP عديم الحالة، يمكنك تشغيل عدة نسخ من خادم MCP خلف موازن حمل. يُخزن حالة الجلسة في Redis ويُشارك بين جميع النسخ.\n\n```\nClient → Load Balancer → MCP Server 1 ↔ Redis\n                       → MCP Server 2 ↔ Redis\n                       → MCP Server 3 ↔ Redis\n```\n\nكل طلب يتضمن رأس `Mcp-Session-Id`، وأي نسخة من الخادم يمكنها استرداد حالة الجلسة من Redis لمواصلة المعالجة.\n\n### التوسع التلقائي على Kubernetes\n\nنشر خوادم MCP على Kubernetes يتيح التوسع التلقائي للـ Pods بناءً على عدد الجلسات النشطة أو استخدام CPU. استخدم مقاييس مخصصة مع Horizontal Pod Autoscaler (HPA).\n\n## تسجيل التدقيق\n\nتتطلب عمليات النشر المؤسسية مسارات تدقيق مفصلة في كل مرة تستدعي فيها AI أداة خارجية. لكل استدعاء أداة، سجل:\n\n- **الطابع الزمني**: وقت الاستدعاء\n- **معرف المستخدم**: المستخدم الذي بدأ إجراء AI\n- **اسم الأداة**: أداة MCP المستدعاة\n- **معلمات الإدخال**: البيانات المرسلة إلى الأداة\n- **نتيجة الإخراج**: البيانات التي أعادتها الأداة\n- **مدة التنفيذ**: الوقت الذي استغرقه الاستدعاء\n- **الأخطاء**: أي أخطاء حدثت\n\nاستخدم التسجيل المنظم (تنسيق JSON) وأرسل السجلات إلى نظام إدارة سجلات مركزي (ELK Stack، Datadog، CloudWatch).\n\n## بنية البوابة\n\nلعمليات النشر واسعة النطاق، فكر في تنفيذ نمط بوابة MCP. تعمل البوابة كوكيل عكسي بين MCP clients وخوادم MCP الخلفية.\n\nمسؤوليات البوابة:\n\n- **مركزة المصادقة**: معالجة جميع عمليات التحقق من OAuth في البوابة\n- **تحديد المعدل**: تطبيق حدود لكل مستخدم ولكل أداة\n- **التوجيه**: توجيه الطلبات إلى الخوادم الخلفية المناسبة بناءً على اسم الأداة\n- **جمع سجلات التدقيق**: تسجيل جميع استدعاءات الأدوات على مستوى البوابة\n- **قاطع الدائرة**: معالجة الرجوع عند فشل الخوادم الخلفية\n\n## الأسئلة الشائعة\n\n**س: هل يمكن استخدام نقل stdio في الإنتاج؟**\nج: نعم، ولكن في سيناريوهات محدودة فقط. مناسب لتطبيقات سطح المكتب حيث يشغل كل مستخدم عملية خادم MCP محلية خاصة به. للبنية التحتية للخادم المشتركة، استخدم Streamable HTTP.\n\n**س: هل يجب الاحتفاظ بجلسات MCP بشكل دائم؟**\nج: نعم، عند استخدام Streamable HTTP. تتضمن حالة الجلسة قدرات العميل وإصدار البروتوكول المتفاوض عليه والإشعارات المسجلة. Redis هو مخزن الجلسات الموصى به.\n\n**س: كيف يجب إدارة إصدارات خوادم MCP؟**\nج: استخدم حقل إصدار الخادم في استجابة `initialize`. للتغييرات غير المتوافقة (إزالة الأدوات، تغيير المخططات)، ارفع الإصدار الرئيسي وادعم الإصدارين القديم والجديد خلال فترة الانتقال.\n\n**س: ما الحد الأقصى لحجم رسالة MCP؟**\nج: لا يحدد البروتوكول حدًا أقصى، لكن الحدود العملية تعتمد على النقل. لـ Streamable HTTP، حافظ على الاستجابات أقل من 10 ميجابايت. لـ stdio، قد تتطلب مخازن أنابيب النظام (عادة 64 كيلوبايت) تقسيمًا للاستجابات الكبيرة.","\u003Ch2 id=\"\">من النموذج الأولي إلى الإنتاج: ما الذي يتغير\u003C\u002Fh2>\n\u003Cp>بناء خادم MCP يعمل على حاسوبك المحمول أمر بسيط نسبيًا. تشغيل خادم يتعامل مع آلاف جلسات وكلاء AI المتزامنة عبر بنية تحتية موزعة هو تحدٍ هندسي مختلف تمامًا. يجب أن تعالج عمليات نشر MCP في الإنتاج خمس مسائل يمكن للنماذج الأولية تجاهلها: \u003Cstrong>قابلية توسع النقل\u003C\u002Fstrong>، \u003Cstrong>المصادقة والتفويض\u003C\u002Fstrong>، \u003Cstrong>إدارة الجلسات على نطاق واسع\u003C\u002Fstrong>، \u003Cstrong>مسارات التدقيق\u003C\u002Fstrong>، و \u003Cstrong>تنسيق الخوادم المتعددة\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>هذا المقال هو دليل تقني لفرق الهندسة التي تنقل خوادم MCP من التطوير إلى الإنتاج. نفترض أنك بنيت خادم MCP واحدًا على الأقل وتفهم أساسيات البروتوكول. إن لم تكن كذلك، ابدأ بمقالنا المصاحب حول بناء أول خادم MCP.\u003C\u002Fp>\n\u003Ch2 id=\"stdio-sse-streamable-http\">قابلية توسع النقل: stdio مقابل SSE مقابل Streamable HTTP\u003C\u002Fh2>\n\u003Cp>يحدد MCP ثلاث آليات نقل. اختيار المناسب للإنتاج هو قرارك المعماري الأول.\u003C\u002Fp>\n\u003Ch3>نقل stdio\u003C\u002Fh3>\n\u003Cp>يتواصل نقل stdio عبر تدفقات الإدخال\u002Fالإخراج القياسية. يطلق تطبيق Host خادم MCP كعملية فرعية ويتبادل رسائل JSON-RPC عبر stdin\u002Fstdout.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>المزايا:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>صفر تكوين شبكي\u003C\u002Fli>\n\u003Cli>عزل على مستوى العملية\u003C\u002Fli>\n\u003Cli>لا تعارض في المنافذ\u003C\u002Fli>\n\u003Cli>أقل زمن استجابة (بدون مكدس شبكي)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>القيود:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>يجب أن يعمل الخادم على نفس الجهاز مع Host\u003C\u002Fli>\n\u003Cli>عملية خادم واحدة لكل جلسة Client\u003C\u002Fli>\n\u003Cli>لا يمكن موازنة الحمل\u003C\u002Fli>\n\u003Cli>لا توسع أفقي\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>الأفضل لـ:\u003C\u002Fstrong> أدوات التطوير المحلية، إضافات IDE، تطبيقات سطح المكتب لمستخدم واحد.\u003C\u002Fp>\n\u003Ch3>نقل SSE (Server-Sent Events)\u003C\u002Fh3>\n\u003Cp>يستخدم نقل SSE بروتوكول HTTP لرسائل العميل إلى الخادم و Server-Sent Events لرسائل الخادم إلى العميل. يعمل الخادم كخدمة HTTP.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>المزايا:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>يمكن الوصول إليه عبر الشبكة (خادم بعيد)\u003C\u002Fli>\n\u003Cli>متوافق مع البنية التحتية HTTP الموجودة\u003C\u002Fli>\n\u003Cli>يدعم عملاء متعددين في وقت واحد\u003C\u002Fli>\n\u003Cli>يعمل عبر جدران الحماية والبروكسيات\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>القيود:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>تدفق أحادي الاتجاه (SSE من الخادم إلى العميل فقط)\u003C\u002Fli>\n\u003Cli>يتطلب تقارب الجلسات (اتصال ذو حالة)\u003C\u002Fli>\n\u003Cli>بعض موازنات الحمل تواجه مشاكل مع اتصالات SSE طويلة الأمد\u003C\u002Fli>\n\u003Cli>لا دلالات إعادة اتصال مدمجة في البروتوكول\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>الأفضل لـ:\u003C\u002Fstrong> عمليات النشر الصغيرة إلى المتوسطة، الأدوات الداخلية، الفرق ذات البنية التحتية HTTP الموجودة.\u003C\u002Fp>\n\u003Ch3>نقل Streamable HTTP\u003C\u002Fh3>\n\u003Cp>Streamable HTTP هو أحدث نقل، مصمم خصيصًا لعمليات النشر الإنتاجية. يستخدم POST HTTP القياسي لجميع الرسائل، مع تدفق SSE اختياري للعمليات طويلة الأمد.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>المزايا:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>نموذج طلب\u002Fاستجابة عديم الحالة بالكامل\u003C\u002Fli>\n\u003Cli>يعمل مع أي موازن حمل HTTP\u003C\u002Fli>\n\u003Cli>إدارة جلسات مدمجة عبر رأس \u003Ccode>Mcp-Session-Id\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>يدعم الاستجابات المتدفقة وغير المتدفقة\u003C\u002Fli>\n\u003Cli>متوافق مع CDN والبروكسيات\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>القيود:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>يتطلب تخزين جلسات من جانب الخادم (Redis، قاعدة بيانات)\u003C\u002Fli>\n\u003Cli>حمل إضافي لكل رسالة أعلى قليلًا من stdio\u003C\u002Fli>\n\u003Cli>نقل أحدث — أدوات أقل في النظام البيئي\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>الأفضل لـ:\u003C\u002Fstrong> عمليات النشر السحابية الإنتاجية، المنصات متعددة المستأجرين، البيئات المؤسسية.\u003C\u002Fp>\n\u003Ch3>مصفوفة مقارنة النقل\u003C\u002Fh3>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>الخاصية\u003C\u002Fth>\u003Cth>stdio\u003C\u002Fth>\u003Cth>SSE\u003C\u002Fth>\u003Cth>Streamable HTTP\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\n\u003Ctr>\u003Ctd>دعم الشبكة\u003C\u002Ftd>\u003Ctd>لا\u003C\u002Ftd>\u003Ctd>نعم\u003C\u002Ftd>\u003Ctd>نعم\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>التوسع الأفقي\u003C\u002Ftd>\u003Ctd>لا\u003C\u002Ftd>\u003Ctd>محدود\u003C\u002Ftd>\u003Ctd>نعم\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>موازنة الحمل\u003C\u002Ftd>\u003Ctd>لا\u003C\u002Ftd>\u003Ctd>تقارب جلسات مطلوب\u003C\u002Ftd>\u003Ctd>LB HTTP قياسي\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>إدارة الجلسات\u003C\u002Ftd>\u003Ctd>لكل عملية\u003C\u002Ftd>\u003Ctd>ذاكرة الخادم\u003C\u002Ftd>\u003Ctd>مخزن خارجي\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>زمن الاستجابة\u003C\u002Ftd>\u003Ctd>الأقل\u003C\u002Ftd>\u003Ctd>منخفض\u003C\u002Ftd>\u003Ctd>منخفض\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>متوافق مع جدار الحماية\u003C\u002Ftd>\u003Ctd>غ\u002Fم\u003C\u002Ftd>\u003Ctd>نعم\u003C\u002Ftd>\u003Ctd>نعم\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2 id=\"\">المصادقة والتفويض\u003C\u002Fh2>\n\u003Ch3>تكامل OAuth 2.0\u003C\u002Fh3>\n\u003Cp>تحتاج خوادم MCP الإنتاجية إلى طريقة للعملاء للمصادقة وتقييد الوصول إلى أدوات وموارد محددة. يدعم بروتوكول MCP بروتوكول OAuth 2.0 للخوادم البعيدة.\u003C\u002Fp>\n\u003Cp>يعمل التدفق كالتالي:\u003C\u002Fp>\n\u003Col>\n\u003Cli>يتصل MCP client بالخادم ويرسل طلب \u003Ccode>initialize\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>يستجيب الخادم بـ \u003Ccode>401 Unauthorized\u003C\u002Fcode> مع رأس \u003Ccode>WWW-Authenticate\u003C\u002Fcode> يحتوي على عنوان URL لبيانات OAuth الوصفية\u003C\u002Fli>\n\u003Cli>يحصل Client على تكوين OAuth من \u003Ccode>\u002F.well-known\u002Foauth-authorization-server\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>يحصل Client على رمز وصول عبر تدفق تفويض قائم على المتصفح\u003C\u002Fli>\n\u003Cli>الطلبات اللاحقة تتضمن رمز Bearer في رأس \u003Ccode>Authorization\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>التفويض على مستوى الأداة\u003C\u002Fh3>\n\u003Cp>المصادقة وحدها لا تكفي. تحتاج أنظمة الإنتاج إلى تفويض دقيق يتحكم في أي أدوات يمكن للمستخدم استدعاؤها وأي موارد يمكنه الوصول إليها.\u003C\u002Fp>\n\u003Cp>الأساليب الموصى بها:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>التحكم في الوصول القائم على الأدوار (RBAC)\u003C\u002Fstrong>: تعيين أذونات الأدوات للأدوار. مثال: دور \u003Ccode>analyst\u003C\u002Fcode> يصل إلى أدوات الاستعلام للقراءة فقط، دور \u003Ccode>admin\u003C\u002Fcode> يصل إلى عمليات الكتابة.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>التحكم القائم على النطاقات\u003C\u002Fstrong>: استخدام نطاقات OAuth لتقييد الوصول إلى الأدوات. مثال: نطاق \u003Ccode>mcp:tools:query:read\u003C\u002Fcode> يسمح فقط باستعلامات SELECT.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>تصفية الأدوات الديناميكية\u003C\u002Fstrong>: تصفية قائمة الأدوات المتاحة بناءً على أذونات المستخدم المصادق عليه.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"redis\">التوسع الأفقي مع Redis\u003C\u002Fh2>\n\u003Cp>باستخدام نقل Streamable HTTP عديم الحالة، يمكنك تشغيل عدة نسخ من خادم MCP خلف موازن حمل. يُخزن حالة الجلسة في Redis ويُشارك بين جميع النسخ.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Client → Load Balancer → MCP Server 1 ↔ Redis\n                       → MCP Server 2 ↔ Redis\n                       → MCP Server 3 ↔ Redis\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>كل طلب يتضمن رأس \u003Ccode>Mcp-Session-Id\u003C\u002Fcode>، وأي نسخة من الخادم يمكنها استرداد حالة الجلسة من Redis لمواصلة المعالجة.\u003C\u002Fp>\n\u003Ch3>التوسع التلقائي على Kubernetes\u003C\u002Fh3>\n\u003Cp>نشر خوادم MCP على Kubernetes يتيح التوسع التلقائي للـ Pods بناءً على عدد الجلسات النشطة أو استخدام CPU. استخدم مقاييس مخصصة مع Horizontal Pod Autoscaler (HPA).\u003C\u002Fp>\n\u003Ch2 id=\"\">تسجيل التدقيق\u003C\u002Fh2>\n\u003Cp>تتطلب عمليات النشر المؤسسية مسارات تدقيق مفصلة في كل مرة تستدعي فيها AI أداة خارجية. لكل استدعاء أداة، سجل:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>الطابع الزمني\u003C\u002Fstrong>: وقت الاستدعاء\u003C\u002Fli>\n\u003Cli>\u003Cstrong>معرف المستخدم\u003C\u002Fstrong>: المستخدم الذي بدأ إجراء AI\u003C\u002Fli>\n\u003Cli>\u003Cstrong>اسم الأداة\u003C\u002Fstrong>: أداة MCP المستدعاة\u003C\u002Fli>\n\u003Cli>\u003Cstrong>معلمات الإدخال\u003C\u002Fstrong>: البيانات المرسلة إلى الأداة\u003C\u002Fli>\n\u003Cli>\u003Cstrong>نتيجة الإخراج\u003C\u002Fstrong>: البيانات التي أعادتها الأداة\u003C\u002Fli>\n\u003Cli>\u003Cstrong>مدة التنفيذ\u003C\u002Fstrong>: الوقت الذي استغرقه الاستدعاء\u003C\u002Fli>\n\u003Cli>\u003Cstrong>الأخطاء\u003C\u002Fstrong>: أي أخطاء حدثت\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>استخدم التسجيل المنظم (تنسيق JSON) وأرسل السجلات إلى نظام إدارة سجلات مركزي (ELK Stack، Datadog، CloudWatch).\u003C\u002Fp>\n\u003Ch2 id=\"\">بنية البوابة\u003C\u002Fh2>\n\u003Cp>لعمليات النشر واسعة النطاق، فكر في تنفيذ نمط بوابة MCP. تعمل البوابة كوكيل عكسي بين MCP clients وخوادم MCP الخلفية.\u003C\u002Fp>\n\u003Cp>مسؤوليات البوابة:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>مركزة المصادقة\u003C\u002Fstrong>: معالجة جميع عمليات التحقق من OAuth في البوابة\u003C\u002Fli>\n\u003Cli>\u003Cstrong>تحديد المعدل\u003C\u002Fstrong>: تطبيق حدود لكل مستخدم ولكل أداة\u003C\u002Fli>\n\u003Cli>\u003Cstrong>التوجيه\u003C\u002Fstrong>: توجيه الطلبات إلى الخوادم الخلفية المناسبة بناءً على اسم الأداة\u003C\u002Fli>\n\u003Cli>\u003Cstrong>جمع سجلات التدقيق\u003C\u002Fstrong>: تسجيل جميع استدعاءات الأدوات على مستوى البوابة\u003C\u002Fli>\n\u003Cli>\u003Cstrong>قاطع الدائرة\u003C\u002Fstrong>: معالجة الرجوع عند فشل الخوادم الخلفية\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"\">الأسئلة الشائعة\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>س: هل يمكن استخدام نقل stdio في الإنتاج؟\u003C\u002Fstrong>\nج: نعم، ولكن في سيناريوهات محدودة فقط. مناسب لتطبيقات سطح المكتب حيث يشغل كل مستخدم عملية خادم MCP محلية خاصة به. للبنية التحتية للخادم المشتركة، استخدم Streamable HTTP.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>س: هل يجب الاحتفاظ بجلسات MCP بشكل دائم؟\u003C\u002Fstrong>\nج: نعم، عند استخدام Streamable HTTP. تتضمن حالة الجلسة قدرات العميل وإصدار البروتوكول المتفاوض عليه والإشعارات المسجلة. Redis هو مخزن الجلسات الموصى به.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>س: كيف يجب إدارة إصدارات خوادم MCP؟\u003C\u002Fstrong>\nج: استخدم حقل إصدار الخادم في استجابة \u003Ccode>initialize\u003C\u002Fcode>. للتغييرات غير المتوافقة (إزالة الأدوات، تغيير المخططات)، ارفع الإصدار الرئيسي وادعم الإصدارين القديم والجديد خلال فترة الانتقال.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>س: ما الحد الأقصى لحجم رسالة MCP؟\u003C\u002Fstrong>\nج: لا يحدد البروتوكول حدًا أقصى، لكن الحدود العملية تعتمد على النقل. لـ Streamable HTTP، حافظ على الاستجابات أقل من 10 ميجابايت. لـ stdio، قد تتطلب مخازن أنابيب النظام (عادة 64 كيلوبايت) تقسيمًا للاستجابات الكبيرة.\u003C\u002Fp>\n","ar","b0000000-0000-0000-0000-000000000001",true,"2026-03-28T10:44:39.745296Z","MCP في بيئة الإنتاج: النقل والمصادقة وتحديات التوسع","دليل تقني لتشغيل خوادم MCP في بيئة الإنتاج. يتناول اختيار النقل، مصادقة OAuth، التوسع الأفقي مع جلسات Redis، تسجيل التدقيق، وأنماط البوابات.","mcp الإنتاج التوسع",null,"index, follow",[22,27,31],{"id":23,"name":24,"slug":25,"created_at":26},"c0000000-0000-0000-0000-000000000008","AI","ai","2026-03-28T10:44:21.513630Z",{"id":28,"name":29,"slug":30,"created_at":26},"c0000000-0000-0000-0000-000000000012","DevOps","devops",{"id":32,"name":33,"slug":34,"created_at":26},"c0000000-0000-0000-0000-000000000013","Security","security","الهندسة",[37,43,49],{"id":38,"title":39,"slug":40,"excerpt":41,"locale":12,"category_name":35,"published_at":42},"d0000000-0000-0000-0000-000000000686","لماذا Bali تتحول إلى مركز تكنولوجيا التأثير في جنوب شرق آسيا 2026","limadha-bali-tatahawwal-markaz-tiknulujia-attathir-janub-sharq-asia-2026","تحتل Bali المرتبة 16 بين أنظمة الشركات الناشئة في جنوب شرق آسيا. مع تركيز متزايد لبناة Web3 وشركات AI المستدامة الناشئة وشركات تكنولوجيا السفر البيئي، تنحت الجزيرة مكانتها كعاصمة تكنولوجيا التأثير في المنطقة.","2026-03-28T10:44:50.120618Z",{"id":44,"title":45,"slug":46,"excerpt":47,"locale":12,"category_name":35,"published_at":48},"d0000000-0000-0000-0000-000000000685","فسيفساء حماية البيانات في ASEAN: قائمة امتثال للمطورين","fusayfisa-himayat-albayanat-asean-qaimat-imtithal-lilmutawwirin","تمتلك سبع دول في ASEAN الآن قوانين شاملة لحماية البيانات، لكل منها نماذج موافقة ومتطلبات توطين وهياكل عقوبات مختلفة. إليك قائمة امتثال عملية للمطورين الذين يبنون تطبيقات متعددة البلدان.","2026-03-28T10:44:50.114369Z",{"id":50,"title":51,"slug":52,"excerpt":53,"locale":12,"category_name":35,"published_at":54},"d0000000-0000-0000-0000-000000000684","التحول الرقمي في Indonesia بقيمة 29 مليار دولار: فرص لشركات البرمجيات","attahawwul-arraqami-indonesia-29-milyar-dular-furas-sharikat-albarmajiyat","من المتوقع أن يصل سوق خدمات تكنولوجيا المعلومات في Indonesia إلى 29.03 مليار دولار في 2026، ارتفاعاً من 24.37 مليار دولار في 2025. البنية التحتية السحابية والذكاء الاصطناعي والتجارة الإلكترونية ومراكز البيانات تقود أسرع نمو في جنوب شرق آسيا.","2026-03-28T10:44:50.092728Z",{"id":13,"name":56,"slug":57,"bio":58,"photo_url":19,"linkedin":19,"role":59,"created_at":60,"updated_at":60},"Open Soft Team","open-soft-team","The engineering team at Open Soft, building premium software solutions from Bali, Indonesia.","Engineering Team","2026-03-28T08:31:22.226811Z"]