قمت بربط خادم Oracle Managed MCP ببرامج عملاء دردشة الذكاء الاصطناعي
أصبحت مساعدات الذكاء الاصطناعي الآن تفعل أكثر من مجرد التحدث. فهي تستخدم بروتوكول سياق النموذج (Model Context Protocol - MCP) لاستدعاء أدوات خارجية.
قمت باختبار خادم MCP المدار من Oracle في OCI. كان هدفي هو إنشاء فحص حالة للقراءة فقط (read-only health check) لقاعدة بيانات Oracle E-Business Suite. أردت أن أسأل الذكاء الاصطناعي: "هل قاعدة البيانات تعمل؟" أو "أي من المديرين متوقف عن العمل؟"
لقد نجح الأمر. أصبح لدي مساعد ذكاء اصطناعي يسحب بيانات حالة قاعدة البيانات مباشرة. إليكم ما تعلمته خلال هذه العملية.
الإعداد
- استخدام خادم MCP مدار في OCI.
- توجيهه إلى قاعدة البيانات باستخدام مستخدم للقراءة فقط (read-only user).
- بناء أدوات SQL مخصصة لاستعراض المثيلات (instances) والجلسات النشطة (active sessions).
- ربط عميل دردشة ذكاء اصطناعي عبر MCP و OAuth.
دروس رئيسية
1. الشبكات والأمن
تعمل خدمة MCP في بيئة (tenancy) Oracle. لا يمكنها الوصول إلى قاعدة بياناتك الخاصة بمفردها. يجب عليك إرفاق نقطة نهاية خاصة (Private Endpoint) بشبكتك السحابية الافتراضية (VCN). وللحفاظ على الأمان، اتصل بمستخدم قاعدة بيانات للقراءة فقط؛ فهذا يمنع أي عمليات كتابة غير مقصودة.
2. انتبه لرابط URL
يتضمن كل رابط URL لخادم OCI MCP جزءًا للتاريخ مثل /20250830/. إذا استخدمت تاريخًا قديمًا، فستتلقى خطأ HTTP 404. يبدو هذا الخطأ وكأنه مشكلة في المصادقة (auth)، ولكنه مجرد مسار خاطئ. انسخ رابط URL الدقيق من وحدة التحكم (console) الخاصة بك.
3. مشكلة OAuth
تفشل العديد من واجهات مستخدم الدردشة القائمة على الويب مع هذا الخادم. فهي تحاول اكتشاف إعدادات OAuth عبر الخادم، ولكن Oracle تعيد خطأ 404 للطلبات غير المصادق عليها، مما يؤدي إلى توقف تدفق عملية تسجيل الدخول. بالإضافة إلى ذلك، تفتقر واجهات الويب التي تعمل بدون واجهة رسومية (headless) إلى متصفح لتسجيل الدخول التفاعلي.
4. استخدم رموز المستخدم (User Tokens) وليس رموز التطبيقات (App Tokens)
حاولت استخدام رمز client-credentials لتخطي المتصفح. تمت عملية المصادقة، لكنني افتقرت إلى الصلاحيات. ترتبط أدوار Oracle بالمستخدمين وليس بالتطبيقات. يجب عليك استخدام رمز authorization_code (للمستخدم). بما أن المستخدم هو من يحمل الدور، فإن الرمز سيعمل.
5. استخدم تطبيقات سطح المكتب
تعمل تطبيقات سطح المكتب مثل Claude Desktop أو VS Code بشكل جيد لأنها تحتوي على متصفحات مدمجة لتسجيل الدخول. استخدم mcp-remote مع بيانات وصفية (metadata) ثابتة لـ OAuth لتجاوز مشكلة اكتشاف خطأ 404.
نصائح سريعة
- في نظام Windows، استخدم
npx.cmdبدلاً منnpx. - لا تقم بتشغيل عميلين على نفس منفذ استدعاء OAuth (callback port).
- تجنب استخدام النقطتين الرأسيتين (colons) في تنسيق تاريخ SQL مثل
TO_CHAR؛ فقد يخطئ النظام في اعتبارها متغيرات ربط (bind variables). استخدم التواريخ الخام بدلاً من ذلك. - استخدم طرق العرض
gv$بدلاً منv$لرؤية جميع مثيلات RAC.
يعد استخدام MCP المدار مع وكلاء الذكاء الاصطناعي مفيداً لمهام قواعد البيانات الخاضعة للحوكمة. قم بمطابقة العميل مع بيئة النشر الخاصة بك، واستخدم دائماً مستخدمين بصلاحيات القراءة فقط.
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi