خادم بروتوكول سياق النموذج (MCP) للذكاء الاصطناعي¶
يُعد بروتوكول سياق النموذج (MCP) معياراً مفتوح المصدر يتيح لنماذج اللغة الكبيرة (LLMs) التفاعل بأمان مع التطبيقات الخارجية والوصول إلى بياناتها. في تطبيق الذكاء الاصطناعي في أودو، يمكن للمستخدمين ربط وكيل AI خارجي مباشرة بقاعدة بيانات أودو الخاصة بهم عبر خادم أودو MCP لقراءة قاعدة البيانات أو تعديلها باستخدام مسارات عمل AI المحلية الخاصة بهم.
توفر الوثائق التالية نظرة عامة على خوادم أودو MCP، وكيفية ربط وكلاء AI بها، وكيفية قراءة البيانات أو كتابتها عبر الخادم.
ملاحظة
تستخدم هذه الوثائق المصطلحات التالية ببعض المرونة، وقد تختلف عن استخدامها التقني الدقيق، سواء في أودو أو خارجيًا:
العميل: يشير بشكل عام إلى تطبيق AI الذي يتفاعل معه المستخدم. على سبيل المثال، يُشار أيضًا إلى LLM الذي يوجه المستخدم الأوامر إليه باسم العميل.
سير عمل MCP¶
في سير عمل MCP، تعمل قاعدة بيانات أودو كـ خادم MCP بعيد يتواصل مع عميل MCP (وكيل AI الخارجي للمستخدم) لتنفيذ الأدوات مثل قراءة البيانات أو تعديل السجلات في قاعدة البيانات. وتتم هذه العملية داخليًا وتكون غير مرئية للمستخدم، الذي يتفاعل مع عميل MCP فقط عن طريق تزويده بمهام محددة.
يوضح التسلسل التالي سير عمل MCP في أودو:
يقوم المستخدم بـ:ref:
تهيئة العميل <ai/mcp/configuration>بتفاصيل الخادم ومفتاح المصادقة. وبمجرد الاتصال، يُرسل العميل تلقائيًا طلبًا أوليًا إلى الخادم للحصول على أي أدوات ذكاء اصطناعي (أو إجراءات الخادم) متاحة له في قاعدة البيانات. وإذا نجح ذلك، يحفظ العميل الأدوات مؤقتًا لبقية الجلسة.يوجّه المستخدم الأوامر للعميل بلغة بسيطة. وتتوفر قائمة بـ:ref:
نماذج الأوامر <ai/mcp/use-cases>في هذه الوثائق.يطلب العميل من الخادم استدعاء الأدوات المناسبة.
بعد تنفيذ الأداة، يُعيد الخادم النتائج إلى العميل.
يستجيب العميل لأمر المستخدم بلغة بسيطة.
انظر أيضًا
التهيئة¶
تتضمن عملية التهيئة الخطوات التالية:
تهيئة تفاصيل خادم MCP والاتصال عبر العميل.
إتاحة إجراءات الخادم للعميل من أودو.
إذا لزم الأمر، قم بـ إلغاء الوصول للعملاء غير المرغوب فيهم.
مهم
قبل تهيئة إعدادات عميل الذكاء الاصطناعي في الخطوة الثانية، تأكد من تثبيت ما يلي:
وكيل ذكاء اصطناعي متوافق مع MCP (مثل: Claude Code أو Antigravity أو Codex)
Node.js (في حال المصادقة باستخدام مفتاح API)
الاتصال باستخدام OAuth¶
تُعد OAuth طريقة المصادقة الموصى بها، حيث تتيح للمستخدمين الموافقة بأمان على الوصول إلى أودو من برامجهم العميلة دون الحاجة إلى نسخ مفاتيح المصادقة أو لصقها أو كشفها يدوياً.
للمصادقة باستخدام OAuth، اتبع الخطوات التالية:
السماح للعميل بالوصول إلى قاعدة البيانات.
ربط العميل ومنح حق الوصول.
ملاحظة
يتوفر OAuth للمستخدمين الداخليين فقط. يجب على مستخدمي البوابة المصادقة باستخدام مفتاح API.
الموافقة على عملاء الذكاء الاصطناعي¶
يمكن فقط لعملاء AI المعتمدين طلب الوصول إلى قاعدة البيانات. لمراجعة العملاء المعتمدين، انتقل إلى .
يسرد حقل MCP OAuth عنوان URL للبيانات الوصفية، أو وثيقة بيانات تعريف العميل (CIMD)، لكل عميل معتمد.
للموافقة على عميل آخر يدعم CIMD، أضف عنوان URL للبيانات الوصفية الخاصة به في سطر جديد، ثم انقر على حفظ.
بالنسبة للعملاء الذين لا يدعمون CIMD، حدد مربع الاختيار السماح بالتسجيل الديناميكي للعميل (DCR). يتيح ذلك لـ أي عميل MCP تسجيل نفسه وطلب الوصول.
تحذير
يتيح تفعيل DCR لأي تطبيق التسجيل كعميل. لحظر عميل مسجل، قم بتفعيل وضع المطور، وانتقل إلى ، ثم قم بأرشفة العميل.
ربط العميل ومنح حق الوصول¶
في عميل MCP، أضف خادماً باستخدام عنوان URL لنقطة نهاية الخادم فقط (على سبيل المثال، https://example.odoo.com/mcp).
مهم
تأكد من استبدال العناصر النائبة التالية بالقيم المناسبة:
server_name: أدخل اسماً مخصصاً لتحديد خادم MCP.database_url: أدخل عنوان URL لقاعدة بيانات Odoo.
في موجه الأوامر، الصق الأمر التالي لإضافة خادم MCP:
claude mcp add --transport http <server_name> <database_url>/mcp
بعد ذلك، شغّل claude mcp list للتحقق من حالة اتصال الخادم المضاف حديثاً.
في موجه الأوامر، الصق الأمر التالي لإضافة خادم MCP:
grok mcp add --transport http <server_name> <database_url>/mcp
بعد ذلك، شغّل grok mcp list للتحقق من حالة اتصال الخادم المضاف حديثاً.
افتح ChatGPT، وانتقل إلى .
حدد اسماً، ونقطة النهاية/عنوان URL (<database_url>/mcp)، وطريقة المصادقة (OAuth). وأخيراً، احفظ لإضافة الخادم.
بعد إضافة الخادم، يفتح العميل صفحة تسجيل الدخول إلى Odoo في المتصفح. بعد تسجيل الدخول، توضح صفحة منح حق الوصول العميل الذي يطلب الوصول. ضمن تنتهي صلاحية وصول <client> بعد:، حدد المدة التي يظل فيها الوصول صالحاً، ثم انقر على السماح.
بعد منح حق الوصول، يُعيد المتصفح التوجيه إلى العميل. وعند انتهاء صلاحية الوصول، يطلب العميل من المستخدم تسجيل الدخول مجدداً.
الاتصال باستخدام مفتاح API¶
لتوصيل عميل MCP بالخادم، يجب على المستخدمين أولاً إعداد المصادقة على الخادم عبر مفتاح API ثابت. وفي كل مرة يرسل فيها عميل MCP طلبًا إلى الخادم، فإنه يستخدم المفتاح للمصادقة على هوية المستخدم وصلاحياته في قاعدة بيانات أودو.
لتوليد مفتاح API، انقر على أيقونة المستخدم في الزاوية العلوية، ثم حدد تفضيلاتي.
في النافذة المنبثقة تغيير تفضيلاتي، افتح علامة التبويب الأمان. بعد ذلك، اضغط على إنشاء مفتاح API. في النافذة المنبثقة التحكم في الوصول، قم بتأكيد كلمة مرور قاعدة البيانات.
بعد تأكيد كلمة المرور، قم بتهيئة مفتاح API في النافذة المنبثقة إنشاء مفتاح API عن طريق إدخال المعلومات التالية:
اسم المفتاح: أدخل اسماً موجزاً ووصفياً للمفتاح.
النطاق: حدد الخيار MCP لتحديد نوع المفتاح.
انتهاء الصلاحية: حدد الفترة الزمنية التي يجب أن يكون المفتاح صالحاً خلالها (على سبيل المثال،
شهر واحد).
أخيراً، اضغط على إنشاء المفتاح لتوليد المفتاح.
مهم
احرص على حفظ المفتاح في مكان آخر؛ فبمجرد إنشائه، يُعرض المفتاح للمستخدم مرة واحدة فقط ويبقى مخفيًا بعد ذلك.
تهيئة إعدادات الخادم¶
بعد إنشاء مفتاح مصادقة في Odoo، يجب على المستخدم تهيئة العميل الخاص به بشكل صحيح بما يلي:
مفتاح API الذي تم إنشاؤه في القسم السابق
عنوان URL للخادم، أو نقطة النهاية، التي يتصل بها العميل. يتكون عنوان URL هذا من عنوان URL لقاعدة بيانات المستخدم متبوعاً بـ
/mcp(على سبيل المثال،https://example.odoo.com/mcp).
مهم
تأكد من استبدال العناصر النائبة التالية بالقيم المناسبة:
server_name: أدخل اسماً مخصصاً لتحديد خادم MCP.database_url: أدخل عنوان URL لقاعدة بيانات Odoo.API_KEY: أدخل مفتاح API الذي تم إنشاؤه في القسم السابق.
يمكن إجراء الاتصال بـ Odoo MCP باستخدام Claude إما عبر Claude Desktop أو عبر Claude Code CLI.
عبر Claude Desktop
افتح Claude Desktop. انتقل إلى . يسرد قسم Local MCP Servers كافة خوادم MCP التي تمت تهيئتها مع حالاتها.
لإضافة خادم جديد، انقر فوق تعديل التكوين. في مستكشف الملفات، افتح claude_desktop_config.json والصق مقتطف JSON التالي بين علامات الحذف الخارجية:
{
...
"mcpServers": {
"<server_name>": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"<database_url>/mcp",
"--header",
"Authorization: Bearer <API_KEY>"
]
}
},
...
}
بعد حفظ ملف التكوين، من المفترض أن يظهر الخادم المضاف حديثاً في قسم Local MCP Servers مع حالة الاتصال الخاصة به.
عبر Claude Code CLI
في موجه الأوامر، الصق الأمر التالي لإضافة خادم MCP:
claude mcp add --transport stdio <server_name> -- npx -y mcp-remote <database_url>/mcp --header "Authorization: Bearer <API_KEY>"
ملاحظة
لإضافة الخادم إلى التكوين العام للنظام (على مستوى المستخدم) (أي إمكانية الوصول إلى الخادم من كافة المشاريع)، قم بتضمين العلامة --scope user في الأمر أعلاه.
أخيراً، قم بتشغيل claude mcp list للتحقق من حالة اتصال الخادم المضاف حديثاً.
يمكن الاتصال بـ Odoo MCP باستخدام Google Antigravity من خلال Antigravity 2.0 أو Antigravity CLI.
التهيئة عبر Antigravity 2.0
افتح Antigravity 2.0 وانتقل إلى . يسرد قسم Installed MCP Servers كافة خوادم MCP المهيأة مع حالاتها.
لإضافة خادم جديد، انقر على فتح تكوين MCP. في مستكشف الملفات، افتح mcp_config.json والصق مقتطف JSON التالي بين علامتي الحذف الخارجيتين:
{
...
"mcpServers": {
"<server_name>": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"<database_url>/mcp",
"--header",
"Authorization: Bearer <API_KEY>"
]
}
},
...
}
بعد حفظ ملف التهيئة، من المفترض أن يظهر الخادم المضاف حديثاً في قسم Installed MCP Servers مع حالة اتصاله.
الاتصال عبر Antigravity CLI
قبل الاتصال باستخدام Antigravity CLI، قم بتهيئة الخادم في Antigravity 2.0.
للتحقق من حالة الاتصال، شغّل agy في الطرفية لبدء Antigravity. بعد ذلك، شغّل /mcp. من المفترض أن يظهر الخادم المضاف حديثاً مع حالة اتصاله.
يمكن تهيئة خادم Odoo MCP في Codex إما عن طريق تعديل ملف التهيئة مباشرةً أو عبر Codex CLI.
عبر ملف التهيئة
افتح ملف config.toml الموجود في الدليل الجذري (~/.codex/config.toml). ثم الصق ما يلي في ملف التهيئة:
[mcp_servers.<server_name>]
command = "npx"
args = ["-y", "mcp-remote", "<database_url>/mcp", "--header", "Authorization: Bearer <API_KEY>"]
ملاحظة
بينما يوجد ملف config.toml بشكل عام في الدليل الجذري للنظام، يمكن أيضاً إنشاؤه للمشاريع المحلية الموثوقة عن طريق تهيئة ملف .codex/config.toml في الدليل.
عبر Codex CLI
في موجه الأوامر، الصق الأمر التالي لإضافة خادم MCP:
codex mcp add <server_name> -- npx -y mcp-remote <database_url>/mcp --header "Authorization: Bearer <API_KEY>"
للتحقق من حالة الاتصال، شغّل codex في الطرفية لبدء Codex. بعد ذلك، شغّل /mcp. من المفترض أن يظهر الخادم المضاف حديثاً.
إتاحة الأدوات للعميل¶
بعد الاتصال بالخادم، يقرأ عميل MCP البيانات ويكتبها في قاعدة بيانات Odoo عن طريق استدعاء الأداة المناسبة وفقاً لطلب المستخدم.
يمكن الوصول إلى هذه الأدوات عن طريق تفعيل وضع المطور، ثم الانتقال إلى لفتح لوحة معلومات إجراءات الخادم، أو الأدوات.
بشكل افتراضي، تتيح قاعدة بيانات Odoo الأدوات التالية للعميل:
أداة الذكاء الاصطناعي: الحصول على الحقول
أداة الذكاء الاصطناعي: الحصول على النماذج
أداة الذكاء الاصطناعي: استرداد السياق الأولي لـ MCPأداة الذكاء الاصطناعي: بحث
أداة الذكاء الاصطناعي: مجموعة القراءة
تظل باقي الأدوات مخفية عن العميل ويجب إتاحتها يدويًا لتتمكن من استدعائها.
لإتاحة أداة، انقر على عنصر الأداة. في علامة تبويب الاستخدام في نموذج إجراء الخادم، حدد مربع الاختيار بجوار متاح في MCP. واختياريًا، حدد مربع الاختيار بجوار أداة للقراءة فقط للإشارة إلى أن الأداة لا تكتب بيانات موجودة أو تعدلها ويمكن استدعاؤها تلقائيًا دون موافقة المستخدم.
ملاحظة
لا يؤدي تحديد مربع الاختيار أداة للقراءة فقط إلى "إخفاء" الأداة عن عميل الذكاء الاصطناعي، بل يخطر العميل فقط بأن الأداة آمنة للاستدعاء دون موافقة صريحة من المستخدم.
انظر أيضًا
راجع صفحة الأدوات المتاحة للاطلاع على قائمة كاملة بالأدوات المتاحة في قاعدة البيانات.
إبطال الوصول¶
يظهر كل اتصال، سواء تم عبر OAuth أو باستخدام مفتاح API، كمفتاح API في علامة التبويب الخاصة بالمستخدم. لإلغاء حق الوصول، احذف المفتاح المقابل.
أمثلة على حالات الاستخدام¶
يمكن استخدام خادم Odoo MCP لإنجاز حالات الاستخدام التالية، بما في ذلك أمثلة على مطالبات المستخدم.
تحليل البيانات وإعداد التقارير¶
حالة استخدام |
مثال على مطالبة |
|---|---|
مراجعة دورة المبيعات |
"أظهر لي الفرص المتاحة لدي مجمعة حسب المرحلة، ثم اعرض قيمة دورة المبيعات في مخطط بياني حسب موظف المبيعات." |
تخطيط التصنيع/المخزون |
"ما هي المنتجات في جدول الإنتاج الرئيسي التي ليس لديها بيانات توقعات، وما هو إجمالي الطلب المتوقع لهذا الشهر؟" |
إعداد التقارير التاريخية |
"ما المبلغ الذي قمنا بفوترته في الربع الأخير مقارنة بهذا الربع؟" |
تصميم مخصص¶
حالة استخدام |
مثال على مطالبة |
|---|---|
تحرير محتوى الموقع الإلكتروني |
"أضف بانر إلى صفحتي الرئيسية يعلن عن تخفيضات الصيف، باستخدام صورة جاهزة لشاطئ." |
تصميم مخصص للموقع |
"اجعل زوايا جميع صور منتجاتي مستديرة على مستوى الموقع بأكمله." |
توليد الصور بالذكاء الاصطناعي |
"قم بتوليد صورة لجبل عند الغسق وضعها في قسم البطل (Hero section)." |