الأتمتة بالذكاء الاصطناعي وRAG وMCP
4 دقيقة قراءة
بقلم الفريق الهندسي في UnlockLive IT
Terminal showing an MCP server returning 401 with resource metadata, Claude Code adding the server, and a scoped search_tasks call

إعداد خادم MCP محلي على حاسوب مطوّر واحد أمر سهل. أما خادم MCP البعيد الذي يستخدمه فريق كامل من Claude أو ChatGPT أو Cursor، حيث يسجّل كل شخص الدخول بحسابه الخاص ولا يستطيع الذكاء الاصطناعي فعل إلا ما يُسمح لذلك الشخص به، فيحتاج إلى قدر أكبر من التصميم. يشرح هذا الدليل البنية التي استخدمناها لخادمنا في أكتوبر 2026: خادم MCP بلغة Python يربط Claude بنظام إدارة المهام الداخلي لدينا.

جديد على MCP؟ ابدأ بمقال ما هو خادم MCP.

البنية

  1. تطبيقك (هنا تطبيق Django) هو خادم تفويض OAuth: يسجّل الأشخاص الدخول بحساباتهم الموجودة ويوافقون على منح الوصول.
  2. خادم MCP هو خادم الموارد: يستلم رمز الوصول الخاص بالمستخدم من تطبيق الذكاء الاصطناعي، ويتحقق منه لدى خادم التفويض، وعندها فقط ينفّذ الأداة.
  3. تطبيق الذكاء الاصطناعي (Claude أو ChatGPT أو Cursor أو Claude Code) يكتشف طريقة تسجيل الدخول من البيانات الوصفية لخادم MCP، ويوجّه المستخدم إلى صفحة الدخول، ثم يستدعي الأدوات باستخدام الرمز.

هناك قرار تصميمي واحد بالغ الأهمية: لا يمرّر خادم MCP رمز المستخدم أبدًا إلى واجهة API الداخلية للتطبيق. بل يستدعي التطبيق ببيانات اعتماد الخدمة الخاصة به ويحدد المستخدم الذي يعمل نيابةً عنه، ويطبّق التطبيق صلاحيات ذلك المستخدم. وبذلك لا يمكن إعادة استخدام رمز ذكاء اصطناعي مسرَّب ضد بقية نظامك.

الخطوة 1: صمّم الأدوات قبل كتابة الشيفرة

الأدوات هي ما يراه الذكاء الاصطناعي، لذا صمّمها كما تصمّم منتجًا:

  • قليلة ومحددة: يحتوي خادمنا على 11 أداة، مثل search_tasks وsummarize_tasks وcreate_tasks وadd_comment.
  • ضع على الأدوات التي تقرأ فقط علامة «للقراءة فقط»، حتى تتعامل معها تطبيقات الذكاء الاصطناعي بشكل مختلف عن الأدوات التي تغيّر البيانات.
  • أرجِع نتائج موجزة (المعرّفات، والعناوين، والحالة، والروابط)، لا صفوف قاعدة البيانات كاملة.
  • اجعل أدوات الكتابة تعمل على دفعات مع حدود (نسمح بـ 1 إلى 50 مهمة في كل استدعاء) حتى لا يكرر الذكاء الاصطناعي الاستدعاء مئات المرات.
  • اكتب أوصافًا واضحة: فالذكاء الاصطناعي يختار الأدوات بقراءة أوصافها.

الخطوة 2: خادم MCP بلغة Python

استخدمنا حزمة SDK الرسمية للغة Python (الحزمة mcp) مع وسيلة النقل Streamable HTTP، على المسار /mcp. وتبدو نسخة مبسّطة من الإعداد هكذا:

from mcp.server.mcpserver import MCPServer
from mcp.server.auth.settings import AuthSettings
from mcp.types import ToolAnnotations

READ_ONLY = ToolAnnotations(read_only_hint=True, open_world_hint=False)

mcp = MCPServer(
    name="tasks",
    token_verifier=IntrospectionVerifier(),   # checks tokens with your OAuth server
    auth=AuthSettings(
        issuer_url="https://app.example.com",
        resource_server_url="https://mcp.example.com/mcp",
        required_scopes=["tasks:read"],
    ),
)

@mcp.tool(annotations=READ_ONLY)
async def search_tasks(query: str, overdue: bool = False) -> list[dict]:
    """Search tasks the signed-in person can see."""
    user = current_user()                      # from the verified token
    return await app_api.search(user, query=query, overdue=overdue)

