في هذا البرنامج التعليمي، ستقوم بإنشاء خادم [بروتوكول سياق نموذج] (https://www.ibm.com/ae-ar/think/topics/model-context-protocol) (MCP) بسيط يعرض أداة واحدة للبحث في برامج IBM التعليمية. باستخدام إطار عمل "fastmcp" ومكتبة الطلبات، يقوم البرنامج النصي بتنزيل فهرس JSON للبرامج التعليمية من عنوان URL بعيد. ثم يبحث عن تطابقات لاستعلام المستخدم ويعرض قائمة نتائج منسقة بدقة. سيضيف أيضًا معالجة الأخطاء لمشكلات الشبكة وJSON غير السليمة والمشكلات غير المتوقعة، ما يجعل الأداة قوية وسهلة الاستخدام للمبتدئين. وأخيرًا، ستقوم بتشغيل خادم MCP بحيث يمكن توصيله واختباره مع عميل مثل Cursor.
تقوم Enterprise والشركات الناشئة المماثلة بتطوير حلول [الذكاء الاصطناعي] (https://www.ibm.com/ae-ar/think/topics/artificial-intelligence) (AI) التوليدية بشكل متزايد. ومن أجل جعل حلولهم أكثر فائدة، يحتاجون إلى معلومات وسياق محدثين. تحتاج [نماذج] التعلم الآلي (https://www.ibm.com/ae-ar/think/topics/ai-model) إلى التشغيل البيني مع الأدوات، [واجهات برمجة التطبيقات] (https://www.ibm.com/ae-ar/think/topics/api) (APIs)، ومجموعات تطوير البرمجيات (SDKs) وأنظمة الواجهة الأمامية لتحقيق ذلك.
يقوم MCP بتوحيد كيفية تمرير السياق بين نماذج الذكاء الاصطناعي والأنظمة. فهو يبسط التنسيق عبر [نموذج لغة كبير] (https://www.ibm.com/ae-ar/think/topics/large-language-models) (LLM) ومصادر وأدوات البيانات الخارجية. القياس الشائع هو التفكير في MCP باعتباره منفذ USB-C® لنموذج LLM. فهي تجعل نموذج LLM أكثر فائدة لأن النموذج لديه إمكانية الوصول إلى القدرات والبيانات التي لم تكن جزءًا من تدريب النموذج. هذه القدرة مفيدة بشكل خاص عند إنشاء وكلاء الذكاء الاصطناعي.
تم تطوير MCP من قِبل شركة Anthropic وتم اعتماده من قِبل كبار مزودي حلول الذكاء الاصطناعي بما في ذلك OpenAI وGoogle DeepMind ورواد الصناعة على نطاق أوسع. يُقدم طريقة آمنة وموحدة لنماذج الذكاء الاصطناعي للوصول إلى البيانات والموارد الخارجية واستخدامها (مثل القوالب الموجهة) والأدوات.
وعلاوة على ذلك، تبنت [بيئات التنمية المتكاملة] (https://www.ibm.com/ae-ar/think/topics/integrated-development-environment) (IDEs) مثل Cursor وVisual Studio Code، برنامج MCP أيضًا، ما يسمح لمساعدي الذكاء الاصطناعي بالوصول إلى خوادم MCP لجعل استخدامها أكثر ملاءمة للسياق وأكثر ملاءمة للمطورين. تستخدم المؤسسات MCP، الذي تم تصميمه كمعيار مفتوح، للعمل كجسر بين العالم العشوائي للذكاء الاصطناعي التوليدي والعالم الحتمي لمعظم أنظمة المؤسسات الموجودة اليوم على الساحة. يزود MCP نموذج LLM بمعلومات سياقية على غرار أنماط التصميم الأخرى التي بدأت في الظهور مثل [التوليد المعزز للاسترجاع] (https://www.ibm.com/ae-ar/think/topics/retrieval-augmented-generation) (RAG)، واستدعاء الأدوات ووكلاء الذكاء الاصطناعي.
تتضمن بعض مزايا استخدام MCP مقارنةً بهذه الحلول الأخرى ما يلي:
- المقياس: يمكن تعريف خوادم MCP واستضافتها مرة واحدة واستخدامها بواسطة العديد من أنظمة الذكاء الاصطناعي. تحد هذه السعة من الحاجة إلى تحديد الوصول إلى نفس البيانات المصدرية والموارد وأدوات الذكاء الاصطناعي لأنظمة الذكاء الاصطناعي التوليدي المتعددة.
- استرجاع البيانات: على عكس التوليد المعزز بالاسترجاع (RAG) حيث يتطلب استرداد البيانات معالجة مسبقة وتوجيهها قبل الاستعلام، فإن MCP ديناميكي ويسمح بالتقلبات والتحديثات من مصادر المعلومات في الوقت الفعلي.
- التعقيد: من السهل إلى حد ما إعداد MCP ودمجه في تطبيقات الذكاء الاصطناعي، كما هو موضح هنا. يمكنك استخدام ملفات التكوين بسهولة لجعل خادم MCP محمولاً عبر البيئات.
- مستقل عن المنصة: بالإضافة إلى حقيقة أنه يمكنك إنشاء خوادم MCP باستخدام لغة Python أو TypeScript أو لغات أخرى، فهو أيضًا غير مقترن بحل LLM محدد.
التصحيح من خلال نموذج العميل/الخادم: يرسل عميل بروتوكول سياق النماذج الطلبات إلى خادم بروتوكول سياق النماذج، الذي يتولى بدوره جلب البيانات الضرورية من مختلف الأنظمة والمصادر الخارجية — سواء كانت واجهات برمجة التطبيقات أو قواعد البيانات أو الملفات المحلية. يضمن هذا النهج المنظم حصول نموذج الذكاء الاصطناعي على سياق متسق وذي صلة، ما يؤدي إلى نتائج أكثر دقة وموثوقية. يستخدم بروتوكول سياق النماذج JSON-RPC لتشفير الرسائل ويدعم آليتين للنقل، هما stdio وHTTP القابل للبث. في الإصدارات السابقة من البروتوكول، كان يدعم أيضًا HTTP مع الأحداث المرسلة من الخادم (SSE)
قد تكون الحاجة إلى مواكبة أحدث المعلومات التي تحتاجها مؤسستك باستمرار أمرًا شاقًا. يمكن أن يساعد نظام إدارة المحتوى MCP في بناء السياق ودمج المعلومات الجديدة للعقود في أثناء سريانها، والمعلومات الموروثة التي تتم رقمنتها ولكن ليس بالضرورة أن تكون قابلة للتلخيص، وغير ذلك. يمكن أن تكون هذه المعلومات داخلية وخارجية، بيد أن إضافة السياق تتجاوز الحاجة التي تستغرق وقتًا طويلاً لإعادة تدريب النماذج اللغوية الكبيرة (LLM) لتكون مفيدة.
ثمة العديد من خوادم MCP البعيدة المتاحة بالإضافة إلى الكثير من التطبيقات المرجعية من github.com
يمكن العثور على هذا الدليل المفصل خطوة بخطوة في مستودع GitHub الخاص بنا جنبا إلى جنب مع برنامج server.py النصي الذي ستشير إليه عند إنشاء خادم MCP. في هذا البرنامج التعليمي، سنتطرق إلى إنشاء خادم MCP مخصص أساسي يمكنه:
من أجل تسهيل عمل هذا البرنامج التعليمي، أنشأنا آلية يمكن من خلالها للخادم الذي ستقوم ببنائه أن يستهلك بسهولة محتوى البرنامج التعليمي من دون الحاجة إلى مصادقة.
- Python 3.11 أو أحدث مثبت على جهاز الكمبيوتر الخاص بك (تحقق من خلال تشغيل python3 --version في جهازك الطرفي).
- وحدة venv المدمجة متاحة (تأتي مع Python في معظم الأنظمة، وفي بعض توزيعات Linux® قد تحتاج إلى تثبيتها بشكل منفصل باستخدام sudo apt install python3-venv).
- محطة سطر الأوامر (CLI):
- macOS أو Linux: استخدم تطبيق المحطة الطرفية لديك (هذه البيئات تشبه Unix).
- Windows: استخدم PowerShell أو موجه الأوامر، مع توضيح الاختلافات الطفيفة في بناء الجملة في الخطوة التالية.
- محرر نصوص أو IDE من اختيارك
قم بإنشاء دليل جديد وقرص مضغوط بداخله
التأكد من أنك في الدليل
ملاحظة: في نظام التشغيل Windows، قد تتمكن من استبدال
بمجرد إنشاء البيئة الافتراضية، تحتاج إلى تنشيطها باستخدام الأمر التالي
بمجرد تنشيطه، من المحتمل أن يعرض لك
الآن تحتاج إلى تثبيت حزمة Python لـ
قم بتثبيت
بعد اكتمال هذه الخطوة، يمكنك التحقق من تثبيت FastMCP بشكل صحيح عن طريق تشغيل الأمر التالي
إذا حصلت على إخراج مشابه لما يلي، فلديك fastMCP مثبت في بيئتك الافتراضية.
FastMCP version: 2.10.1
MCP version: 1.10.1
Python version: 3.11.13
Platform: macOS-15.5-arm64-arm-64bit
FastMCP root path: /opt/homebrew/lib/python3.11/site-packages
الآن لقد قمت بتثبيت fastMCP، دعنا نحصل على خادم MCP الخاص بنا.
قم بإنشاء ملف جديد في الدليل ودعنا نعطيه الاسم
بمجرد حصولك على هذا الملف، افتحه وانسخ مقتطف الشفرة التالي وألصقه فيه
دعنا نستعرض الكود السابق ونوضح ما تفعله الأجزاء الرئيسية.
يبدأ البرنامج النصي باستيراد FastMCP، الذي يوفر إطار عمل لإنشاء خادم MCP، والطلبات التي تُستخدم لتنزيل البيانات عبر HTTP. لقد أضفنا ثابتًا
ثم نقوم بإنشاء مثيل خادم MCP باستخدام
تخزِّن
البحث غير حساس لحالة الأحرف: يُحول الاستعلام إلى أحرف صغيرة، وكذلك عنوان كل برنامج تعليمي وعنوان URL للمطابقة. إذا كان البرنامج التعليمي يحتوي على مصطلح البحث في العنوان أو عنوان URL، يُضاف إلى قائمة النتائج ذات الصلة.
إذا لم يتطابق أي برنامج تعليمي مع البحث، فإن الدالة ترجع رسالة مألوفة تشير إلى أنه لم يتم العثور على أي شيء. إذا كان هناك تطابق، فستنشئ الدالة قائمة منسقة ومرقمة تعرض عنوان كل برنامج تعليمي وعنوان URL والتاريخ والمؤلف - إذا كان متاحًا. يستخدم التنسيق أسلوبًا غامقًا على غرار Markdown للعناوين بحيث تبرز في العملاء الذين يدعمونه. يتم إرجاع النص المنسق النهائي كسلسلة واحدة.
تتضمن الوظيفة معالجة الاستثناءات المستهدفة:
معالج عام
يقوم كل خطأ بإرجاع رسالة وصفية إلى المتصل بدلاً من إيقاف البرنامج.
في الأسفل،
الآن بعد أن بنيت الخادم الخاص بك، تحتاج إلى تمكينه في بيئة التطوير المتكاملة لديك قبل أن تتمكن من استخدامه. هناك العديد من العملاء الذين يدعمون بروتوكول سياق النماذج بمستويات مختلفة من التكامل مع البروتوكول. يوفر موقع بروتوكول سياق النماذج الرسمي قائمة شاملة بأمثلة للعملاء.
إذا كان Cursor مثبتًا لديك، فيمكنك إضافة خادم بروتوكول سياق النماذج داخل Cursor باتباع هذه التعليمات.
افتح إعدادات المؤشر وانتقل إلى الأدوات وعمليات التكامل. حدد خادم MCP جديدًا وألصقه في ملف mcp.json الذي يفتحه المؤشر في علامة تبويب جديدة. تأكد من استبدال <YOUR PATH> بالدليل الذي تتواجد فيه. يمكنك تشغيل pwd في جهازك للحصول على المسار الكامل. لمزيد من المعلومات حول المؤشر وMCP، راجع مستندات المؤشر.
{
"mcpServers": {
"البرامج التعليمية": {
"الأمر": "fastmcp"،
"الوسيطة": ["run <YOUR PATH>/ibmtutorialmcpserver/server.py"]،
"env": {
}
}
}
}
إذا كنت من مستخدمي Microsoft VS Code، فيمكنك إضافة خادم MCP باستخدام الإرشادات المرتبطة هنا. تأكد من إعداد Copilot في VS Code قبل المتابعة.
إذا كنت ترغب في تمكين خادم MCP باستخدام ملف، فقم بإنشاء ملف .vscode/mcp.json في دليل المشروع هذا وانسخ هذا الكود وألصقه في الملف. تأكد من استبدال <YOUR PATH> بالدليل الذي تتواجد فيه. يمكنك تشغيل pwd في جهازك للحصول على المسار الكامل.
"الخوادم": {
"برامج IBM التعليمية": {
"النوع": "stdio"،
"الأمر": "fastmcp"،
"الوسيطة": [
"run"،
"<YOUR PATH>/ibmtutorialmcpserver/server.py"
]
}،
}،
الآن بعد أن قمت بتمكين خادم MCP الخاص بك، دعنا نعمل على الخادم حتى تتمكن من استخدام الأداة التي تم إنشاؤها في server.py. إذا كنت تستخدم VS Code، فراجع من هذه المستندات.
في دردشة IDE، سأسأل "ما بعض البرامج التعليمية لمتسلسلة IBM الزمنية؟" يوضح ما يلي أن الإخراج تم استلامه، ومع ذلك يمكن أن تختلف استجابتك وفقًا للطراز المستخدم وIDE الخاص بك.
** الإخراج:**
Here are some IBM time series tutorials:
Time series forecasting with Lag-Llama (zero-shot learning)
Tutorial link
Predict overnight low temperatures using the Lag-Llama model in a zero-shot learning scenario.
Using the watsonx.ai Time Series Forecasting API to predict energy demand
Tutorial link
Predict energy demand with the watsonx.ai Time Series Forecasting API.
Authors: Aleksandra Kłeczek and Meredith Syed
Let me know if you want details or help with a specific tutorial.
رائع! كان الوكيل قادرًا على استخدام
في هذا البرنامج التعليمي، تعلمت إنشاء خادم MCP للبحث في جميع البرامج التعليمية الخاصة بنا باستخدام أي عميل MCP تفضله. لقد أنشأت خادم MCP بأداة بحث واحدة تسترجع فهرس برامج JSON التعليمية عن بُعد، وتصفية النتائج بناءً على مصطلح بحث وإرجاعها بتنسيق قابل للقراءة. يستخدم fastmcp لتسجيل الأداة وتشغيلها، وطلبات جلب البيانات ويتضمن معالجة الأخطاء للشبكة والتحليل والمشكلات غير المتوقعة. وعند تشغيله، يمكن توصيل الخادم بواسطة عملاء MCP للاستعلام المباشر عن جميع البرامج التعليمية.
يمكنك إنشاء مساعدين ووكلاء ذكاء اصطناعي ووكلاء أقوياء يعملون على أتمتة مهام سير العمل والعمليات باستخدام الذكاء الاصطناعي التوليدي ونشرها وإدارتها.
يمكنك بناء مستقبل عملك باستخدام حلول الذكاء الاصطناعي الجديرة بالثقة.
تساعد خدمات IBM Consulting AI في إعادة تصور طريقة عمل الشركات باستخدام حلول الذكاء الاصطناعي من أجل النهوض بأعمالها.