Skip to content

تطوير أدوات الذكاء الاصطناعي باستخدام MCP

·4 دقيقة قراءة·Ahmet Kaan Celenk
MCPالذكاء الاصطناعيPythonClaude

ما هو MCP؟#

بروتوكول Model Context Protocol (MCP) معيار مفتوح يمنح مساعدي الذكاء الاصطناعي القدرة على التفاعل مع العالم الخارجي. طوّرته شركة Anthropic، وبفضله تستطيع نماذج الذكاء الاصطناعي الوصول إلى بيانات لحظية واستخدام أدوات خارجية.

أكبر قيد على نماذج الذكاء الاصطناعي التقليدية هو تاريخ انقطاع بيانات التدريب. ويحلّ MCP هذه المشكلة بمنح النماذج وصولاً إلى بيانات حيّة.

NOTE

MCP هو التقنية التي تحوّل مساعدي الذكاء الاصطناعي من مجرد روبوتات دردشة إلى مساعدين رقميين حقيقيين. وتطوّره Anthropic كمشروع مفتوح المصدر.

كيف يعمل؟#

تتكوّن بنية MCP من ثلاثة مكوّنات أساسية:

المكوّنالوصف
Hostنموذج الذكاء الاصطناعي (مثل Claude Desktop)
Clientعميل MCP (يعمل داخل الـ Host)
Serverالخادم الذي يقدّم الأدوات (وهو ما تطوّره أنت)

مخطط بنية MCP#

Loading diagram...

تسلسل الاتصال#

Loading diagram...

طبقة النقل#

يدعم MCP طريقتَي نقل:

  • stdio: الإدخال والإخراج القياسي، للأدوات المحلية
  • SSE (Server-Sent Events): اتصال قائم على HTTP، للخوادم البعيدة

TIP

ننصح باستخدام النقل عبر stdio أثناء التطوير، فهو أبسط وأسهل في تتبّع الأخطاء. ويمكنك الانتقال إلى SSE عند الانتقال للإنتاج.

تطوير أداة MCP بلغة Python#

لنطوّر أداة بسيطة لأسعار الصرف. أولاً نثبّت الاعتماديات:

pip install mcp httpx

ثم ننشئ خادم MCP:

server.py
from mcp.server.fastmcp import FastMCP
import httpx
 
mcp = FastMCP("exchange-rate")
 
@mcp.tool()
async def get_exchange_rate(base: str, target: str) -> str:
    """استعلام سعر الصرف اللحظي."""
    async with httpx.AsyncClient() as client:
        response = await client.get(
            f"https://api.exchangerate.host/latest",
            params={"base": base, "symbols": target}
        )
        data = response.json()
        rate = data["rates"][target]
        return f"1 {base} = {rate} {target}"
 
if __name__ == "__main__":
    mcp.run(transport="stdio")
💡

يستخدم المُزخرِف @mcp.tool() نصّ التوثيق (docstring) الخاص بالدالة تلقائياً كوصف للأداة. وهذا الوصف يلعب دوراً حاسماً في قرار النموذج متى يستدعي الأداة.

التكامل مع Claude Desktop#

لإضافة أداتك إلى Claude Desktop، أضف هذا الإعداد إلى ملف claude_desktop_config.json:

claude_desktop_config.json
{
  "mcpServers": {
    "exchange-rate": {
      "command": "python",
      "args": ["path/to/server.py"]
    }
  }
}

WARNING

لا تنسَ كتابة المسار المطلق لملف الخادم داخل args. فإذا استخدمت مساراً نسبياً قد لا يعثر Claude Desktop على الأداة.

مقارنة الأداء#

يمكن التعبير عن الفارق بين MCP والاستدعاء المباشر لواجهة برمجية بصيغة بسيطة:

زمن الاستجابة الكلي: Ttotal=Tmodel+Tmcp+TapiT_{total} = T_{model} + T_{mcp} + T_{api}

وفيها القيم المتوسطة كالتالي:

Ttotal200ms+50ms+TapiT_{total} \approx 200\text{ms} + 50\text{ms} + T_{api}

يبلغ العبء الإضافي لـ MCP نحو 50ms50\text{ms} في المتوسط، وهو منخفض بما يكفي لئلا يؤثر في تجربة المستخدم.

مجالات الاستخدام#

أمثلة على أدوات يمكنك بناؤها باستخدام MCP:

  • المالية: بيانات الأسواق اللحظية وأسعار الصرف وأسعار العملات الرقمية
  • الطقس: توقعات مبنية على الموقع
  • قواعد البيانات: تنفيذ استعلامات SQL مباشرةً
  • إنترنت الأشياء: قراءة بيانات المستشعرات والتحكم في الأجهزة
  • عمليات الأعمال: أنظمة CRM و ERP وأدوات إدارة المشاريع — ويمكن دمجها في منصات الويب والهاتف على حد سواء

IMPORTANT

يجب تصميم خوادم MCP بعناية من ناحية الأمان. احفظ مفاتيح الواجهات البرمجية الخارجية كمتغيرات بيئة، ولا تكتبها أبداً داخل الشيفرة المصدرية.

الخلاصة#

MCP بروتوكول تحويلي ينقل مساعدي الذكاء الاصطناعي من روبوتات دردشة سلبية إلى أدوات رقمية فاعلة. وبلغة Python يمكنك بناء أداة بسرعة ودمجها في نماذج مثل Claude.

وبينما تبني أدوات MCP، قد ترغب أيضاً في استكشاف نظام امتداد آخر قوي في Claude: خاصية Skills التي شرحناها في دليل Claude Skills، وهي ميزة مكمّلة تمنح Claude تعليمات وسير عمل دائمة.

ℹ️

الشيفرة المصدرية لأداة أسعار الصرف المستخدمة في هذا المقال متاحة على صفحتنا على GitHub.

المراجع#

مشاركة:

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