راجع توثيق SDK الحالي لمعرفة الأسماء الدقيقة، لأن حزم SDK تتطور بسرعة.

الخطوة 3: تسجيل الدخول عبر OAuth والنطاقات

  • خادم التفويض: يستخدم تطبيقنا django-oauth-toolkit لإصدار الرموز والرد على طلبات فحص الرموز (token introspection). ويمكن لأي خادم OAuth 2 تثق به أن يؤدي هذه المهمة.
  • الاكتشاف: ينشر خادم MCP البيانات الوصفية للمورد المحمي (protected-resource metadata). وعندما يستدعي تطبيق ذكاء اصطناعي المسار /mcp بدون رمز، يتلقى استجابة 401 تشير إلى تلك البيانات الوصفية، ومنها إلى صفحة تسجيل الدخول لديك.
  • النطاقات: نستخدم tasks:read لكل ما يقرأ فقط، وtasks:write لأي شيء يغيّر البيانات. ويمكن للشخص أن يتصل بصلاحية القراءة فقط.
  • فحص الرموز: يتحقق خادم MCP من كل رمز لدى خادم التفويض، بما في ذلك الجهة التي صدر لها، قبل تشغيل أي أداة.

الخطوة 4: انشر الخادم

  • غلّف الخادم في حاوية Docker صغيرة مع نقطة نهاية لفحص السلامة (health check).
  • ضعه خلف HTTPS (عبر nginx أو Caddy أو موازن أحمال سحابي) وأوقف التخزين المؤقت للاستجابات على مسار MCP، وإلا ستتوقف الاستجابات المتدفقة.
  • يجب أن يطابق عنوان URL العام الذي يعلنه الخادم تمامًا العنوان الذي يُدخله الأشخاص في تطبيق الذكاء الاصطناعي.
  • تأكد من أن جدران الحماية أو شبكات CDN أو أنظمة الحماية من الروبوتات لا تمنع خوادم مزوّد الذكاء الاصطناعي من الوصول إلى نقاط نهاية تسجيل الدخول والبيانات الوصفية لديك؛ فهذا هو السبب الأكثر شيوعًا لفشل زر «Connect».

الخطوة 5: اختبر قبل أن تربط المستخدمين الحقيقيين

نختبر خادم MCP من البداية إلى النهاية مقابل نسخة وهمية من التطبيق تعمل في الذاكرة، ولجانب التطبيق اختباراته الخاصة لـ OAuth والصلاحيات وواجهة API الداخلية. وقبل الإطلاق، تحقّق يدويًا من أن: الاستدعاء بدون رمز يُرجع 401 مع رابط البيانات الوصفية، والرمز ذو صلاحية القراءة فقط يُرفض مع أدوات الكتابة، والمستخدم لا يستطيع رؤية البيانات الخاصة بمستخدم آخر.

الخطوة 6: اربطه في Claude أو ChatGPT أو Cursor

  • Claude (للفرق): يضيف المالك موصِّلًا مخصّصًا (custom connector) بعنوان URL لخادم MCP؛ ثم ينقر كل شخص على Connect ويسجّل الدخول.
  • Claude Code: claude mcp add --transport http tasks https://mcp.example.com/mcp، ثم سجّل الدخول.
  • التطبيقات الأخرى: معظم التطبيقات المتوافقة مع MCP فيها مكان لإضافة عنوان URL لخادم MCP بعيد؛ راجع توثيقها.

أخطاء شائعة

  • منح الذكاء الاصطناعي أداة واحدة قوية «لتنفيذ أي استعلام» بدلًا من بضع أدوات آمنة ومحددة.
  • استخدام مفتاح API واحد مشترك للجميع، فلا تستطيع معرفة من فعل ماذا.
  • تمرير رموز المستخدمين مباشرة إلى الأنظمة الداخلية.
  • غياب السجلات: يجب أن تستطيع دائمًا الإجابة عن سؤال «من طلب من الذكاء الاصطناعي تغيير هذا، ومتى؟»

كيف يمكن أن تساعدك UnlockLive

نبني خوادم MCP بعيدة ونشغّلها لأنظمة CRM وقواعد البيانات وأنظمة ERP وواجهات API الداخلية، مع تسجيل دخول لكل مستخدم، ونطاقات صلاحية، وتسجيل للعمليات، واختبارات. اطّلع على خدمة تطوير خوادم MCP لدينا، وقائمة التحقق لأمان MCP، ودراسة حالة خادمنا. أخبرنا بالنظام الذي تريد ربطه.

