دليل تقني

MCP بالإنتاج: كيف تعطي وكلاء AI أدوات آمنة

دليل تقني لتشغيل Model Context Protocol بالإنتاج. تصميم الأدوات، تطبيق السياسات على ثلاث نقاط، نطاقات الصلاحيات، حدود المعدل، والتدقيق.

22 يوليو 202618 دقيقة للقراءةفريق هندسة أورنتس

الأدوات هي المكان اللي بيصير فيه الوكلاء خطرين

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

صار Model Context Protocol، أو MCP، الطريقة المعيارية لإعطاء وكلاء AI أدوات. هو بروتوكول نظيف، وهاد بالضبط ليش الجزء الصعب مش توصيل الأدوات، الجزء الصعب هو حوكمتها. سيرفر MCP اللي بيعرّض عمليات شغلك لوكيل بدون تفويض وحدود وتدقيق هو اختراق ناطر لحظته. هاد الدليل هو كيف تشغّل MCP بالإنتاج بدون ما يصير هيك.

توصيل أداة بوكيل شغلة خمس دقايق. إنك تتأكد إنه الوكيل ما بيقدر يعمل أكتر من شغله، وإنه كل استدعاء مفوّض، وإنك تقدر تعيد بناء اللي صار، هاي هي الهندسة الحقيقية.

نحنا منشغّل MCP بالإنتاج بمنصتنا Exfinity، وين في سيرفر MCP بيعرّض أدوات تجارة وتحليلات وذكاء سوق للوكلاء تحت حوكمة صارمة. هاد الدليل هو هي المعمارية نفسها. لصورة الوكلاء الأوسع، شوف دليلنا لأنظمة AI الوكيلية، وهاد شغل أساسي من خدمات AI عنا.

مين بيهمه شو

الدورالسؤال الحقيقيكيف بيبين الشغل الصح
مهندس AIكيف بعرّض الأدوات بشكل نظيف؟بروتوكول، مش كود لصق مفصّل لكل client
مسؤول الأمانشو بيقدر الوكيل يعمل فعلياً؟محدود النطاق، مفوّض، مضبوط
المعماريكيف بيضل هاد آمن بوضع multi-tenant؟الـ scope منحمول ومنفحوص بكل استدعاء
SREفينا نحتوي وكيل فالت؟Rate limits و timeouts على الأدوات
الامتثالفينا ندقق أفعال الوكيل؟كل استدعاء مسجّل وقابل لإعادة البناء

شو هو MCP فعلياً

MCP بروتوكول لتعريض الأدوات، والسياق كمان، لوكلاء AI بطريقة معيارية. بدل ما تكتب كود تكامل مخصص لكل client للنموذج، بتشغّل سيرفر MCP بيعلن عن مجموعة أدوات، وأي client بيدعم MCP، مساعد برمجة، وكيل شات، الـ runtime تبعك، بيقدر يكتشفها ويستدعيها.

القيمة هي التوحيد المعياري: سيرفر أدوات واحد، clients كتار، عقد ثابت. والخطر كمان هو التوحيد المعياري: الأداة المعروضة عبر MCP معروضة لأي وكيل بيتصل، فلازم الحوكمة تعيش عند السيرفر، مش تنفترض عند الـ client. دليلنا لمعمارية الوكلاء المتعددين بيغطي كيف الوكلاء والأدوات بيتركبوا مع بعض.

تصميم أدوات بيقدر الوكيل يستعملها بأمان

أداة MCP المنيحة مش مجرد API endpoint مع وصف. هي مصممة لجهة فاعلة رح تستدعيها بطرق ما توقعتها.

المبدأليش
نطاق ضيّقأداة وحدة، شغلة وحدة، حتى يكون للصلاحية معنى
باراميترات صريحةالوكيل ما بيقدر يمرر شي ما لازم يمرره
كتابات idempotentالاستدعاء المعاد ما بيتصرف مرتين
فشل واضحالوكيل بيقدر يتعافى، مش يعلق بحلقة
فصل القراءة عن الكتابةالقراءة آمنة، والكتابة عليها بوابة مختلفة

بـ Exfinity، الأدوات مجمّعة حسب شو بتلمس، تجارة، توصيات، تحليلات، ذكاء سوق، والـ tenant بيشوف بس الأدوات اللي خطته وصلاحياته بتسمح فيها. قاعدة التصميم: نطاق ضرر الأداة لازم يطابق صلاحيتها، فأداة القراءة ممكن تكون مفتوحة بينما الأداة اللي بتحرك مصاري عليها بوابة مشددة. دليلنا لتصميم API بيغطي كيف تصمم هي العقود لتعيش طويلاً.

تطبيق السياسات على ثلاث نقاط

هاد قلب MCP الآمن، وهون أغلب التطبيقات بتكون رقيقة. بتطبق السياسة على ثلاث نقاط بكل استدعاء أداة، مش على وحدة.

Agent asks to call a tool
   │
   ▼
[1] Pre-execution   ── is this tenant/agent allowed to call this tool?
   │                    (reject here if not)
   ▼
