كيفية إنشاء خادم MCP مستضاف ذاتيًا ومفتوح المصدر

@apidog

@apidog

28 أكتوبر 2025

كيفية إنشاء خادم MCP مستضاف ذاتيًا ومفتوح المصدر

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

مرحبًا أيها المطورون! هل حلمت يومًا بأن يكون لديك مركز أوامر AI خاص بك، وهو مكان يمكنك فيه تنظيم التفاعلات بين نماذج AI المختلفة وتطبيقاتك، مع الحفاظ على بياناتك آمنة وتحت سيطرتك؟ حسنًا، استعد لأننا في هذه المقالة سنتعمق في بناء خادم MCP المستضاف ذاتيًا الخاص بك باستخدام guMCPبروتوكول السياق الموحد لنموذج Gumloop.

ما هو بالضبط MCP، تسأل؟ اعتبره لغة عالمية للـ AI. إنه طريقة معيارية للتواصل وتبادل المعلومات بين نماذج AI المختلفة والتطبيقات. هذا يعني أنه يمكنك بناء سير عمل معقد حيث تتولى نماذج AI المختلفة أجزاء مختلفة من المهمة، مع العمل معًا بسلاسة. ويجعل guMCP بناء خادم MCP خاص بك في متناول اليد.

💡
قبل أن نبدأ، إليك نصيحة سريعة: احصل على Apidog مجانًا! إنه أداة قوية للمطورين لتبسيط MCP، واختبار نماذج AI (خاصة LLMs)، وتسهيل اختبار API. جربه اليوم مجانيًا!
button

أعلم، قد يبدو الأمر مرعبًا بعض الشيء في البداية، لكن ثق بي، إنه أسهل مما تعتقد. سنقسمها إلى خطوات قابلة للإدارة، لذا حتى لو لم تكن خبير DevOps، ستتمكن من المتابعة. دعونا نبدأ!

ما هو بروتوكول السياق الموحد لنموذج Gumloop (guMCP)؟

guMCP هو تنفيذ مفتوح المصدر لبروتوكول السياق النموذجي مصمم لتسهيل بناء ونشر خوادم MCP المستضافة ذاتيًا. يوفر إطار عمل مرن لربط نماذج AI والتطبيقات، مما يتيح لك إنشاء سير عمل قوي مدفوع بـ AI.

صورة عرض gumcp

لماذا الاستضافة الذاتية؟ توفر الاستضافة الذاتية لك السيطرة الكاملة على بياناتك وبنيتك التحتية، مما يجعلها مثالية للتطبيقات الحساسة للخصوصية أو الحالات التي تحتاج فيها إلى تخصيص خادم MCP لتلبية متطلبات معينة. بالإضافة إلى ذلك، إنها فرصة رائعة للتعلم!

لماذا تبني خادم MCP الخاص بك؟

حسنًا، قد تتساءل، "لماذا يجب أن أزعج نفسي ببناء خادم MCP الخاص بي؟ ألا توجد حلول قائمة على السحابة تقوم بنفس الشيء؟" إنه سؤال وجيه! إليك لماذا يمكن أن تكون الاستضافة الذاتية تحويلاً كبيرًا:

  1. خصوصية البيانات والأمان: هذه نقطة مهمة. عندما تقوم بالاستضافة الذاتية، تبقى بياناتك على خوادمك. أنت لا تعتمد على طرف ثالث لحماية معلوماتك الحساسة، وهو أمر بالغ الأهمية للمشاريع التي تتعامل مع البيانات الشخصية والمعلومات المالية أو الخوارزميات الملكية.
  2. التخصيص والسيطرة: غالبًا ما تأتي الحلول المستندة إلى السحابة مع قيود. تتيح لك الاستضافة الذاتية تخصيص خادم MCP وفقًا لاحتياجاتك الدقيقة. يمكنك إضافة ميزات مخصصة، والاندماج مع APIs معينة، وضبط الأداء لتحسين سير العمل الخاص بك.
  3. التكلفة الفعالة: اعتمادًا على أنماط الاستخدام الخاصة بك، يمكن أن تكون الاستضافة الذاتية أكثر فعالية من حيث التكلفة من الاعتماد على مزود سحابة، خاصة إذا كانت لديك بنية تحتية وخبرة موجودة.
  4. التعلم والتجريب: يعد بناء خادم MCP الخاص بك طريقة رائعة للتعلم حول بنية AI التحتية والشبكات وإدارة الخادم. إنها فرصة رائعة لتوسيع مهاراتك والحصول على فهم أعمق حول كيفية عمل هذه الأنظمة.