الأسئلة الشائعة

ما هو خادم MCP البعيد؟

هو خادم MCP يعمل على خادم ويُوصَل إليه عبر HTTPS، حتى يستطيع فريق كامل استخدامه من تطبيقات الذكاء الاصطناعي مثل Claude أو ChatGPT أو Cursor، وعادةً ما يسجّل كل شخص الدخول بحسابه الخاص.

كيف يعمل OAuth مع خادم MCP؟

يعمل تطبيقك أو مزوّد الهوية لديك كخادم تفويض OAuth، ويعمل خادم MCP كخادم موارد. يكتشف تطبيق الذكاء الاصطناعي طريقة تسجيل الدخول من البيانات الوصفية (metadata) لخادم MCP، فيسجّل المستخدم الدخول ويوافق على منح الوصول، ثم يرسل تطبيق الذكاء الاصطناعي رمز المستخدم مع كل استدعاء لأداة.

هل أنشئ خادم MCP بلغة Python أم TypeScript؟

لكلتا اللغتين حزم SDK رسمية. اختر اللغة التي يستخدمها فريقك ونظامك الخلفي الحالي؛ فبالنسبة للأنظمة الخلفية المبنية بـ Python مثل Django أو FastAPI، يكون خادم MCP بلغة Python خيارًا طبيعيًا.

كيف أضيف خادم MCP بعيدًا إلى Claude Code؟

شغّل الأمر claude mcp add --transport http مع اسم وعنوان URL للخادم، ثم سجّل الدخول عندما يُطلب منك ذلك.

لماذا يفشل زر Connect مع خادم MCP الخاص بي؟

أكثر الأسباب شيوعًا: عنوان URL عام لا يطابق تمامًا العنوان المُدخل في تطبيق الذكاء الاصطناعي، أو شبكة CDN أو جدار حماية يمنع مزوّد الذكاء الاصطناعي من الوصول إلى نقاط نهاية تسجيل الدخول أو البيانات الوصفية، أو التخزين المؤقت في الوكيل العكسي (proxy) على مسار MCP.

كيف يمكننا المساعدة

  • خدمات تطوير خوادم MCPخوادم Model Context Protocol (MCP) مخصصة تتيح واجهات API وقواعد بياناتك وأدواتك الداخلية لـ Claude وCursor وChatGPT وأي ذكاء اصطناعي متوافق مع MCP.
  • تطوير Python وFastAPIأنظمة خلفية عالية الأداء بلغة Python وخدمات FastAPI المصغّرة لـ SaaS وواجهات API لاستدلال الذكاء الاصطناعي ومسارات ETL والأنظمة المعتمدة على الأحداث.
  • خدمات الأمن السيبراني وأمن الذكاء الاصطناعياختبار الاختراق، ومراقبة SOC، والجاهزية لمعايير SOC 2 / ISO 27001 / PCI DSS / HIPAA، والعمل في المجالات الناشئة مثل الاختبار الهجومي لنماذج LLM وأمن وكلاء الذكاء الاصطناعي.

تحدثوا إلى مهندس حول مشروعكم

أخبرونا بما تبنونه. نردّ خلال يوم عمل واحد برأي صريح حول النطاق والنهج والجهد المطلوب.

احجزوا مكالمة استراتيجية مجانية

كتبه الفريق الهندسي في UnlockLive IT. تعمل UnlockLive IT Limited مع العملاء عبر مقرها الرئيسي في تورنتو، وتقدم الأعمال الهندسية من مركز التسليم في دكا. من نحن

مقالات ذات صلة

الأتمتة بالذكاء الاصطناعي وRAG وMCPمراجعة العقود بالذكاء الاصطناعي: كيف تعمل، وأين تخطئ، وكيف تحافظ على سرية عقودك (2026)الأتمتة بالذكاء الاصطناعي وRAG وMCPكيف توظّف مطور n8n أو وكالة n8n: التكلفة والمهارات والأسئلة التي يجب طرحها (2026)الأتمتة بالذكاء الاصطناعي وRAG وMCPما هو خادم MCP؟ دليل مبسّط مع أمثلة (2026)

اتصلوا بنا

املأوا النموذج أدناه وسيتواصل معكم فريقنا قريبًا لمساعدتكم في استفساركم.