[2] Runtime         ── guardrails inside the tool: scope constraints,
   │                    "never book without explicit consent"
   ▼
Tool executes
   │
   ▼
[3] Post-execution  ── log the call: who, what, input, output, when

التحقق قبل التنفيذ بيفحص إذا هاد الـ tenant وهاد الوكيل مسموحلهم أصلاً يستدعوا هي الأداة، قبل ما يشتغل أي شي. فشل الصلاحية بيوقف هون.

حواجز وقت التشغيل بتعيش جوا الأداة نفسها، وبتشفّر قيود ما بتقدر السياسة تعبّر عنها كنعم أو لا بسيطة، متل إنه ما تاخد أبداً إجراء غير قابل للتراجع بدون موافقة صريحة من المستخدم.

التدقيق بعد التنفيذ بيسجل كل استدعاء مع الـ tenant والجهة الفاعلة والأداة والمدخلات والمخرجات والوقت، حتى يكون كل شي قابل لإعادة البناء بعدين.

Exfinity بتطبق التلاتة على كل استدعاء أداة. فحص واحد ما بيكفي، لأنه الأداة المسموحلها تشتغل ممكن ينطلب منها شي ما لازم تعمله، والإجراء اللي صار لازم برضه يكون مسجّل. دليلنا لحوكمة AI بيغطي وضعية الدفاع بالعمق هي.

نطاقات الصلاحيات: مش كل الأدوات متساوية

أداة استرجاع الفلوس وأداة البحث ما لازم يحملوا نفس الصلاحية. الطريقة لتحويل هاد لواقع هي نطاقات الصلاحيات: جمّع الأدوات حسب نوع القوة اللي بتحملها، وحط بوابة لكل مجموعة لحالها.

النطاقأمثلة أدواتالبوابة
قراءة، آمنةبحث، جلب تفاصيلمفتوحة لأغلب المستدعين
قراءة، حساسةتحليلات، تدقيقمقيّدة
كتابة، قابلة للتراجعإنشاء مسودة، وسمعليها بوابة، مسجّلة
كتابة، مالية أو غير قابلة للتراجعcheckout، إلغاءبوابة مشددة، بدها موافقة

Exfinity بتحط بوابات لأدوات الكتابة وأدوات المحتوى وأدوات الـ crawl بشكل منفصل عن أدوات القراءة، فالوكيل اللي نطاقه الإجابة على الأسئلة ما بيقدر فجأة ينفّذ حجز. المبدأ: كل ما كان الإجراء أصعب بالتراجع أو أغلى، كل ما كانت البوابة أشد. هاد نفس تفكير أقل الصلاحيات تبع دليلنا لتقسية أمان السحابة، مطبّق على أدوات الوكلاء.

مثال عملي: استدعاء أداة واحد، محكوم

خلينا نتتبع استدعاء أداة واحد عبر الحوكمة، لأنه نموذج النقاط التلاتة بيبين أوضح وهو بيتحرك.

زبون بيقول لوكيل شات: «ألغيلي حجزي XFt-55231 ورجعلي فلوسي». الوكيل بيقرر يستدعي أداة cancelBooking. هاد اللي بيعمله سيرفر MCP.

1. Discover   the agent's tenant only sees tools its plan allows; cancel
              is present because this tenant has it
2. Pre-check  is this tenant and this agent permitted to call cancelBooking?
              cancel is a write, monetary-adjacent tool, tightly scoped.
              permitted -> continue; not -> reject here, nothing runs
3. Runtime    the tool's own guardrail: cancellation over a value threshold
              requires explicit confirmation, so it pauses for consent
              rather than cancelling immediately
4. Execute    on consent, the cancellation runs, scoped to this tenant's
              booking only, never able to touch another tenant's data
5. Audit      the call is logged: tenant, actor, tool, input, output, time,
              and the policy decision, all reconstructable later

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

Rate limits و timeouts: احتواء الوكيل الفالت

وكيل عالق بحلقة ممكن يدق على أداة مئات المرات، وأداة بطيئة ممكن تعلّق دور الوكيل. التنين بدهم حدود.

حدود المعدل لكل جلسة بتسقف كم استدعاء أداة بيقدر الوكيل يعمل بفترة زمنية، والـ timeouts لكل أداة بتوقف الاستدعاء البطيء قبل ما يعلّق الدور. بـ Exfinity، الجلسة مسقوفة بعدد محدود من استدعاءات الأدوات بالدقيقة مع timeout تنفيذ لكل أداة، فالوكيل اللي عم يتصرف غلط أو المخترق ما بيقدر يحوّل سيرفر الأدوات تبعك لهجمة حجب خدمة على أنظمتك نفسها. مع حدود دور الوكيل من دليلنا لذاكرة الوكلاء، هي الحدود هي اللي بتخليك تعرّض عمليات حقيقية لوكيل مستقل وتضل نايم مرتاح. دليلنا لتصميم الأنظمة للفشل بيغطي عقلية الاحتواء هي.

الأدوات المخصصة: التوسيع بدون ما تخسر السيطرة

