يتيح Model Context Protocol (MCP) لمساعدي الذكاء الاصطناعي استدعاء الأدوات وقراءة البيانات من خوادم تشغّلها أنت. تعمل كثير من خوادم MCP محلياً، لكن الخادم البعيد على VPS مفيد عندما يحتاج عدة أشخاص أو أدوات أو وكلاء إلى مشاركة القدرات نفسها. يغطي هذا الدليل خيارات الإعداد ومستوى أساسياً آمناً.
MCP محلي أم بعيد؟
- محلي (stdio). يشغّل العميل الخادم كعملية فرعية على جهازك. بسيط وخاص، لكنه يعمل على ذلك الجهاز فقط.
- بعيد (HTTP). يعمل الخادم على VPS ويتصل العملاء عبر HTTPS. وهذا ما تستضيفه. يناسب الأدوات المشتركة والمهام طويلة الأمد والأدوات التي تحتاج إلى IP ثابت.
راجع مواصفة MCP الحالية لمعرفة وسيلة النقل التي يدعمها عميلك. Streamable HTTP هو الخيار المعتاد للخوادم البعيدة. تجد أحجام أحمال العمل النموذجية في صفحة استضافة خوادم MCP لدينا.
الخطوة 1: جهّز الخادم
استخدم خادم Ubuntu LTS جديداً والخطوات الواردة في كيفية تأمين VPS جديد. أنشئ مستخدماً للخدمة.
sudo adduser --disabled-password --gecos "" mcp
الخطوة 2: شغّل الخادم
استخدم SDK الرسمي أو خادماً موجوداً. يستخدم مثال Python هذا أداة FastMCP المساعدة من MCP SDK:
sudo -iu mcp
python3 -m venv ~/venv && . ~/venv/bin/activate
pip install "mcp[cli]"
# server.py
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo", host="127.0.0.1", port=8000)
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers."""
return a + b
if __name__ == "__main__":
mcp.run(transport="streamable-http")
الخطوة 3: شغّله كخدمة
[Unit]
Description=MCP server
After=network-online.target
[Service]
User=mcp
WorkingDirectory=/home/mcp
ExecStart=/home/mcp/venv/bin/python server.py
Restart=always
[Install]
WantedBy=multi-user.target
احفظه باسم /etc/systemd/system/mcp.service وشغّل sudo systemctl enable --now mcp.
الخطوة 4: HTTPS والمصادقة
يمكن لخادم MCP تشغيل الشيفرة وقراءة البيانات، لذا لا تتركه مفتوحاً أبداً. ضعه خلف وكيل عكسي مع TLS واشترط رمزاً:
mcp.example.com {
@noauth not header Authorization "Bearer YOUR_LONG_RANDOM_TOKEN"
respond @noauth 401
reverse_proxy 127.0.0.1:8000
}
في الإعداد الإنتاجي، استخدم OAuth كما في مواصفة تفويض MCP بدلاً من رمز مشترك واحد.
قائمة التحقق من الأمان
- امنح الأدوات أقل صلاحية تحتاجها. لا تمنح أداة وصولاً إلى shell إلا إذا كان ذلك هو الغرض.
- احتفظ بالأسرار في ملفات البيئة مع
chmod 600. - سجّل استدعاءات الأدوات لتعرف ما حدث.
- أبقِ المنفذ مربوطاً بـ 127.0.0.1 واكشف الوكيل فقط.