متطلبات guMCP

قبل أن نقفز إلى عملية التثبيت، دعنا نتأكد من أنك تمتلك كل ما تحتاجه. لا تقلق، إنها ليست قائمة طويلة!

تحميل بايثون
تحميل git

دليل تثبيت guMCP

حسنًا، دعونا نبدأ! اتبع هذه الخطوات بعناية، وستكون خادم guMCP الخاص بك جاهزًا للعمل في أي وقت من الأوقات.

الخطوة 1: استنساخ مستودع guMCP

أولاً، نحتاج إلى الحصول على كود guMCP على جهازك. افتح محطتك (أو Git Bash إذا كنت على ويندوز) ثم نفذ الأمر التالي:

git clone https://github.com/gumloop/guMCP.git
cd guMCP

سيقوم ذلك بتحميل مستودع guMCP من GitHub ثم تغيير الدليل الحالي إلى مجلد guMCP.

استنساخ ملفات مشروع gumcp

الخطوة 2: إعداد بيئة افتراضية لـ guMCP

البيئة الافتراضية مثل صندوق رمل لمشروع بايثون الخاص بك. إنها تعزل تبعيات المشروع عن تثبيت بايثون الخاص بنظامك، مما يمنع التعارضات ويضمن أن يعمل مشروعك بشكل صحيح. هذه أفضل ممارسة لتطوير بايثون.

لإنشاء بيئة افتراضية، نفذ الأوامر التالية:

python -m venv venv

هذا الأمر ينشئ بيئة افتراضية جديدة في مجلد يسمى venv. الآن، تحتاج إلى تنشيط البيئة الافتراضية. يعتمد أمر التنشيط على نظام التشغيل الخاص بك:

على Unix/macOS:

source venv/bin/activate

على ويندوز (موجه الأوامر):

venv\Scripts\activate

على ويندوز (PowerShell):

.\venv\Scripts\Activate.ps1

على ويندوز (Git Bash):

source venv/Scripts/activate

ستعرف أن البيئة الافتراضية نشطة عندما ترى (venv) في بداية موجه الأوامر الخاص بك. وهذا يدل على أنك تعمل ضمن البيئة المعزولة.

التحقق من إعداد البيئة الافتراضية

الخطوة 3: تثبيت تبعيات guMCP

الآن بعد أن أصبحت البيئة الافتراضية نشطة، يمكنك تثبيت تبعيات المشروع. هذه هي المكتبات والحزم التي يعتمد عليها guMCP لتعمل بشكل صحيح.

نفذ الأمر التالي لتثبيت التبعيات الأساسية:

pip install -r requirements.txt

يستخدم هذا الأمر pip (مضيف حزم بايثون) لقراءة ملف requirements.txt وتثبيت جميع الحزم المدرجة.

إذا كنت تخطط للمساهمة في مشروع guMCP (وهو أمر رائع!)، فسوف تحتاج أيضًا إلى تثبيت التبعيات التطويرية:

pip install -r requirements-dev.txt

تستخدم هذه التبعيات للاختبار، والتصحيح، وغيرها من المهام المتعلقة بالتطوير.

الخطوة 4: تكوين المتغيرات البيئية لـ guMCP

تُستخدم المتغيرات البيئية لتخزين إعدادات التكوين التي يحتاج تطبيقك للوصول إليها، مثل مفاتيح API، وبيانات اعتماد قاعدة البيانات، ومعلومات حساسة أخرى. هذا يحافظ على نظافة الكود الخاص بك ويجنب ترميز الأسرار مباشرة إلى تطبيقك.

يستخدم guMCP ملف .env لإدارة المتغيرات البيئية. لإنشاء ملف بيئي محلي، نفذ الأمر التالي:

cp .env.example .env

ينسخ هذا الأمر ملف .env.example إلى ملف جديد يسمى .env. يحتوي ملف .env.example على قالب للمتغيرات البيئية التي يحتاجها guMCP.

الآن، تحتاج إلى فتح ملف .env في محرر النصوص المفضل لديك (مثل VS Code) وتحديث القيم حسب الحاجة.

# افتح وحرر باستخدام VS Code
code .env

# افتح وحرر في الـ Cursor
cursor .env
فتح ملف .env في الـ Cursor

يحتوي ملف .env على إعدادات التكوين لما يلي:

هيكل ملف .env

تأكد من مراجعة وتحديث ملف .env بعناية بالقيم الصحيحة لبيئتك. لا تقم أبدًا بإدخال ملف .env الخاص بك في نظام التحكم في الإصدار! يحتوي هذا الملف على معلومات حساسة لا ينبغي مشاركتها علنًا.

استخدام guMCP

الآن بعد أن قمت بتثبيت وتكوين guMCP، دعنا نرى كيف تستخدمه! يدعم guMCP نوعين رئيسيين من الخوادم: خوادم SSE (الأحداث المرسلة من الخادم) وخوادم Stdio. دعنا نستكشف كل منها.

تشغيل خوادم guMCP SSE

توفر خوادم SSE طريقة بسيطة وفعالة لبث البيانات من الخادم إلى العميل. في سياق guMCP، يُستخدم ذلك غالبًا للتحديثات والإشعارات في الوقت الفعلي.

يوفر guMCP نصًا مريحًا لبدء خادم تطوير SSE محليًا. سيستضيف هذا الخادم جميع الخوادم المتاحة تحت عنوان URL واحد. لبدء خادم تطوير SSE، نفذ الأمر التالي:

./start_sse_dev_server.sh

سيقوم هذا النص بتشغيل الخادم وطباعة عنوان URL في وحدة التحكم. بشكل افتراضي، يعمل الخادم على المنفذ 8000. لذا سيكون الرابط شيئًا مثل: http://localhost:8000/simple-tools-server/local

تشغيل خوادم gumcp sse

استخدام عميل اختبار MCP البعيد

يوفر guMCP أيضًا عميل MCP خفيف الوزن للاتصال بخوادم SSE. هذا العميل مفيد للاختبار والتفاعل مع الخادم. لاستخدام العميل، نفذ الأمر التالي:

python tests/clients/RemoteMCPTestClient.py --endpoint=http://localhost:8000/simple-tools-server/local

استبدل http://localhost:8000/simple-tools-server/local بعنوان URL الفعلي لخادم SSE الخاص بك.

عميل اختبار gumcp remote mcp

سيبدأ هذا الأمر عميل MCP وسيتصل بالخادم SSE المحدد. يمكنك بعد ذلك استخدام العميل لإرسال الأوامر إلى الخادم واستقبال الردود.

استعلام gumcp والرد

تشغيل خوادم guMCP Stdio

تتواصل خوادم Stdio مع العملاء عبر تدفقات الإدخال والإخراج القياسية. هذا نهج تقليدي أكثر للتواصل بين الخوادم، وغالبًا ما يُستخدم لأدوات وتطبيقات سطر الأوامر.

لبدء خادم Stdio، نفذ الأمر التالي:

python src/servers/local.py --server=simple-tools-server

استبدل simple-tools-server باسم الخادم الذي تريد تشغيله.

استخدام عميل اختبار MCP المحلي لـ guMCP

يوفر guMCP عميل MCP خفيف الوزن لبدء الاتصال بخوادم stdio. لاستخدام العميل، نفذ الأمر التالي:

python tests/clients/LocalMCPTestClient.py --server=simple-tools-server

استبدل simple-tools-server باسم الخادم الذي تريد تشغيله.