المنصات الحقيقية بدها أدوات لكل tenant، يعني endpoint خاص بالزبون معروض لوكلائه. الفخ إنك تخلي هاد يصير ثغرة بلا حوكمة.

النمط الآمن هو التسجيل زائد نفس الحوكمة. الـ tenant بيسجل endpoint خارجي مع host مسموح و schema للباراميترات، وسيرفر MCP بيعرّضه ديناميكياً جنب الأدوات المدمجة، تحت نفس تطبيق السياسات على ثلاث نقاط. بـ Exfinity، أدوات الموصلات المخصصة بتنعرّف مركزياً وبتنعرض لكل tenant، والسياسة بتنطبق عليها بالضبط متل الأدوات المدمجة، فتوسيع مجموعة الأدوات ما بيضعف الحوكمة. دليلنا للتكامل المؤسسي بيغطي توصيل الأنظمة الخارجية بأمان.

كيف تبلش

  1. صمم الأدوات بنطاق ضيق. شغلة وحدة لكل أداة، كتابات idempotent، وفصل القراءة عن الكتابة.
  2. طبق على ثلاث نقاط. صلاحية قبل التنفيذ، حواجز وقت التشغيل، تدقيق بعد التنفيذ.
  3. حدد النطاق حسب القدرة. حط على أدوات الكتابة والأدوات غير القابلة للتراجع بوابات أشد بكتير من القراءة.
  4. حط حدود لكل جلسة. Rate limits و timeouts لكل أداة لاحتواء الوكيل الفالت.
  5. احكم الأدوات المخصصة بنفس الطريقة. تسجيل زائد نفس السياسة، بلا ثغرات بدون حوكمة.

هاد شغل على مراحل وبيناسب منهجيتنا. فرقنا بـالبرمجيات المخصصة والاستشارات بتبني سيرفرات MCP محكومة. ابلش من التواصل أو خد عرض سعر محدد النطاق.

الطرق الشائعة اللي بيغلط فيها هاد الشي

  1. تعريض الأدوات بدون تفويض. الأداة عبر MCP مفتوحة لأي شي بيتصل. حط البوابة عند السيرفر.
  2. فحص واحد، مش تلاتة. إنه مسموحلها تشتغل مش كل القصة. طبق قبل وأثناء وبعد.
  3. نفس الصلاحية لكل الأدوات. استرجاع الفلوس مش بحث. حدد النطاق حسب القدرة.
  4. بلا rate limits. الوكيل اللي بحلقة بيصير هجمة حجب خدمة على حالك. حط حدود لكل جلسة.
  5. أدوات مخصصة بلا حوكمة. أدوات الـ tenant بدها نفس سياسة الأدوات المدمجة. بلا استثناءات.

مين بيبني هاد

Oronts شركة برمجيات بميونخ بيقودها مؤسسها. Refaat Al Ktifan، مؤسسنا ومهندس الحلول عنا، بيقود فريق senior بالـ backend والـ AI والأمان. منشغّل سيرفر MCP محكوم بمنصتنا Exfinity، بيعرّض عمليات حقيقية للوكلاء تحت تطبيق سياسات على ثلاث نقاط ونطاقات صلاحيات وتدقيق. منصمم الأدوات، منبني الحوكمة، ومنسلمك سطح MCP بتقدر تعرّضه للوكلاء بدون ما تخسر السيطرة. شوف صفحات الخدمات والحلول عنا.

الخلاصة

  • MCP بيوحّد أدوات الوكلاء معيارياً. الجزء الصعب حوكمتها، مش توصيلها.
  • صمم الأدوات بنطاق ضيق، مع كتابات idempotent وفصل القراءة عن الكتابة.
  • طبق السياسة على ثلاث نقاط: صلاحية قبل التنفيذ، حواجز وقت التشغيل، تدقيق بعد التنفيذ.
  • حدد نطاق الأدوات حسب القدرة وحط على الإجراءات غير القابلة للتراجع بوابات أشد بكتير من القراءة.
  • حط حدود لكل جلسة مع rate limits و timeouts، واحكم الأدوات المخصصة بنفس الطريقة.

إنك تعطي الوكيل أدوات يعني إنك تعطيه القوة إنه يتصرف. عامل سيرفر MCP متل أي جهة فاعلة مميزة الصلاحيات: أقل الصلاحيات، كل إجراء مفوّض، كل إجراء مسجّل. وقتها الاستقلالية بتصير آمنة بدل ما تكون مخيفة.

ناوي تعرّض عمليات حقيقية لوكلاء AI؟ خبرنا شو لازم يعملوا. ابلش من التواصل أو خد عرض سعر محدد النطاق.

المواضيع المغطاة

MCPModel Context Protocolأدوات وكلاء AItool callingAI وكيليأمان الوكلاءتفويض الأدواتحوكمة AIأدوات LLMAI بالإنتاج

هل تبني شيئاً مماثلاً؟

نصمم ونشغّل أنظمة إنتاجية كالنظام الوارد في هذا الدليل. تحدّث إلى المهندسين الذين كتبوه، دون أي عرض مبيعات.

ابدأ محادثة