مرحبًا بالجميع، معكم أمير. سنتحدث في هذا المقال عن موضوع مهم جدًا. أولًا، سنتناول بروتوكول سياق النموذج (MCP)، الذي أحدث شهرة وضجة كبيرة حاليًا في عالم أتمتة الذكاء الاصطناعي، خاصة في الأسبوع الأخير، على الرغم من وجوده منذ نوفمبر 2024. سبب هذه الضجة هو توفر أدوات تمكّنك من استخدامه الآن. في السابق، كانت الفكرة نظرية إلى حد ما، ولم تطبقها الشركات على أرض الواقع. أما الآن، فقد بدأت العديد من الشركات في تطبيقها، ويبدو أن المزيد من الشركات ستحذو حذوها.
لذلك، دعونا ننتقل مباشرة إلى الشرح.
ما هو بروتوكول سياق النموذج (MCP)؟
بروتوكول سياق النموذج (MCP) هو لغة موحدة تهدف إلى تمكين الأدوات المختلفة من التواصل مع بعضها البعض بسهولة. تخيل أنك مدير وتشغّل موظفين اثنين، أحدهما يتحدث الفرنسية والآخر الإسبانية، ولا يستطيعان فهم بعضهما. في هذه الحالة، ستضطر إلى شرح كيفية تواصلهما لكل مهمة. على سبيل المثال، لتمرير ورقة، عليك أن تشرح للأول ماذا يقول للثاني، وإذا أردت منه أن يساعده في مهمة أخرى، ستحتاج إلى شرح مختلف. ومع كل مهمة جديدة، مثل “اذهب إلى المنزل”، ستحتاج إلى تعليمات جديدة. هذا الوضع معقد وغير عملي.
هنا يأتي دور شركة Anthropic، الشركة الأم لـ Claude، التي فكرت في حل: لماذا لا يوجد بروتوكول موحد تتبعه جميع الأدوات؟ بهذه الطريقة، لا يحتاج “الرأس المدبر” (صانع الأتمتة) إلى شرح كيفية التواصل بين الأدوات. إذا كانت جميع الأدوات تتحدث نفس اللغة، يمكنك ببساطة أن تطلب منها العمل معًا، وستفهم تلقائيًا ما يجب القيام به. عندما تطلب أداة ورقة، ستفهم الأداة الأخرى الطلب وتسلمها الورقة، وعندما تطلب منها المغادرة، ستغادر دون الحاجة إلى تدخل إضافي.
تم تقديم فكرة MCP في أواخر نوفمبر، أي منذ حوالي أربعة أشهر. لكن شهرتها ازدادت بشكل كبير في الأيام القليلة الماضية لأن الأدوات التي تتحدث هذه اللغة أصبحت متاحة الآن. منذ نوفمبر، بدأت الشركات بتعليم أدواتها هذه اللغة، مما سمح لأدوات مختلفة بالتواصل بسلاسة.
خلاصة القول، MCP هو المستقبل لأنه يفتح آفاقًا واسعة جدًا في عالم الأتمتة.
المشكلة في الأتمتة التقليدية
لفهم أهمية MCP، دعونا نلقي نظرة على الأتمتة التقليدية. في سير عمل أتمتة عادي، إذا أردنا استخدام أداة مثل Airtable (الشبيه بـ Google Sheets)، فإننا نحدد مسبقًا الإجراء الذي يمكنها القيام به.
على سبيل المثال، إذا قمنا بإعداد عقدة (node) للبحث عن سجل (Search Records
) في Airtable، فهذا هو الإجراء الوحيد الذي يمكنها تنفيذه. لا يمكنها تحديث سجل أو إنشاء سجل جديد أو حذفه.
إذا أردنا أن تقوم الأداة بعمليات أخرى، كنا نضطر سابقًا إلى إضافة عقدة منفصلة لكل عملية:
- عقدة لإنشاء السجلات (
Create Records
). - عقدة لتحديث السجلات (
Update Records
). - عقدة لحذف السجلات (
Delete Records
).
وكل عقدة تتطلب تكوينًا يدويًا مفصلاً (تحديد القاعدة، الجدول، الحقول، إلخ). هذا يجعل سير العمل معقدًا وغير مرن، خاصة مع الأدوات التي لديها العديد من العمليات الممكنة.
الحل: كيف يعمل MCP
مع MCP، يمكن استبدال كل هذا التعقيد بعقدة واحدة. بدلًا من تحديد كل عملية مسبقًا، يمكننا استخدام عقدة MCP واحدة تتصل بـ Airtable.
عندما نطلب من نموذج الذكاء الاصطناعي (مثل GPT) تنفيذ مهمة، فإنه يقوم أولًا بسؤال عقدة MCP عن قائمة بجميع الأدوات (الإجراءات) المتاحة في Airtable.
[AI Model] -> [MCP Node: List Tools] -> [Airtable]
ستُرجع Airtable قائمة بجميع الإجراءات التي يمكنها تنفيذها، مثل:
list_records
search_records
list_bases
list_tables
describe_table
create_record
- وغيرها (حوالي 13 إجراءً في المجموع).
بعد ذلك، عندما نطلب من الذكاء الاصطناعي “أضف جدولًا جديدًا”، سيقوم النموذج بتحليل الطلب، ومقارنته بقائمة الأدوات المتاحة، وتحديد أن الأداة المناسبة هي create_table
. ثم يرسل هذا الأمر إلى عقدة تنفيذ MCP لتنفيذه.
[AI Model selects 'create_table'] -> [MCP Node: Execute Tool] -> [Airtable performs action]
كل هذا يحدث تلقائيًا دون الحاجة إلى تكوين كل عملية يدويًا.
كيفية إعداد MCP مع n8n (استضافة ذاتية)
حاليًا، النسخة السحابية (Cloud) من منصة n8n لا تدعم بروتوكول MCP رسميًا. لذلك، لاستخدامه، نحتاج إلى استضافة المنصة ذاتيًا (self-host) على جهاز كمبيوتر أو خادم.
الخطوات:
- استخدام خدمة استضافة مثل Elestio:
- اذهب إلى Elestio وأنشئ حسابًا تجريبيًا مجانيًا.
- اربط حسابك بحساب Google.
- أضف طريقة دفع (بطاقة ائتمان). سيخضع حسابك لمراجعة سريعة.
- إنشاء خدمة n8n:
- اذهب إلى قسم “Services”.
- ابحث عن “n8n” وحددها.
- اختر مزود الخدمة السحابية (Cloud Provider)، والمنطقة (Region)، وخطة الخدمة (Service Plan). خطة “Large” (4 vCPU) تعد خيارًا جيدًا لأن MCP يتطلب بعض الموارد.
- قم بتسمية الخدمة (مثل “demo”) واختر مستوى الدعم.
- انقر على “Create Service”.
- إعداد n8n:
- بعد اكتمال النشر، انسخ عنوان URL الخاص بالخدمة وافتحه في متصفحك.
- أنشئ حسابًا جديدًا على نسخة n8n المستضافة ذاتيًا (فهي منفصلة عن حسابك السحابي).
- تخطَّ طلب الميزات المدفوعة.
- تثبيت عقد MCP (Community Nodes):
- في واجهة n8n، اذهب إلى
Settings > Community Nodes
. - ستحتاج إلى عنوان URL الخاص بمستودع عقد MCP على GitHub. ابحث عن مستودع
n8n-nodes-mcp-client
. - انسخ اسم الحزمة:
n8n-nodes-mcp-client
. - الصقه في حقل التثبيت في n8n، وافق على الشروط، وانقر على “Install”.
- في واجهة n8n، اذهب إلى
- تحديث الصفحة:
- بعد التثبيت، قم بتحديث الصفحة. ستظهر عقدة
MCP Client
الآن بشكل صحيح في محرر سير العمل.
- بعد التثبيت، قم بتحديث الصفحة. ستظهر عقدة
مثال عملي: استخدام MCP مع Airbnb و Brave Search
1. إعداد أداة Airbnb (لا تتطلب مفتاح API)
- الحصول على أمر الخادم: اذهب إلى مستودع GitHub الخاص بخوادم MCP (
mcp-servers
). ابحث عن خادم Airbnb. - إعداد الاعتماد (Credential) في n8n:
- أضف عقدة
MCP Client
إلى سير العمل. - ابدأ بإجراء
List Available Tools
. - أنشئ اعتمادًا جديدًا وسمّه “Airbnb”.
- في صفحة إعداد الخادم على GitHub، انسخ الأمر (
Command
) والصقه في n8n. الأمر عادة ما يكونnpx
. - انسخ الوسائط (
Arguments
) واحدة تلو الأخرى، مع وضع مسافة بين كل وسيطة.-y
@mcp-tools/airbnb-server
--ignore-robots-txt
- بما أن Airbnb لا يتطلب مفتاح API، اترك حقل البيئة (
Environment
) فارغًا. - احفظ الاعتماد.
- أضف عقدة
- اختبار الأداة:
- قم بتشغيل خطوة
List Available Tools
. ستظهر لك قائمة بالإجراءات المتاحة، مثلairbnb_search
وairbnb_listing_details
. - للتجربة، أضف عقدة
Execute Tool
واستخدم أداة البحث. يمكنك إدخال الموقع يدويًا (مثل “Riyadh”) وتواريخ تسجيل الوصول والمغادرة. - عند تشغيل الخطوة، ستقوم الأداة بالبحث عن شقق متاحة في الرياض وتعرض النتائج كبيانات JSON، بما في ذلك روابط URL للشقق.
- قم بتشغيل خطوة
2. دمج الذكاء الاصطناعي في سير العمل
الآن، لنجعل العملية تلقائية بالكامل باستخدام وكيل ذكاء اصطناعي (AI Agent).
- إعداد سير العمل:
- استخدم
Chat Trigger
كنقطة بداية. - أضف عقدة
AI Agent
. - أضف نموذج لغة كبير (LLM)، مثل
OpenAI Chat Model
. ستحتاج إلى إعداد مفتاح API الخاص بك من OpenAI. - أضف أدوات MCP إلى وكيل الذكاء الاصطناعي:
- أداة
MCP Client: List Available Tools
(باعتماد Airbnb). - أداة
MCP Client: Execute Tool
(باعتماد Airbnb).
- أداة
- استخدم
- تكوين عقدة التنفيذ (
Execute Tool
):- بدلًا من تحديد اسم الأداة يدويًا، اجعل الذكاء الاصطناعي يحددها. استخدم تعبيرًا (expression) لجلب اسم الأداة التي اختارها النموذج: ``.
- اضبط الوسائط (
Parameters
) لتُعرّف بواسطة النموذج (Defined by the model
). سيقوم النموذج تلقائيًا باستخراج التفاصيل من طلبك (مثل المدينة، التواريخ، عدد الضيوف) وتمريرها إلى الأداة.
- إضافة التاريخ الحالي:
- في رسالة النظام (
System Message
) الخاصة بوكيل الذكاء الاصطناعي، أضف التاريخ الحالي لتجنب الأخطاء في فهم التواريخ. The date of today is
- في رسالة النظام (
- الاختبار النهائي:
- اسأل الوكيل: “ابحث لي عن شقق Airbnb في الرياض من 5 أبريل إلى 10 أبريل لشخصين بالغين”.
- ماذا سيحدث:
- سيبدأ الوكيل.
- سيستدعي أداة
List Tools
لمعرفة الإجراءات المتاحة في Airbnb. - سيرسل القائمة إلى نموذج OpenAI.
- سيحلل OpenAI طلبك ويفهم أنه بحاجة إلى استخدام أداة
airbnb_search
مع المعلمات:location: "Riyadh"
,checkin: "2025-04-05"
,checkout: "2025-04-10"
,adults: 2
. - سيستدعي أداة
Execute Tool
مع هذه المعلمات. - ستُرجع الأداة النتائج.
- سيقوم OpenAI بتنسيق النتائج في رد منظم وسهل القراءة.
3. إضافة أداة Brave Search (تتطلب مفتاح API)
يمكننا توسيع قدرات الوكيل بإضافة المزيد من الأدوات.
- إعداد اعتماد Brave Search:
- اتبع نفس خطوات إعداد Airbnb، ولكن هذه المرة ابحث عن خادم
brave-search
على GitHub. - ستلاحظ وجود حقل
Environment
. هذا هو المكان الذي تضع فيه مفتاح API الخاص بك. - انسخ متغير البيئة من GitHub (مثل
BRAVE_API_KEY=
) والصق مفتاح API الخاص بك بعد علامة=
. - الصق السطر بأكمله في حقل البيئة في n8n.
- اتبع نفس خطوات إعداد Airbnb، ولكن هذه المرة ابحث عن خادم
- إضافة الأدوات إلى الوكيل:
- أضف عقدتي
List Tools
وExecute Tool
جديدتين باستخدام اعتماد Brave Search.
- أضف عقدتي
- الاختبار:
- اسأل الوكيل: “ما هي أفضل مدينة في السعودية من حيث الطقس في أبريل؟”
- سيقوم الوكيل الآن باستخدام أداة Brave Search للبحث عن إجابة على الويب وتقديمها لك مع المصادر.
خلاصة
كما رأينا، يبسط MCP عمليات الأتمتة بشكل كبير. بدلًا من بناء سير عمل معقد لكل عملية، يمكننا إنشاء وكيل ذكاء اصطناعي ديناميكي يفهم ما يجب القيام به ويستخدم الأدوات المناسبة تلقائيًا. هذا يفتح الباب أمام أتمتة أكثر قوة ومرونة. هناك العديد من الأدوات الأخرى التي تدعم MCP، مثل Airtable وSlack وPerplexity، والتي يمكن استكشافها في المستقبل.
شكرًا على المتابعة، ونأمل أن يكون هذا الشرح واضحًا.