دليل عملي

الذكاء الاصطناعي

نشر خادم MCP ذاتي الاستضافة على VPS

أصبح بروتوكول ‏MCP‏ (‏Model Context Protocol‏) المعيار القياسي لربط وكيل الذكاء الاصطناعي بأدواتك: قواعد البيانات وأنظمة الملفات وواجهات ‏API‏ الداخلية. استضافة هذا الخادم على ‏VPS‏ خاص بك تمنحك تحكماً كاملاً في البيانات المعالجة وزمن الاستجابة والتكاليف. يغطي هذا الدليل التثبيت والأمان في بيئة الإنتاج والتكامل مع ‏Claude Desktop‏ و‏Cursor‏ والأخطاء الأكثر شيوعاً.

8 دقائق للقراءةعدد الخطوات: 10
المحتويات· لماذا تستضيف خادم MCP الخاص بك1/11
  1. 01لماذا تستضيف خادم MCP الخاص بك
  2. 02ما تكسبه من الاستضافة الذاتية
  3. 03المتطلبات الأساسية قبل البدء
  4. 04نشر خادم MCP في 10 خطوات
  5. 05فعّل دائماً سجلات وصول nginx لخادمك
  6. 06خوادم MCP مفتوحة المصدر الموصى بها
  7. 07تأمين خادم MCP في بيئة الإنتاج
  8. 08ربط Claude Desktop و Cursor بخادم MCP
  9. 09MCP مقابل REST API مقابل WebSocket لوكلاء الذكاء الاصطناعي
  10. 10استكشاف الأخطاء: 4 أخطاء شائعة
  11. 11نحو بيئة ذكاء اصطناعي متكاملة على VPS

لماذا تستضيف خادم MCP الخاص بك

تُدخل خدمات ‏MCP‏ المستضافة لدى طرف ثالث تبعيةً خارجية: تمر بياناتك ومحادثاتك وسياقاتك عبر بنية تحتية لا تتحكم فيها. على ‏VPS‏، يعمل خادم ‏MCP‏ داخل شبكتك بقواعد وصولك وسلسلة الثقة الخاصة بك. هذا نفس منطق الاستضافة الذاتية لمستودع ‏Git‏ أو سجل ‏Docker‏: الاستقلالية تسبق الراحة.

ما تكسبه من الاستضافة الذاتية

  • سرية البيانات: لا يغادر أي سياق بنيتك التحتية.
  • لا توجد رحلة ذهاب وإياب لطرف ثالث: يعمل خادم ‏MCP‏ وتطبيقك على الشبكة ذاتها أو على ‏VPS‏ مجاورة.
  • تخصيص كامل: أدوات داخلية وموصلات خاصة وبيئة تشغيل مصممة حسب الطلب.
  • تكلفة قابلة للتنبؤ: اشتراك ‏VPS‏ ثابت بدون فوترة لكل طلب.
  • التحكم في الإصدارات: أنت من يحدد موعد تحديث الخادم وتبعياته.

المتطلبات الأساسية قبل البدء

تحتاج إلى ‏VPS‏ مع وصول ‏root‏، وتوزيعة ‏Linux‏ حديثة (يُنصح بـ ‏Ubuntu 22.04 LTS‏ أو ‏Debian 12‏)، و‏Node.js 18+‏ أو ‏Python 3.11+‏ حسب التنفيذ المختار، واسم نطاق يشير إلى عنوان ‏IP‏ الخادم. خطة بـ ‏1 vCPU‏ و‏2 GB RAM‏ كافية لخادم ‏MCP‏ متوسط الاستخدام. للأحمال الثقيلة أو خوادم ‏MCP‏ متعددة بالتوازي، خطط لـ ‏2 vCPU‏ و‏4 GB‏.

نشر خادم MCP في 10 خطوات

  1. تحديث النظام وتثبيت Node.js

    اتصل بـ ‏SSH‏ باستخدام مفتاحك ونفذ الأمر: apt update && apt upgrade -y. ثبّت ‏Node.js‏ من المستودع الرسمي ‏NodeSource‏: curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt install -y nodejs. تحقق باستخدام node -v وnpm -v.

  2. إنشاء مستخدم مخصص

    لا تشغّل خادم ‏MCP‏ أبداً بصلاحية ‏root‏. أنشئ مستخدماً خاصاً بالتطبيق: useradd -m -s /bin/bash mcp && su - mcp. تُنفَّذ جميع الأوامر التالية تحت هذا المستخدم.

  3. تثبيت خادم MCP

    اختر التنفيذ المناسب (راجع قسم «خوادم MCP مفتوحة المصدر الموصى بها» أدناه). لتثبيت @modelcontextprotocol/server-filesystem: npm install -g @modelcontextprotocol/server-filesystem. اختبر محلياً: npx @modelcontextprotocol/server-filesystem /tmp/test.

  4. إنشاء ملف خدمة systemd

    أنشئ /etc/systemd/system/mcp-server.service مع التوجيهات التالية: User=mcp، ExecStart=/usr/bin/npx @modelcontextprotocol/server-filesystem /home/mcp/data، Restart=always، وEnvironment=NODE_ENV=production. فعّل وابدأ: systemctl enable --now mcp-server.

  5. تثبيت nginx

    يعمل ‏nginx‏ كـ ‏reverse proxy‏ أمام خادم ‏MCP‏ الخاص بك. apt install -y nginx. أنشئ ملف ‏vhost‏ في /etc/nginx/sites-available/mcp مع قسم location / يحتوي على proxy_pass http://127.0.0.1:3000;. فعّل: ln -s /etc/nginx/sites-available/mcp /etc/nginx/sites-enabled/ && nginx -t && systemctl reload nginx.

  6. الحصول على شهادة TLS باستخدام Certbot

    apt install -y certbot python3-certbot-nginx && certbot --nginx -d your-domain.com. يعدّل ‏Certbot‏ تلقائياً ملف ‏vhost‏ الخاص بـ ‏nginx‏ لإعادة التوجيه من ‏HTTP‏ إلى ‏HTTPS‏ ويضبط التجديد التلقائي. تحقق من التجديد: certbot renew --dry-run.

  7. تفعيل مصادقة Bearer

    عدّل ملف ‏vhost‏ الخاص بـ ‏nginx‏ لطلب رمز في رأس ‏HTTP‏: if ($http_authorization != 'Bearer YOUR_SECRET_TOKEN') { return 401; }. أنشئ رمزاً قوياً: openssl rand -hex 32. احتفظ بهذا الرمز لأنه سيُستخدم في إعداد عميل ‏AI‏ الخاص بك.

  8. إعداد جدار الحماية

    أغلق جميع المنافذ باستثناء ‏22‏ و‏80‏ و‏443‏: ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable. يجب عدم كشف المنفذ الداخلي لخادم ‏MCP‏ (‏3000‏ افتراضياً) مباشرة.

  9. اختبار نقطة النهاية باستخدام curl

    curl -H 'Authorization: Bearer YOUR_SECRET_TOKEN' https://your-domain.com/health. يجب أن تحصل على ‏JSON‏ للحالة. الاستجابة ‏401‏ تشير إلى رمز غير صحيح؛ الاستجابة ‏502‏ تشير إلى أن خدمة ‏systemd‏ لا تعمل.

  10. تفعيل سجلات وصول nginx

    أضف إلى ملف ‏vhost‏: access_log /var/log/nginx/mcp_access.log; error_log /var/log/nginx/mcp_error.log warn;. هذه السجلات ضرورية لاكتشاف الاتصالات غير المصرح بها.

فعّل دائماً سجلات وصول nginx لخادمك

يتلقى خادم ‏MCP‏ اتصالات من آلة إلى آلة: بدون سجلات، لن تتمكن من اكتشاف محاولات الوصول غير المصرح بها أو أخطاء التكامل.

خوادم MCP مفتوحة المصدر الموصى بها

  • ‏@modelcontextprotocol/server-filesystem‏ — وصول محكوم إلى نظام الملفات. مثالي لمنح الوكيل وصولاً إلى دليل عمل.
  • ‏@modelcontextprotocol/server-git‏ — استنساخ وسجل وفروق والتزامات عبر مستودع محلي.
  • ‏@modelcontextprotocol/server-fetch‏ — تفويض طلبات ‏HTTP‏ الصادرة إلى خادم ‏MCP‏.
  • ‏@modelcontextprotocol/server-postgres‏ — اتصال بقاعدة بيانات ‏PostgreSQL‏: استعلامات ‏SELECT‏ والمخطط.
  • ‏@modelcontextprotocol/server-playwright‏ — التحكم في متصفح ‏Chromium‏ بدون واجهة رسومية من الوكيل.
  • ‏mcp-server-sqlite‏ (مجتمعي) — بديل خفيف لقواعد بيانات ‏SQLite‏ المحلية.
  • ‏mcp-obsidian‏ (مجتمعي) — الوصول إلى قاعدة معرفة ‏Obsidian‏ بصيغة ‏Markdown‏.

تأمين خادم MCP في بيئة الإنتاج

خادم ‏MCP‏ المكشوف على الإنترنت هو سطح هجوم. أربعة إجراءات غير قابلة للتفاوض قبل ربط عميل ‏AI‏ بهذا الخادم في الإنتاج.

مصادقة ‏Bearer token‏. أدخل رمزاً فريداً لكل عميل في رأس Authorization. أبطل الرمز المخترق فوراً وأنشئ رمزاً جديداً باستخدام openssl rand -hex 32.

تحديد معدل الطلبات في ‏nginx‏. أضف في ملف ‏vhost‏: limit_req_zone $binary_remote_addr zone=mcp:10m rate=30r/m; limit_req zone=mcp burst=10 nodelay;.

