شرح بروتوكول سياق النموذج (Model Context Protocol)
توقف عن كتابة نفس كود التكامل مراراً وتكراراً.
إذا قمت بربط نموذج لغوي كبير (LLM) بقاعدة بيانات أو واجهة برمجة تطبيقات (API)، فغالباً ما ستضطر لكتابة كود ربط (glue code) مخصص لكل نموذج جديد. هذا يسبب فوضى، حيث ينتهي بك الأمر بإدارة اتصالات عديدة لأدوات متنوعة.
يقوم بروتوكول سياق النموذج (Model Context Protocol - MCP) بحل هذه المشكلة. فهو يعمل مثل منفذ USB-C للذكاء الاصطناعي؛ حيث تبني الأداة مرة واحدة، ويمكن لأي نموذج استخدامها.
تتكون البنية التحتية من ثلاثة أجزاء:
• المضيف (Host): التطبيق الذي تستخدمه، مثل Claude Code أو بيئة تطوير متكاملة (IDE). • العميل (Client): الموصل الموجود داخل المضيف. • الخادم (Server): البرنامج الذي تبنيه لعرض البيانات أو الأدوات.
يمكنك بناء خادم MCP باستخدام ثلاث وحدات أساسية:
- الأدوات (Tools): وظائف يستدعيها النموذج لأداء مهام معينة، مثل إرسال بريد إلكتروني.
- الموارد (Resources): بيانات للقراءة فقط يسحبها التطبيق، مثل ملف سجل (log file).
- المطالبات (Prompts): قوالب قابلة لإعادة الاستخدام لمهام محددة.
إليك كيفية بناء خادم أساسي بلغة Python باستخدام FastMCP SDK:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo-tools")
@mcp.tool()
def word_count(text: str) -> int:
"""Count words in a text."""
return len(text.split())
@mcp.resource("notes://team")
def team_notes() -> str:
"""Expose team notes."""
return "Release freeze starts Friday."
@mcp.prompt()
def code_review(language: str, code: str) -> str:
"""Template for code reviews."""
return f"Review this {language} code: {code}"
if __name__ == "__main__":
mcp.run()
يتولى هذا الكود عملية الاتصال المعقدة نيابة عنك. وتصبح نصوص التوثيق (docstrings) الخاصة بك هي التعليمات التي يتبعها النموذج.
ثلاث نصائح للإنتاج (Production):
- الأمان: اطلب دائماً موافقة المستخدم قبل تشغيل أداة تقوم بتغيير البيانات.
- السياق: اجعل أوصاف الأدوات قصيرة، فالأوصاف الطويلة تستهلك الكثير من الـ tokens.
- الأخطاء: أرجع رسائل واضحة. يمكن للنموذج إصلاح خطأ مثل "User not found"، لكنه لا يستطيع إصلاح انهيار برمجي مفاجئ (raw code crash).
توقف عن بناء موصلات مخصصة لكل حالة. ابنِ خادم MCP مرة واحدة واجعل كل نموذج يستخدمه.
المصدر: https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian