arrow_forwardמדריכים / בניית MCP Server
מעודכן ליולי 2026 15 דקות קריאה מתקדם

בניית MCP Server
— לחבר את הכלים שלך ל-AI

MCP הפך ל"USB-C של ה-AI" — פרוטוקול אחד שמחבר כל מודל לכל כלי. במדריך הזה לא נסתפק בהסבר מושגי: נבנה שרת MCP משלך צעד-אחר-צעד — tools, resources, prompts, ה-transport הנכון, חיבור ל-Claude ולסוכנים, ומלכודות האבטחה שחייבים להכיר.

Tools
פעולות
Resources
מידע
Prompts
תבניות

מה זה MCP Server ולמה לבנות אחד

Model Context Protocol (MCP) הוא פרוטוקול פתוח שמגדיר איך מודל שפה (או סוכן) מדבר עם מקורות חיצוניים — בסיסי נתונים, APIs, קבצים, מערכות פנימיות. במקום לכתוב אינטגרציה ייעודית לכל מודל, אתה כותב שרת MCP אחד, וכל לקוח שתומך ב-MCP (Claude Desktop, IDEs, סוכנים) יכול להשתמש בו מיד.

מתי כדאי לבנות שרת משלך? כשיש לך יכולת פנימית שתרצה לחשוף ל-AI — לדוגמה גישה ל-CRM של החברה, שאילתות על מסד נתונים, או הפעלת workflow ב-n8n. השרת עוטף את היכולת בממשק סטנדרטי, וה-AI מקבל אליה גישה בטוחה ומבוקרת.

lan
Client מול Server

ב-MCP יש שני צדדים: ה-host/client (Claude Desktop, סוכן) שמנהל את השיחה, וה-server (מה שתבנה) שחושף יכולות. תקשורת ביניהם היא JSON-RPC. אתה בונה את ה-server; הלקוח כבר קיים.

שלושת ה-primitives: Tools, Resources, Prompts

שרת MCP חושף שלושה סוגי יכולות. חשוב להבין את ההבחנה — היא קובעת איך המודל משתמש בכל אחת:

build
Tools — פעולות שהמודל מפעיל
פונקציות שהמודל בוחר לקרוא להן: "שלח מייל", "חפש במסד", "צור כרטיס". יש להן קלט מובנה (schema) ופלט. זה ה-primitive הנפוץ ביותר.
description
Resources — מידע לקריאה
נתונים שהלקוח יכול לטעון להקשר: תוכן קובץ, רשומה, לוג. מזוהים ב-URI. בניגוד ל-tools, הם נשלטים בד"כ ע"י הלקוח/המשתמש, לא ע"י המודל.
auto_awesome
Prompts — תבניות מוכנות
תבניות שיחה שהמשתמש בוחר ("סכם את הדוח הזה"). מופיעות בלקוח כפקודות מהירות. שימושי פחות מ-tools, אבל מצוין ל-workflows חוזרים.

Transport — stdio מול HTTP

איך הלקוח והשרת מדברים פיזית? יש שתי אפשרויות עיקריות, וזו החלטה ארכיטקטונית חשובה:

Transport איפה רץ הכי טוב ל
stdioמקומי, על אותה מכונהכלים אישיים, Claude Desktop
Streamable HTTPשרת מרוחקשירות מרובה-משתמשים, ענן

stdio — השרת רץ כתהליך מקומי והתקשורת דרך stdin/stdout. הכי פשוט להתחיל, מושלם לכלי אישי שרץ לצד Claude Desktop. Streamable HTTP — השרת רץ מרחוק ונגיש דרך HTTP; מתאים כשצריך לשרת כמה משתמשים או לפרוס בענן. התחל ב-stdio, עבור ל-HTTP כשצריך scale.

בונים שרת ראשון — עם ה-SDK הרשמי

הדרך הקלה ביותר היא ה-SDK הרשמי. ב-Python, FastMCP מאפשר להגדיר tool עם דקורטור בודד — ה-schema נגזר אוטומטית מ-type hints וה-docstring:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("weather-server")

@mcp.tool()
def get_weather(city: str) -> str:
    """מחזיר את מזג האוויר הנוכחי בעיר נתונה."""
    # כאן הלוגיקה האמיתית — קריאה ל-API אמיתי
    return f"בעיר {city}: 24°C, בהיר"

if __name__ == "__main__":
    mcp.run()  # ברירת מחדל: transport של stdio

זהו — יש לך שרת MCP עובד עם tool אחד. שלושה עקרונות שהופכים tool לטוב:

tips_and_updates
בדיקה לפני חיבור

לפני שמחברים ללקוח, בדוק את השרת עם MCP Inspector — כלי רשמי שמריץ את השרת ומאפשר לקרוא ל-tools ידנית ולראות את התשובות. חוסך שעות דיבוג מול Claude.

חיבור ל-Claude ולסוכנים

אחרי שהשרת עובד, מחברים אותו ללקוח. Claude Desktop קורא קובץ הגדרות JSON שבו רושמים את פקודת ההרצה של השרת — הלקוח מריץ אותו אוטומטית ומגלה את ה-tools. סוכנים (LangGraph, Claude Agent SDK ואחרים) יכולים להתחבר ל-MCP servers כמקור כלים, כך שאותו שרת משרת גם צ'אט אנושי וגם אוטומציה.

זה בדיוק הכוח של MCP: כתבת את השרת פעם אחת, ועכשיו הוא זמין ל-Claude Desktop, ל-IDE, ולכל סוכן שתבנה — בלי לשכפל קוד. ה-framework של הסוכן רק צריך לדעת לדבר MCP.

אבטחה ומלכודות נפוצות

שרת MCP חושף יכולות אמיתיות ל-AI — ולכן הוא גם משטח תקיפה. אלה הדברים שאסור לפספס:

warning
המלכודת הכי נפוצה: יותר מדי tools

מפתה לחשוף עשרות tools "ליתר ביטחון". אבל כל tool צורך טוקנים בהקשר ומבלבל את המודל בבחירה. שרת עם 5 tools ממוקדים עדיף על שרת עם 30. חשוף את מה שבאמת נחוץ.