أدلة تينغ · للرئيس التقني ومدير تقنية المعلومات
MCP أو API: كيف توصّلون مساعد ذكاء اصطناعي بنظام CRM بأمان؟
الجواب المختصر
استخدموا الاثنين. واجهة CRM البرمجية تبقى هي الطريق للبيانات، وخادم MCP يغلّف هذي الواجهة في كم أداة لها أسماء يقدر يستدعيها أي تطبيق ذكاء اصطناعي يدعم MCP، بدل ربط مخصص لكل تطبيق. والأمان يجي من اللي تبنونه داخل الخادم: صلاحيات المستخدم نفسه في كل طلب، وأقل حقول، ومهلة زمنية، وسجل.
وش يعتمد عليه الاختيار
وش هو MCP، ووش مو هو
بروتوكول سياق النموذج MCP معيار مفتوح أطلقته Anthropic في نوفمبر 2024 لربط مساعدات الذكاء الاصطناعي بالأنظمة اللي فيها البيانات. وتوثيقه يقول إنه يركّز بس على بروتوكول تبادل السياق، وما يحدد كيف تستخدم تطبيقات الذكاء الاصطناعي النماذج اللغوية. يعني هو طريق دخول، مو نظام أمان.[1][2]
كم تطبيق ذكاء اصطناعي بيتصل
مساعد واحد يكلّم نظام CRM واحد يقدر يستدعي الواجهة البرمجية مباشرة. ولما يحتاج تطبيق ثاني أو ثالث، أو فريق ثاني، نفس البيانات، فخادم MCP قدام الواجهة يخلي كل واحد منهم يستخدم نفس الأدوات بدل ربط جديد كل مرة.
كيف يتصل كل تطبيق
MCP يحدد طريقتين للاتصال: stdio لخادم محلي على نفس الجهاز، وStreamable HTTP للخوادم البعيدة، وهذي تدعم طرق التوثيق المعتادة في HTTP مثل رموز الدخول (bearer tokens)، مع توصية باستخدام OAuth للحصول عليها. تأكدوا أي طريقة اتصال وأي توثيق يدعمها كل تطبيق قبل ما توعدون إنه بيتصل.[2]
وش مسموح للذكاء الاصطناعي يسوي
قراءة ملف عميل وفتح تذكرة مخاطرهم مختلفة. وتوصية OWASP في خطر الصلاحيات المفرطة إنكم تحصرون الأدوات وصلاحياتها في الحد الأدنى اللازم، وتشترطون موافقة إنسان على الإجراءات عالية الأثر قبل تنفيذها.[4]
متى يكون خادم MCP أفضل من الربط المباشر بالواجهة؟
MCP ما يلغي الواجهة البرمجية. السؤال: كل تطبيق ذكاء اصطناعي له ربط خاص فيه، أو كلهم يتشاركون خادم واحد؟
- مساعد المبيعات
- مساعد الخدمة
- مساعد التقارير
واجهة CRM البرمجية
ثلاث عمليات ربط، كل وحدة تنبني وتتحدث وتتأمّن لحالها
- مساعد المبيعات
- مساعد الخدمة
- مساعد التقارير
خادم MCP واحد
فحص الهوية والصلاحيات في كل طلب
واجهة CRM البرمجية
التطبيق الجديد يتصل بنفس الخادم ويستخدم نفس الأدوات
| السؤال | ربط مباشر بالواجهة | خادم MCP فوق نفس الواجهة |
|---|---|---|
| ربط تطبيق ذكاء اصطناعي جديد | تبنون ربط ثاني من الصفر | يتصل بنفس الخادم ويستخدم نفس الأدوات |
| تغيير في CRM | تعدّلون كل ربط | تعدّلون الخادم مرة وحدة |
| وين الصلاحيات | موزّعة على كل ربط | داخل كل أداة، في خادم واحد |
| وش يشوف الذكاء الاصطناعي | اللي يعرضه كل ربط | قائمة أدوات لها أسماء، ولكل وحدة وصف ومخطط مدخلات |
| يناسب أكثر لما | تطبيق واحد، ونظام واحد، وطلبات قليلة | أكثر من تطبيق ذكاء اصطناعي أو فريق يحتاجون نفس البيانات |
كيف تربطونه خطوة خطوة؟
1القراءة
ابدؤوا ببيانات افتراضية وأداة قراءة وحدة
مثلاً أداة get_customer اللي تاخذ رقم العميل customer_id بس. لا تبدؤون بحذف السجلات ولا بأي شي يحرّك فلوس.
استخدموا حزمة SDK الرسمية بلغة فريقكم
اتبعوا دليل البداية الحالي لبناء الخادم في توثيق MCP، وسجّلوا نسخة حزمة SDK في مشروع تجريبي قبل ما يلمس أي شي بيانات حقيقية.[2]
أعطوا كل أداة اسم ووصف ومخطط مدخلات واضح
get_customer تاخذ customer_id وبس، ووصفها يقول إنها ترجّع ملف عميل مسموح للمستخدم الحالي يشوفه. ولا تخلّون النموذج يختار الشركة أو الكيان من نص السؤال أبداً.
2الصلاحيات
افحصوا الهوية والصلاحيات داخل الخادم
خذوا هوية المستخدم وكيانه وصلاحياته من تسجيل الدخول، وهو مصدر موثوق، وتأكدوا إن هذا المستخدم مسموح له يشوف هذا العميل قبل ما ترجّعون أي شي. وصف الأداة، أو رسالة الموافقة في تطبيق الذكاء الاصطناعي، مو هو الفحص. وإرشادات الأمان في MCP واضحة إن الخادم ما يقبل رموز دخول ما انصدرت له.[3]
رجّعوا أقل حقول، مع حدود
رجّعوا بس الحقول اللي يحتاجها الطلب، وحطّوا مهلة زمنية وحد لحجم النتيجة، واكتبوا رسائل خطأ ما تكشف بيانات ولا أسرار.
3الإطلاق
اربطوا تطبيق واحد، وبعدها الثاني
تأكدوا إن أول تطبيق يشوف الأدوات ويستخدمها صح. ولا تربطون الثاني إلا بعد ما تتأكدون إنه يدعم نفس طريقة الاتصال والتوثيق.
بعدها أضيفوا أداة كتابة وحدة
أداة مثل create_ticket تغيّر بيانات، فتحتاج صلاحيات أضيق، وموافقة إنسان لما يكون الأثر كبير، وحماية من التنفيذ مرتين.[4]
سجّلوا كل طلب
سجّلوا مين طلب، وأي أداة، ومتى، والنتيجة، بدون ما تسجّلون ملف العميل كامل أو أي رمز دخول.
أداة وحدة، مثل ما يشوفها تطبيق الذكاء الاصطناعي
هذا التعريف اللي يرجّعه الخادم لما يطلب التطبيق قائمة الأدوات: اسم، وعنوان، ووصف، ومخطط مدخلات. الوصف مكتوب للنموذج، فيقول بالضبط وش ترجّع الأداة ولمين.
{
"name": "get_customer",
"title": "Customer file",
"description": "One customer file the signed-in user may see: name, owner, open orders, balance.",
"inputSchema": {
"type": "object",
"properties": {
"customer_id": {
"type": "string",
"description": "The CRM customer ID, for example C10482"
}
},
"required": ["customer_id"]
}
}ترتيب الفحوصات داخل الأداة
مسودة توضيحية، مو إطار عمل: تحققوا من المستخدم، واسحبوا البيانات بمهلة زمنية، وافحصوا الصلاحية، وسجّلوا، وبعدها رجّعوا الحد الأدنى. ونفس الرسالة لحالة «ما انوجد» و«غير مسموح» تمنع الأداة تكشف أي أرقام عملاء موجودة.
def get_customer(request, args):
user = verify_token(request) # issued to THIS server; reject any other token
if user is None:
return error("Please sign in again") # no tool runs without a valid identity
record = crm.get_customer(args["customer_id"], timeout_s=5)
if record is None or not user.may_view(record): # entity, branch and role
log(user.id, "get_customer", args["customer_id"], "refused")
return error("Customer not found or not available to you")
log(user.id, "get_customer", args["customer_id"], "ok")
return pick(record, "name", "owner", "open_orders", "overdue_balance")وش يتغير للشركات في السعودية
معلومات عامة، مو استشارة قانونية. كل نقطة نظامية هنا ملخّصة من مصدرها الرسمي المذكور جنبها، حسب تاريخ المراجعة الموضّح تحت المصادر، وتأكدوا من تطبيقها على شركتكم مع مستشاركم القانوني.
أكثر من كيان على نظام CRM واحد
لما شركات المجموعة تتشارك نظام CRM واحد، فالكيان جزء من هوية المستخدم اللي تجي من تسجيل الدخول، مو من كلام السؤال. وبكذا الخادم يرفض أي طلب لعميل كيان ثاني، مهما كان مكتوب في الطلب.
سجلات العملاء ومكان تشغيل النموذج
الأداة اللي ترجّع ملفات العملاء ترسل بيانات شخصية للمكان اللي يشتغل فيه نموذج الذكاء الاصطناعي. وإذا كان خارج المملكة، فالمادة التاسعة والعشرون من نظام حماية البيانات الشخصية (الصادر بالمرسوم الملكي رقم م/19 وتاريخ 9/2/1443هـ، والمعدل بالمرسوم الملكي رقم م/148 وتاريخ 5/9/1444هـ) تحدد شروط النقل، ومنها توفر مستوى مناسب لحماية البيانات الشخصية، وأن يقتصر النقل على الحد الأدنى من البيانات الشخصية اللي تدعو الحاجة له، ولائحة نقل البيانات الشخصية إلى خارج المملكة تحدد حالات الإعفاء من هالشرطين والضمانات المطلوبة فيها (المادة الرابعة). وإرجاع أقل حقول ممارسة هندسية سليمة تتماشى مع شرط الحد الأدنى، أما هل النقل مسموح أو لا فهذا سؤال لمستشاركم القانوني.[5][6]
أسئلة بالعربي وأسماء أدوات بالإنجليزي
خلّوا أسماء الأدوات بالإنجليزي وبصيغة snake_case، بس اكتبوا أوصاف تغطي الطريقة اللي يسأل فيها موظفيكم فعلاً، واختبروا أسئلة عربية تذكر العملاء بأسمائهم بالعربي وبالحروف اللاتينية.
اختبار الصلاحيات في ربع ساعة، معبّى
الشكلمثال عملي
ست حالات تختبرونها قبل ما يتصل أي تطبيق ذكاء اصطناعي، هنا في مجموعة راسخ القابضة الافتراضية، اللي فيها راسخ للسيارات وراسخ التجارية يتشاركون نظام CRM واحد. إذا فشلت حالة وحدة، صلّحوها قبل ما تربطون أي شي ثاني.
| الحالة | الطلب (افتراضي) | النتيجة الصح | في هذي التجربة |
|---|---|---|---|
| طلب مسموح | سارة، مبيعات راسخ للسيارات، تطلب عميل راسخ للسيارات رقم C10482 | يرجع الملف بأربعة حقول بس | نجح |
| خارج صلاحياتها | سارة تطلب عميل راسخ التجارية رقم C20931 | ينرفض قبل ما تطلع أي بيانات من الخادم | فشل وانصلح |
| طلب ناقص | حقل رقم العميل (customer_id) فاضي أو مكتوب غلط | رسالة خطأ واضحة | نجح |
| CRM بطيء أو واقف | CRM ما رد خلال خمس ثواني | مهلة زمنية ورسالة آمنة، بدون تكرار لا نهائي | نجح |
| دخول غير صالح | جلسة منتهية، أو تطبيق مو معتمد | ما تشتغل أي أداة | نجح |
| نفس الطلب من تطبيقين | سارة تسأل نفس السؤال في تطبيقين ذكاء اصطناعي | نفس النتيجة ونفس الصلاحيات | نجح |
القراراربطوا أول تطبيق. الفشل الوحيد ما سرّب شي من السجل نفسه: رسالة الخطأ كانت «غير مسموح» للأرقام الموجودة و«ما انوجد» للأرقام غير الموجودة، وهذا كشف أي أرقام موجودة عند كيان ثاني. الحين رسالة وحدة للحالتين، والحالة نجحت.
أسئلة تتكرر
هل MCP يلغي الواجهة البرمجية لنظام CRM؟
هل ربط MCP آمن من نفسه؟
نحتاج MCP إذا عندنا تطبيق ذكاء اصطناعي واحد بس؟
وش تسوي تينغ هنا، ووش ما تسويه
وش نسوي
- نحدد الأدوات والصلاحيات وقواعد الموافقة في مخطط حل الذكاء الاصطناعي، وبعدها نبني الخادم على الواجهة البرمجية الحالية لنظام CRM عندكم.
- نسوي اختبارات الصلاحيات على بيانات افتراضية أول، وبعدها على النطاق الحي المتفق عليه، قبل ما يتصل أي تطبيق، ونسلّم السجلات وأدلة التشغيل.
وين تساعد تينغ: تنفيذ حلول الذكاء الاصطناعي المخصّصة
وش ما نسوي
- ما نعطي تطبيق ذكاء اصطناعي حساب مشترك يشوف كل شي في CRM عندكم.
- ما نربط أدوات الكتابة قبل ما تنجح أدوات القراءة في اختباراتها.
المصادر
مصادر أصلية فقط، وكل واحد منها قرأناه كامل في التاريخ المذكور.
- إطلاق بروتوكول سياق النموذج MCP (25 نوفمبر 2024)Anthropic · تاريخ المراجعة
- نظرة على بنية MCP: المضيف والعميل والخادم والأدوات وطرق الاتصالبروتوكول سياق النموذج (MCP) · تاريخ المراجعة
- أفضل ممارسات الأمان: تمرير رموز الدخول وتقليل نطاق الصلاحياتبروتوكول سياق النموذج (MCP) · تاريخ المراجعة
- LLM06:2025 الصلاحيات المفرطة (Excessive Agency)مشروع OWASP لأمن الذكاء الاصطناعي التوليدي · تاريخ المراجعة
- نظام حماية البيانات الشخصية (المرسوم الملكي م/19 وتاريخ 1443/2/9هـ، والمعدّل بالمرسوم الملكي م/148 وتاريخ 1444/9/5هـ)هيئة الخبراء بمجلس الوزراء · تاريخ المراجعة
- لائحة نقل البيانات الشخصية إلى خارج المملكة، الإصدار 2.0 (أغسطس 2024)سدايا · تاريخ المراجعة
