הסבר על Model Context Protocol

הפסיקו לכתוב את אותו קוד אינטגרציה שוב ושוב.

אם אתם מחברים LLM למסד נתונים או ל-API, אתם נאלצים לעיתים קרובות לכתוב קוד דבק (glue code) מותאם אישית עבור כל מודל חדש. זה יוצר בלגן. אתם מסיימים לנהל המון חיבורים עבור המון כלים.

ה-Model Context Protocol (MCP) פותר את זה. הוא פועל כמו חיבור USB-C עבור AI. אתם בונים כלי פעם אחת, וכל מודל יכול להשתמש בו.

לארכיטקטורה יש שלושה חלקים:

• Host: האפליקציה שבה אתם משתמשים, כמו Claude Code או IDE. • Client: המחבר (connector) שנמצא בתוך ה-host. • Server: התוכנית שאתם בונים כדי לחשוף נתונים או כלים.

ניתן לבנות שרת MCP באמצעות שלושה פרימיטיבים (primitives) עיקריים:

  • Tools: פונקציות שהמודל קורא להן כדי לבצע עבודה, כמו שליחת אימייל.
  • Resources: נתונים לקריאה בלבד שהאפליקציה מושכת, כמו קובץ לוג.
  • 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):

  1. אבטחה: תמיד בקשו אישור מהמשתמש לפני הרצת כלי שמשנה נתונים.
  2. הקשר (Context): שמרו על תיאורי כלים קצרים. תיאורים ארוכים מבזבזים tokens.
  3. שגיאות: החזירו הודעות ברורות. מודל יכול לתקן שגיאת "User not found", אך הוא לא יכול לתקן קריסה של קוד גולמי.

הפסיקו לבנות מחברים (connectors) מותאמים אישית. בנו שרת MCP פעם אחת ותנו לכל מודל להשתמש בו.

מקור: https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian