For the complete documentation index, see llms.txt. This page is also available as Markdown.

MCP

يعرّض Chamilo 3.0 خادم MCP حتى تتمكّن مساعدات ووكلاء الذكاء الاصطناعي (موصّلات Claude وChatGPT أو أي عميل متوافق مع MCP) من العمل داخل المنصة نيابةً عن مستخدم مصادق عليه، باستخدام صلاحيات ذلك المستخدم نفسه — دون حساب خدمة منفصل أو وصول مرتفع.

ما يضيفه MCP إلى Chamilo

MCP (Model Context Protocol) معيار مفتوح يتيح لعملاء الذكاء الاصطناعي استدعاء مجموعة محددة من «الأدوات» يعرّضها خادم. خادم MCP في Chamilo يمكن الوصول إليه عبر نقطة نهاية واحدة، /mcp، ويعرّض مجموعة منتقاة من أدوات إدارة المقررات الموجهة للمعلمين وليس سطح واجهة برمجة التطبيقات بالكامل.

القدرات المتاحة

كل استدعاء يُنفَّذ بصفت المستخدم المتصل، لذا لا ترى الأداة ولا تعدّل إلا المقررات التي يديرها ذلك المستخدم. مجموعة الأدوات الحالية:

الأداة
ما تفعله

Current user

إرجاع هوية المستخدم المصادق عليه وأدواره

Teacher courses

سرد المقررات التي يديرها المستخدم كمعلم

Course overview

إرجاع معلومات المقرر الأساسية وعدد الموارد

Create course

إنشاء مقرر جديد وفق قواعد إنشاء المقررات في المنصة

Create course assignment

إنشاء واجب مسودة أو منشور مع وصف ودرجة قصوى

Create course test

إنشاء اختبار اختيار من متعدد بمساعدة الذكاء الاصطناعي من وصف موضوع أو مستند موجود

Get course test response status

الإبلاغ عن الطلاب الذين أجابوا أو قيد التقدم أو معلّقين على اختبار

Get user course test score

إرجاع أحدث وأفضل درجات مكتملة لطالب في اختبار

Create training satisfaction survey

إنشاء استبيان رضا من سبعة أسئلة

Create course learning path

إنشاء مسار تعلّم من صفحات يقدّمها عميل MCP

List documents

سرد المستندات في أداة المستندات بالمقرر

Read course document

إرجاع محتوى HTML والعنوان والبيانات الوصفية لمستند قابل للتحرير

Edit course document

استبدال محتوى HTML الكامل لمستند موجود قابل للتحرير

Create course document

إنشاء مستند HTML بمساعدة الذكاء الاصطناعي في مجلد المستندات الجذر

Create course illustration

توليد رسم توضيحي بالذكاء الاصطناعي لموضوع وحفظه كمستند

Illustrate document paragraph

إدراج صورة أو فيديو موجود قبل فقرة في مستند أو بعدها

Find recent course forum activity

العثور على منشورات منتدى حديثة ومرئية متعلقة بموضوع

Review course quality

تحليل مسارات التعلّم والمستندات والاختبارات والواجبات والاستبيانات في مقرر، وإرجاع توصيات للتحسين

هذه القائمة ينتقيها فريق نواة Chamilo، وليست قابلة للتوسيع من المستخدم داخل المنصة — لا يمكن للمعلمين إضافة أدواتهم الخاصة.

كيف يتصل المستخدمون

مفتاح MCP API الشخصي

يولّد كل مستخدم مفتاحه الخاص ضمن الشبكة الاجتماعية > مفتاح MCP API:

  • النقر على Generate API key ينشئ مفتاحًا ويعرضه مرة واحدة — يخزّن Chamilo بعد ذلك نسخة مقنّعة فقط، لذا يجب نسخ المفتاح الكامل وتخزينه بأمان فورًا.

  • توليد مفتاح جديد يلغي فورًا المفتاح السابق.

  • تعرض الصفحة حالة المفتاح (نشط/غير نشط)، ونقطة نهاية MCP المراد تهيئتها في العميل، وتواريخ الإنشاء وآخر استخدام.

  • لوحة Remote MCP connection توضح بالضبط ما يُوضع في عميل MCP: عنوان URL لنقطة النهاية وترويسة Authorization: Bearer <your MCP API key>.

كما تشير الصفحة نفسها، يصادق المفتاح على العميل بصفته حساب ذلك المستخدم — ولا يمنح أي صلاحية لا يملكها الحساب أصلًا.

OAuth 2.1 (العملاء والموصّلات البعيدة)