‏HTTPS‏ إلزامي و‏HSTS‏. بعد تثبيت ‏Certbot‏، أضف في كتلة ‏HTTPS‏ server: add_header Strict-Transport-Security "max-age=31536000" always;.

تدوير الرموز. جدول تدويراً كل ‏90‏ يوماً عبر ‏cron‏ أو أداة إدارة الأسرار.

ربط Claude Desktop و Cursor بخادم MCP

بمجرد أن يكون الخادم متصلاً بالإنترنت ومؤمناً، يستغرق الاتصال من عميل ‏AI‏ أقل من دقيقتين.

‏Claude Desktop‏. افتح ~/Library/Application Support/Claude/claude_desktop_config.json (‏macOS‏) أو %APPDATA%\Claude\claude_desktop_config.json (‏Windows‏). أضف إدخالاً في مفتاح mcpServers:

{
  "mcpServers": {
    "my-vps": {
      "url": "https://your-domain.com",
      "headers": {
        "Authorization": "Bearer YOUR_SECRET_TOKEN"
      }
    }
  }
}

أعد تشغيل ‏Claude Desktop‏. يظهر الخادم في قائمة الأدوات المتاحة.

‏Cursor‏. في الإعدادات (Cursor > Settings > MCP)، انقر على «إضافة خادم»، اختر نوع HTTP، أدخل عنوان ‏URL‏ وأضف رأس Authorization.

MCP مقابل REST API مقابل WebSocket لوكلاء الذكاء الاصطناعي

مرّر الجدول أفقيًا

المعيارMCPREST APIWebSocket
نموذج التواصلاستدعاءات أدوات مكتوبة، اكتشاف ديناميكي للمخطططلب/استجابة HTTP عديمة الحالة، عقد OpenAPIقناة ثنائية الاتجاه مستمرة، أحداث في الوقت الفعلي
التكامل الأصلي مع LLMأصلي: Claude وCursor وCline وContinue تقرأ مخطط MCP مباشرةيتطلب غلافاً لـ function-calling أو مكوناً إضافياًيتطلب محولاً على جانب الوكيل
تعقيد النشرمنخفض: عملية Node/Python واحدة، vhost nginx واحدمنخفض إلى متوسط: إطار REST قياسيمتوسط إلى مرتفع: إدارة الاتصالات وإعادة الاتصال والحالة
مناسب لـالأدوات المحلية والوصول للملفات وقواعد البيانات وأتمتة الوكيلتكاملات الطرف الثالث والـ webhooks والميكروسيرفيسز الموجودةإشعارات Push والتعاون الفوري والبث
الإصدار والتطورالمخطط معلن في الخادم، يكتشفه العميل تلقائياًإصدار صريح في URL أو الرأسبروتوكول تطبيق يُدار يدوياً

استكشاف الأخطاء: 4 أخطاء شائعة

‏1. MCP transport error: Failed to fetch‏
يظهر هذا الخطأ في ‏Claude Desktop‏ أو ‏Cursor‏ عندما لا يستطيع العميل الوصول إلى عنوان ‏URL‏ المُعد. الأسباب الشائعة: خدمة ‏systemd‏ لا تعمل، أو ‏nginx‏ لم يُعاد تحميله، أو جدار الحماية يحجب المنفذ ‏443‏.

‏2. Connection refused on 127.0.0.1:3000‏
خادم ‏MCP‏ لم يبدأ أو توقف عند الإقلاع. راجع سجلات ‏systemd‏: journalctl -u mcp-server -n 50.

‏3. Request timed out after 30000ms‏
الخادم يستجيب ولكن ببطء شديد. تحقق من حجم الدليل أو امتلاء القرص (df -h). زد مهلة ‏nginx‏ كملاذ أخير: proxy_read_timeout 120s;.

‏4. 401 Unauthorized‏ بشكل منتظم
الرمز المُرسل من العميل لا يطابق الرمز المتوقع في ‏nginx‏. تحقق من دقة الرمز في إعداد العميل.

نحو بيئة ذكاء اصطناعي متكاملة على VPS

خادم ‏MCP‏ مكوّن واحد من مكونات عديدة في بيئة ذكاء اصطناعي ذاتية الاستضافة. على نفس ‏VPS‏، يمكنك تشغيل نموذج محلي عبر ‏Ollama‏، وقاعدة بيانات متجهية مثل ‏Qdrant‏ أو ‏Chroma‏، ومنسق مثل ‏n8n‏ أو ‏Flowise‏. تقدم ‏ServOrbit‏ قوالب ‏VPS‏ جاهزة لهذه البيئات على بنية تحتية في مراكز بيانات أوروبية مع ‏IPv4‏ مخصصة ووصول ‏root‏.

خادم MCP الخاص بك يستحق بنية تحتية موثوقة

انشر خادم MCP الخاص بك على VPS من ServOrbit: موارد مخصصة، IPv4 ثابت، لقطات عند الطلب. ابتداءً من 99 درهم/شهر.