سيبدأ هذا الأمر عميل MCP ويتصل بالخادم Stdio المحدد. يمكنك بعد ذلك استخدام العميل لإرسال الأوامر إلى الخادم واستقبال الردود.

فهم تكوينات خادم guMCP

علامة --server هي مفتاحك لاختيار الأدوات والوظائف التي يكشف عنها خادم MCP الخاص بك. اعتبرها مثل اختيار الوحدات التي يجب تحميلها في مركز الأوامر AI الخاص بك. في المثال المقدم، يتم استخدام simple-tools-server، الذي يقدم على الأرجح مجموعة أساسية من الأدوات للاختبار والعرض التوضيحي. ومع ذلك، تم تصميم guMCP ليكون وحدويًا، لذا يمكنك إنشاء أو توسيع تكوينات الخادم لتشمل وظائف أكثر تخصصًا.

عند التعمق في دليل src/servers، ستجد ملفات بايثون تحدد تكوينات خادم مختلفة. تحدد هذه الملفات الأدوات المتاحة، وكيف يتم الكشف عنها عبر MCP، وأي تبعيات محددة تحتاجها. من خلال فحص هذه الملفات، يمكنك الحصول على فكرة عن كيفية تخصيص خادمك ودمج أدوات AI التي تملكها.

مجلد gumcp المصدر

توسيع مجموعة أدوات guMCP: إنشاء أدوات MCP الخاصة بك

تتمثل القوة الحقيقية لـ guMCP في قابليتها للتوسيع مع أدواتك المخصصة. تخيل أنك تريد إنشاء أداة تلخص النص باستخدام نموذج AI معين أو واحدة تتفاعل مع API معينة. يجعل guMCP ذلك سهلًا بشكل مدهش.

بينما قد يكون الغوص العميق في كيفية إنشاء أدوات مخصصة خارج نطاق هذه الدليل التعليمي، إليك لمحة عن العملية:

  1. تعريف أداتك: ابدأ بتحديد وظيفة أداتك. ما المدخلات التي تحتاجها؟ ما المخرجات التي تنتجها؟
  2. تنفيذ المنطق: اكتب كود بايثون الذي ينفذ المهمة المطلوبة. قد يتضمن ذلك استدعاء API لنموذج AI، ومعالجة البيانات، أو التفاعل مع خدمات خارجية.
  3. الدمج مع guMCP: استخدم API الخاص بـ guMCP لتسجيل أداتك وجعلها متاحة من خلال MCP. يتضمن ذلك تحديد اسم الأداة، ومعلمات الإدخال، ونموذج الإخراج.
  4. تكوين الخادم: عدل ملف تكوين الخادم الخاص بك ليشمل أداتك الجديدة. هذا يخبر خادم MCP بتحميل وإظهار أداتك للعملاء.

من خلال إنشاء أدواتك الخاصة، يمكنك تخصيص guMCP لاحتياجاتك المحددة وبناء سير عمل مدفوع بالذكاء الاصطناعي قوي يحل مشكلات العالم الحقيقي.

الخاتمة: رحلتك إلى تنسيق AI تبدأ الآن

تهانينا! لقد قمت ببناء خادم MCP المستضاف ذاتيًا الخاص بك باستخدام guMCP. هذه خطوة كبيرة نحو فتح الإمكانيات الكاملة لـ AI في مشاريعك.

تذكر، هذه ليست سوى البداية. استكشف وثائق guMCP، وجرب تكوينات خادم مختلفة، وأنشئ أدواتك الخاصة. الإمكانيات لا حصر لها.

من خلال الاستضافة الذاتية لخادم MCP الخاص بك، تحظى بالتحكم الكامل على بياناتك، وتخصيص سير عملك، واكتساب خبرة قيمة في بنية AI التحتية. مع استمرار تطور مشهد AI، سيكون الحصول على أساس قوي في MCP والاستضافة الذاتية عنصرًا ذا قيمة. لذا، انطلق ونسق أحلامك في AI!

button
صورة واجهة Apidog

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات

كيفية إنشاء خادم MCP مستضاف ذاتيًا ومفتوح المصدر