بالنسبة لعملاء MCP الذين يدعمون اكتشاف OAuth والتسجيل الديناميكي للعميل (بدل مفتاح يُلصق يدويًا)، يعمل Chamilo أيضًا كخادم تفويض OAuth 2.1: يكتشف العميل نقاط نهاية Chamilo، ويسجّل نفسه، ويعيد توجيه المستخدم إلى /oauth/authorize للموافقة على الوصول. تظهر التطبيقات المعتمدة ضمن الشبكة الاجتماعية > التطبيقات المصرّح بها، حيث يمكن للمستخدم إلغاء أي منها لم يعد يستخدمه أو لا يتعرّف عليه.

اعتبارات الأمان

  • لا تصعيد للصلاحيات. كل استدعاء لأداة MCP وكل تطبيق مصرَّح له عبر OAuth يعمل بصلاحيات مستخدم Chamilo المتصل نفسه — لا يمكن لمفتاح API شخصي أو لتطبيق مصرَّح له أن يفعل أكثر مما يستطيع ذلك المستخدم فعله يدويًا أصلًا.

  • حامل فقط، ومحدود المعدّل. يقبل /mcp فقط اعتمادًا من نوع Bearer — مفتاح MCP API شخصي، أو رمز وصول OAuth، أو (في بيئة التطوير) JWT. تُحدَّد محاولات المصادقة بمعدّل لكل عنوان IP لإبطاء تخمين الاعتمادات.

  • سطح عام ضيق. الحركة غير المصادق عليها الوحيدة التي يقبلها /mcp هي طلب OPTIONS التمهيدي؛ وكل استدعاء فعلي يتطلب ROLE_USER. نقاط نهاية اكتشاف OAuth، وتسجيل العميل الديناميكي، والرموز عامة عمدًا، كما تقتضي مواصفات OAuth 2.1 / MCP — وهذا لا يمنح الوصول بحد ذاته، بل يتيح للعميل فقط معرفة كيفية بدء تدفق التفويض.

  • حماية إعادة ربط DNS معطّلة عمدًا لـ /mcp. الحزمة التي تنفّذ MCP تقيّد عادةً نقطة النهاية بـ localhost ما لم تُضبط قائمة ثابتة بأسماء المضيفين المسموح بها — وهذا لا يناسب بوابة Chamilo متعددة عناوين URL يمكن الوصول إليها تحت أسماء مضيفين كثيرة. يعطّل Chamilo ذلك الفحص لأنه زائد هنا: كل طلب إلى /mcp يتطلب أصلًا اعتماد Bearer بغض النظر عن ترويسة Host/Origin، وهجوم إعادة ربط DNS (الذي يعتمد على مصادقة محيطة بأسلوب ملفات تعريف الارتباط ترافق مضيفًا مزوَّرًا) لا يستطيع تزوير رمز حامل لا يملكه أصلًا.

إعداد خادم MCP

بخلاف معظم التكاملات في هذا الدليل، لا يملك MCP صفحة إعدادات في لوحة الإدارة — يُضبط على مستوى الملف، في config/packages/mcp.yaml، ويتطلب وصولًا عبر الصدفة إلى الخادم:

المفتاح
الغرض

app، version، description

الهوية التي يبلّغها Chamilo لعملاء MCP المتصلين

client_transports.stdio / client_transports.http

أي وسائل النقل نشطة؛ يفعّل Chamilo كليهما افتراضيًا

http.path

نقطة نهاية HTTP لـ MCP (/mcp افتراضيًا)

http.allowed_hosts

قائمة السماح بمضيفي إعادة ربط DNS — تُضبط على false في Chamilo (انظر اعتبارات الأمان أعلاه)

http.session.store، .directory، .ttl

أين تُحفظ حالة جلسة MCP ولأي مدة

لتعطيل خادم MCP بالكامل، اضبط client_transports.http: false (وstdio: false إذا كان ينبغي إيقاف نقل واجهة سطر الأوامر أيضًا) ثم امسح ذاكرة التخزين المؤقت:

نصائح

  • عامل مفتاح MCP API ككلمة مرور — أي شخص يحمله يمكنه التصرف باسم ذلك المستخدم عبر أي عميل MCP.

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

  • انظر إعداد الذكاء الاصطناعي لموفّري الذكاء الاصطناعي الذين يدعمون أدوات توليد المحتوى (إنشاء الاختبارات، إنشاء المستندات، الرسوم التوضيحية) المذكورة أعلاه.

آخر تحديث

هل كان هذا مفيدا؟