3
שלב 2 — הרחבה

MCP — התחבר לכל דבר

Model Context Protocol הוא "ה-USB של AI" — תקן פתוח שמחבר את Claude למאגרי נתונים, APIs, דפדפנים, ולכל שירות שאתה צריך. בפרק הזה תתקין שרתי MCP, תגדיר אותם, תבנה שרת משלך, ותבין איך Tool Search חוסך לך context יקר. MCP הוא ההבדל בין Claude שיודע לעבוד רק עם קבצים — לבין Claude שמחובר לכל העולם.

מה יהיה לך בסוף הפרק הזה
יעדי למידה — מה תדע לעשות אחרי הפרק הזה
דרישות קדם
הפרויקט שלך

בפרק הקודם בנית Custom Agents — סוכנים מותאמים אישית שעושים עבודה ממוקדת בשבילך. הם יודעים לקרוא קבצים, לערוך קוד, ולהריץ פקודות — אבל הם מוגבלים למה שיש על המחשב שלך. עכשיו אנחנו הולכים לפרוץ את הגבולות: עם MCP, הסוכנים שלך (ו-Claude עצמו) יוכלו לגשת למסדי נתונים, לשלוט בדפדפן, לתקשר עם GitHub, ולהתחבר לכל API. בפרק הבא (פרק 4) נלמד על Skills — שם נחבר הכל ביחד: Skills שמפעילים Agents שמשתמשים ב-MCP tools.

מילון מונחים — פרק 3
מונח באנגלית הסבר בעברית
MCP (Model Context Protocol) פרוטוקול הקשר למודל — תקן פתוח שמגדיר איך סוכני AI מתחברים לכלים, מקורות מידע, ושירותים חיצוניים
MCP Server שרת MCP — תהליך מקומי שמדבר JSON-RPC ומספק כלים ל-Claude
JSON-RPC פרוטוקול תקשורת שבו בקשות ותשובות עוברות כאובייקטי JSON דרך stdin/stdout
stdio Standard Input/Output — ערוץ התקשורת הבסיסי בין תהליכים במערכת הפעלה
Tool Search / Deferred Loading טעינה עצלה — במקום לטעון את כל הגדרות הכלים מראש, Claude טוען רק מה שהוא צריך ברגע שהוא צריך
Elicitation עוררות/שאילתה — יכולת של שרת MCP לבקש קלט מובנה מהמשתמש באמצע Workflow
OAuth פרוטוקול אימות שמאפשר גישה לשירותים צד-שלישי (Google, Slack) בלי לשתף סיסמה
npx / uvx כלי הרצה של חבילות — npx ל-Node.js, uvx ל-Python. מאפשרים להריץ חבילה בלי להתקין אותה גלובלית
Context Window חלון ההקשר — כמות ה-tokens שזמינה לשיחה. שרתי MCP עם הרבה כלים צורכים חלק ממנו
defer_loading הגדרה שגורמת לכלי MCP להיטען רק כשצריך אותם (On-Demand), במקום מראש — חוסך ~85% tokens
Permissions (allow/deny) מערכת הרשאות שמגדירה אילו כלי MCP Claude מורשה להשתמש בהם בלי לשאול
Version Pinning נעילת גרסה — שימוש ב-@package@1.2.3 במקום @package למניעת שבירות מעדכונים
מתחיל 10 דקות חינם מושג

1. מה זה MCP ולמה זה משנה הכל

MCP זה ראשי תיבות של Model Context Protocol — פרוטוקול הקשר למודל. זה תקן פתוח שנוצר על ידי Anthropic בנובמבר 2024 ומגדיר איך סוכני AI מתחברים לכלים חיצוניים, מקורות מידע, ושירותים. חשוב על זה ככה: בלי MCP, ל-Claude Code יש רק את הכלים המובנים — Read, Edit, Write, Bash, Grep, Glob, WebSearch, WebFetch. זה שמונה כלים חזקים, אבל הם מוגבלים לקבצים ולטרמינל שלך. אין שם גישה לדפדפן, ל-API של GitHub, למסד נתונים, או לשום שירות חיצוני.

עם MCP, Claude מקבל גישה לכל דבר: מסדי נתונים, דפדפנים, APIs של GitHub, Google Sheets, Slack, Notion, ועוד מאות שירותים. נכון למרץ 2026, האקוסיסטם של MCP כולל מאות שרתים — מהרשמיים של Anthropic ועד שרתים קהילתיים שנכתבו על ידי מפתחים ברחבי העולם. כל שירות שיש לו שרת MCP — Claude יכול לעבוד איתו.

USB for AI

MCP הוא כמו USB — מחבר אוניברסלי. כמו ש-USB מאפשר לחבר כל מכשיר למחשב, MCP מאפשר לחבר כל שירות ל-Claude. חבר פעם אחת, השתמש לנצח.

נקודה חשובה: MCP הוא לא ספציפי ל-Claude. זה תקן פתוח שעובד עם כל סוכן AI שמיישם את הפרוטוקול. אבל ל-Claude Code יש את האינטגרציה העמוקה ביותר עם MCP מכל כלי בשוק — וזה יתרון משמעותי.

לפני MCP מול אחרי MCP

בואו נראה את ההבדל בפועל. נגיד שאתה רוצה לבצע בדיקת איכות על אתר שלך: לצלם מסך, לבדוק שכל הלינקים עובדים, ולעדכן Issue ב-GitHub עם ממצאים.

בלי MCP עם MCP
אתה מצלם מסך ידנית ושומר קובץ Claude מצלם מסך דרך mcp__playwright__browser_take_screenshot
אתה כותב סקריפט Bash עם curl לבדוק לינקים Claude מנווט בדפדפן אמיתי ולוחץ על כל לינק
אתה פותח GitHub, יוצר Issue ידנית, מעתיק תוצאות Claude יוצר Issue עם mcp__github__create_issue — כולל screenshots וממצאים
זמן: 20-30 דקות זמן: 2 דקות (וClaude עושה הכל)

זה ההבדל המהותי. MCP לא מוסיף יכולת חדשה שלא הייתה אפשרית קודם — הוא הופך פעולות שדרשו עבודה ידנית לאוטומטיות לחלוטין, ונותן ל-Claude כלים ייעודיים במקום עבודה "דרך הדלת האחורית" של Bash.

דוגמה מייצגת: סוכנות דיגיטל בתל אביב

נניח שאתם מנהלים סוכנות שמטפלת ב-15 לקוחות. כל בוקר אתם צריכים לבדוק שהאתרים של הלקוחות עובדים, שאין שגיאות 404, ושדף הנחיתה נטען תקין. בלי MCP — זה 30-45 דקות של פתיחת טאבים, לחיצות, ובדיקות ידניות. עם MCP? אתם אומרים ל-Claude: "בדוק את 15 האתרים ברשימה, צלם מסך של כל דף בית, ודווח על בעיות". Playwright עובר על כל אתר אוטומטית, מצלם, מזהה שגיאות, וב-3 דקות יש לכם דוח מסודר עם Screenshots. זה ההבדל בין עבודה עם MCP ובלעדיו.

מה משתנה עם MCP?

בלי MCP, אם רצית ש-Claude יבדוק משהו ב-GitHub, היית צריך להריץ פקודת gh דרך Bash. זה עובד, אבל זה מוגבל — Claude צריך לנחש את התחביר, לפרסר את הפלט הטקסטואלי, ולטפל בשגיאות ידנית. עם MCP, Claude מקבל כלי GitHub ייעודי שמבין את כל ה-API: יצירת Issues, קריאת Pull Requests, בדיקת CI/CD, ניהול Releases. הכלי חכם יותר, מהיר יותר, ובטוח יותר מהרצת פקודות Bash — כי הפרמטרים מוגדרים בסכמה ברורה, והתשובה מגיעה כ-JSON מובנה.

כל שרת MCP מספק כלי אחד או יותר (tools). הכלים האלה מופיעים לצד הכלים המובנים של Claude, והוא משתמש בהם באותו אופן — Claude לא מבדיל בין כלי מובנה לכלי MCP. הוא פשוט בוחר את הכלי המתאים ביותר למשימה.

הקידומת של כלי MCP היא תמיד mcp__ ואחריה שם השרת והפעולה. ככה Claude (ואתה) יכולים לזהות מאיפה הכלי בא:

המשוואה של MCP

המוח של Claude + כלי MCP = יכולת בלתי מוגבלת. Claude מספק את החשיבה, ההיגיון, והיצירתיות. MCP מספק את ה"ידיים" — הגישה לעולם החיצוני. ביחד, אתה מקבל סוכן AI שיכול לעשות כמעט כל דבר.

ציר הזמן של MCP

תאריך אירוע
נובמבר 2024 Anthropic מציגה את MCP כתקן פתוח — הפרוטוקול מפורסם כ-Open Source
תחילת 2025 Claude Code משלב תמיכה ב-MCP — אפשר להתקין שרתים ולהשתמש בכלים חיצוניים
ספטמבר 2025 Claude Code 2.0 מעמיק את האינטגרציה — Tool Search, Deferred Loading
מרץ 2026 MCP Elicitation (v2.1.76), OAuth לשרתי צד-שלישי — MCP הופך לפלטפורמה מלאה
מאות שרתים

האקוסיסטם של MCP צמח מאפס לכמה מאות שרתים בפחות משנה וחצי (נובמבר 2024 — מרץ 2026). ה-Registry הרשמי ב-GitHub כולל עשרות שרתים מאומתים, וספריות קהילתיות כמו mcp.run מציעות עוד מאות. בנוסף, מערכת ה-Plugins של Claude Code (עם יותר מ-9,000 plugins נכון למרץ 2026) כוללת רבים שמבוססים על MCP.

מה שחשוב להבין: MCP הוא לא סתם עוד פיצ'ר — הוא הפלטפורמה שעליה כל האקוסיסטם של Claude Code מתרחב. כל חודש יוצאים שרתים חדשים, כל שבוע מישהו מחבר עוד שירות. ככל שהאקוסיסטם גדל, הערך של הידע שאתה לומד בפרק הזה רק עולה.

עשה עכשיו 2 דקות

פתח את Claude Code והקלד /tools או /help. ספור כמה כלים מובנים יש לך. עכשיו תדמיין שבמקום 8 כלים יש לך 30, 50, או 100 — כל אחד מחובר לשירות אחר. זה בדיוק מה ש-MCP מאפשר, ובפרק הזה תגיע לשם.

מתחיל 8 דקות חינם מושג

2. איך שרתי MCP עובדים — ארכיטקטורה

שרת MCP הוא תהליך מקומי (local process) שרץ על המחשב שלך ומדבר JSON-RPC דרך stdio (Standard Input/Output). במילים פשוטות: Claude Code מפעיל את השרת, שולח לו בקשות בפורמט JSON, ומקבל תשובות בפורמט JSON. זה כל הסיפור.

הזרימה צעד אחר צעד

  1. הפעלה: כשאתה פותח session חדש ב-Claude Code, הוא קורא את settings.json, מוצא שרתי MCP מוגדרים, ומפעיל כל אחד כתהליך נפרד
  2. הכרזת יכולות: כל שרת מצהיר מה הוא יכול — אילו כלים הוא מציע, מה הפרמטרים של כל כלי, ומה הוא מחזיר
  3. שימוש: כש-Claude מחליט שהוא צריך כלי MCP, Claude Code מעביר את הבקשה לשרת המתאים, מחכה לתשובה, ומזין אותה חזרה ל-Claude
  4. סיום: כשאתה סוגר את ה-session, כל תהליכי השרתים נסגרים

למה stdio ולא HTTP?

שאלה שעולה הרבה: למה MCP משתמש ב-stdio (כמו pipe בין תהליכים) ולא ב-HTTP רגיל? התשובה: אבטחה ופשטות. כש-Claude Code מפעיל שרת MCP, הוא יוצר תהליך-בן (child process) ומתקשר איתו דרך stdin/stdout. אין פורט פתוח, אין שרת רשת, אין אפשרות שמישהו מבחוץ יתחבר לשרת. זה הרבה יותר בטוח מ-HTTP endpoint שצריך אימות, הצפנה, ו-CORS.

בנוסף, stdio פשוט להפליא. לא צריך להגדיר פורט, לא צריך TLS, לא צריך DNS. הפקודה npx @package מפעילה את השרת, Claude Code מתחבר, וזהו. זו אחת הסיבות ש-MCP הצליח כל כך מהר — הסף להתקנת שרת הוא אפסי.

שרתי MCP יכולים להיכתב בכל שפת תכנות — Python, TypeScript, Go, Rust — כל עוד הם מיישמים את פרוטוקול MCP. רוב השרתים מופצים בשלוש דרכים:

דרך הפצה הרצה דוגמה
npm package npx @package/name Playwright, GitHub, Context7
Python package uvx package-name או python -m package PostgreSQL, SQLite, custom servers
Docker container docker run image-name שרתים עם תלויות מורכבות
טעות נפוצה: לחשוב ששרת MCP שולח נתונים לענן

שרת ה-MCP רץ על המחשב שלך — הנתונים שלך נשארים מקומיים. הטעות הנפוצה היא לחשוב שהתקנת שרת MCP שולחת מידע לצד שלישי. בפועל, תהליך השרת עצמו תמיד מקומי, גם כשהוא מתחבר ל-APIs מרוחקים. ההבדל: השרת פועל אצלך ובוחר מה להעביר ולאן — אתה בשליטה מלאה.

שרתי MCP רצים כל עוד ה-session של Claude Code פעיל. כשאתה סוגר את ה-session, התהליכים נעצרים. כשאתה פותח session חדש, הם מופעלים מחדש. אין צורך לנהל אותם ידנית.

מה קורה "מתחת למכסה" — הזרימה הטכנית

בואו ניכנס לרגע לפרטים הטכניים. כשClaude מחליט שהוא צריך כלי MCP (נגיד browser_navigate), הנה מה שקורה ברגע אחד:

  1. Claude Code שולח JSON-RPC request ל-stdin של תהליך השרת: {"method": "tools/call", "params": {"name": "browser_navigate", "arguments": {"url": "https://example.com"}}}
  2. השרת מעבד את הבקשה — במקרה של Playwright, הוא פותח דפדפן Chromium ומנווט לכתובת
  3. השרת מחזיר תשובה ב-stdout כ-JSON: {"content": [{"type": "text", "text": "Navigated to https://example.com. Page title: Example Domain"}]}
  4. Claude Code מזין את התשובה חזרה ל-Claude, שממשיך מהנקודה שבה עצר

כל התהליך הזה שקוף לך. אתה רואה רק ש-Claude "השתמש" בכלי וקיבל תוצאה. אבל חשוב להבין את המנגנון — הוא עוזר לאבחן בעיות כש-MCP לא עובד כמו שצריך.

ומה ש-MCP באמת מיוחד? שרתים מרובים יכולים לרוץ במקביל. Claude יכול להשתמש ב-Playwright כדי לבדוק אתר, ב-GitHub כדי ליצור Issue על הבעיה שמצא, וב-PostgreSQL כדי לוודא שהנתונים נכונים — הכל באותו session, בלי שתצטרך לעשות שום דבר.

דוגמה מייצגת: Workflow בין שלושה שרתי MCP

נגיד שאתה אומר ל-Claude: "בדוק שדף הנחיתה נטען נכון, ואם יש בעיה — פתח Issue ב-GitHub עם צילום מסך."

Claude מבצע את הצעדים הבאים אוטומטית:

  1. Playwright: mcp__playwright__browser_navigate → נווט לדף → mcp__playwright__browser_take_screenshot → צלם מסך
  2. Playwright: mcp__playwright__browser_snapshot → בדוק שכל האלמנטים קיימים
  3. GitHub: mcp__github__create_issue → צור Issue עם תיאור הבעיה וצילום המסך

כל זה קורה ב-30 שניות, בלי שתצטרך לגעת בדפדפן, ב-GitHub, או בשום דבר. אתה רק נותן הוראה — Claude עושה הכל.

מה Claude "רואה" כשיש שרתי MCP

כשאתה פותח session עם שרתי MCP מותקנים, Claude מקבל רשימה של כלים זמינים. הכלים המובנים (Read, Edit, Bash) תמיד שם. כלי MCP נוספים להם. Claude לא מבדיל ביניהם — הוא פשוט בוחר את הכלי המתאים ביותר למשימה. אם ביקשת ממנו לנווט לאתר, הוא ישתמש ב-mcp__playwright__browser_navigate. אם ביקשת ממנו לקרוא קובץ, הוא ישתמש ב-Read המובנה. הבחירה אוטומטית ואינטליגנטית.

דוגמה למה Claude רואה בתחילת session עם Playwright ו-Context7 מותקנים:

Built-in tools:
  Read, Edit, Write, Bash, Grep, Glob, WebSearch, WebFetch

MCP tools (playwright):
  mcp__playwright__browser_navigate
  mcp__playwright__browser_click
  mcp__playwright__browser_fill_form
  mcp__playwright__browser_take_screenshot
  mcp__playwright__browser_snapshot
  ... (20+ tools)

MCP tools (context7):
  mcp__context7__resolve-library-id
  mcp__context7__query-docs

שים לב: Playwright מביא יותר מ-20 כלים! זה מדגיש למה Tool Search (סעיף 6) כל כך חשוב — כל הכלים האלה צורכים tokens מחלון ההקשר שלך.

עשה עכשיו 2 דקות

בדוק אם יש לך כבר קובץ הגדרות MCP. פתח את Claude Code והקלד: cat .claude/settings.json (ברמת הפרויקט) או cat ~/.claude/settings.json (גלובלי). אם הקובץ קיים, חפש את המפתח mcpServers. אם הוא לא קיים — מצוין, ניצור אותו בסעיף הבא.

מתחיל 12 דקות חינם תרגול

3. איתור והתקנת שרתי MCP

אחרי שהבנת מה MCP עושה ואיך הוא עובד, הגיע הזמן להתקין שרת. אבל קודם — איפה מוצאים שרתים?

היכן למצוא שרתי MCP

מקור כתובת מה תמצא שם
Registry רשמי github.com/modelcontextprotocol/servers רשימה מאומתת של שרתים מוכחים — התחל מכאן
mcp.run mcp.run ספריית שרתים קהילתית עם חיפוש ודירוגים
Glama.ai glama.ai/mcp מדריך MCP עם הסברים ודוגמאות
Plugins Marketplace claude.com/plugins פלאגינים רשמיים של Claude, חלקם מבוססי MCP

איך מתקינים שרת MCP

ההתקנה מתבצעת ב-settings.json. יש שתי אפשרויות:

ההגדרה נעשית תחת המפתח mcpServers. הנה הדוגמה הבסיסית ביותר — התקנת שרת Playwright (אוטומציית דפדפן):

דוגמה: התקנת Playwright MCP Server
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-playwright"]
    }
  }
}

זה הכל. שלוש שורות מהותיות: שם השרת (playwright), פקודת ההרצה (npx), והפרמטרים (@anthropic-ai/mcp-playwright). אחרי שמירת הקובץ — הפעל מחדש את Claude Code, והכלים של Playwright יהיו זמינים.

אחרי הוספת שרת, חובה להפעיל מחדש את ה-session של Claude Code. השרת יופעל, וכל הכלים שלו יופיעו ב-/help או /tools. Claude ישתמש בהם אוטומטית כשהם רלוונטיים.

עשה עכשיו 5 דקות

התקן את שרת ה-Playwright של MCP. הוסף את ההגדרה למעלה ל-.claude/settings.json (צור את הקובץ אם הוא לא קיים). הפעל מחדש את Claude Code. ואז בקש מ-Claude: "Take a screenshot of google.com". אם קיבלת צילום מסך — השרת עובד. מזל טוב, התקנת את שרת ה-MCP הראשון שלך.

מה אם זה לא עובד?

אם הכלים לא מופיעים אחרי ההפעלה מחדש, בדוק:

  1. תחביר JSON תקין? — טעות בפסיק או סוגריים גורמת לכשל שקט. בדוק עם cat .claude/settings.json | python3 -m json.tool
  2. npx מותקן? — הרץ npx --version. אם לא מותקן, התקן Node.js
  3. החבילה קיימת? — הרץ את פקודת ה-npx ידנית בטרמינל. אם יש שגיאה — תראה אותה
  4. הפעלת מחדש? — שרתי MCP נטענים רק בהתחלת session. חייב לסגור ולפתוח מחדש
טיפ: פקודת /doctor

הפקודה /doctor ב-Claude Code מאבחנת בעיות בשרתי MCP — שרתים שלא הצליחו להתחבר, שרתים שקרסו, או הגדרות שגויות. זה תמיד הצעד הראשון כשמשהו לא עובד.

אפשר להפעיל שרתים מרובים בו-זמנית. פשוט הוסף עוד שרתים תחת mcpServers:

דוגמה: הגדרת מספר שרתי MCP
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-playwright"]
    },
    "context7": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-context7"]
    },
    "github": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}
בינוני 12 דקות $0-4 לפי שרת תרגול

4. שרתי MCP חיוניים — The Power Stack

יש מאות שרתי MCP. אל תתקין את כולם. הנה השרתים שכדאי לך באמת להכיר, ממוינים לפי חשיבות.

Playwright — אוטומציית דפדפן

Playwright הוא שרת ה-MCP הפופולרי ביותר, ומסיבה טובה. הוא מאפשר ל-Claude לשלוט בדפדפן אמיתי: לנווט לעמודים, ללחוץ על כפתורים, למלא טפסים, לצלם Screenshots, ולהריץ בדיקות Frontend. זה כמו לתת ל-Claude ידיים שיכולות ללחוץ על מסך.

שימושים נפוצים:

כשאתה מתקין את Playwright, Claude מקבל גישה ליותר מ-20 כלים: browser_navigate, browser_click, browser_fill_form, browser_take_screenshot, browser_snapshot, browser_evaluate (הרצת JavaScript), browser_console_messages (קריאת Console), browser_network_requests (מעקב אחרי בקשות רשת), ועוד. זה דפדפן מלא בשליטה מרחוק.

דוגמה מייצגת: בדיקת אתר עם Playwright

תבקש מ-Claude: "נווט לאתר שלי, מלא את טופס יצירת הקשר עם נתוני בדיקה, ושלח אותו. צלם מסך של דף התודה."

Claude ינווט לאתר, ימצא את הטופס, ימלא שם, אימייל, הודעה, ילחץ "שלח", יחכה שדף התודה ייטען, ויצלם מסך. הכל אוטומטי. אם יש שגיאה — Claude יזהה אותה ויספר לך מה קרה.

Context7 — דוקומנטציה עדכנית

Context7 פותר בעיה קריטית: הידע של Claude מוגבל לתאריך הלמידה שלו. כש-Library חדשה יוצאת, API משתנה, או framework מעדכן syntax — Claude לא בהכרח יודע. Context7 שולף את הדוקומנטציה הכי עדכנית של כל ספרייה ומזין אותה ל-Claude בזמן אמת.

למה זה קריטי? כי כשאתה אומר ל-Claude "צור קומפוננטה ב-React 19 עם Server Components", Claude אולי ישתמש ב-syntax של React 18 כי זה מה שהוא למד. עם Context7, Claude שולף את הדוקומנטציה העדכנית של React 19 ומשתמש ב-syntax הנכון.

שימושים נפוצים:

טיפ: Context7 בכל פרויקט

Context7 הוא השרת היחיד שמומלץ להתקין גלובלית (ב-~/.claude/settings.json). הוא שימושי בכל פרויקט, לא צורך הרבה משאבים, ומונע שגיאות שנובעות מ-outdated knowledge. התקן פעם אחת, שכח ממנו, ו-Claude ישתמש בו אוטומטית כשצריך.

GitHub — כל ה-API של GitHub

שרת ה-GitHub מאפשר ל-Claude לעבוד ישירות עם GitHub API: ליצור ולקרוא Issues, לנהל Pull Requests, לבדוק סטטוס של CI/CD Workflows, לנהל Releases, ולעקוב אחרי שינויים. זה הרבה יותר עוצמתי משימוש ב-gh CLI דרך Bash, כי הכלים מובנים עם סכמה ברורה ו-Claude מבין בדיוק מה כל פרמטר עושה.

תרחיש יומיומי: אתה אומר "Review the open PRs and check if any of them have failing CI checks." Claude שולף את כל ה-PRs הפתוחים, בודק את סטטוס ה-checks של כל אחד, ומחזיר דוח מסודר — הכל בפעולה אחת.

PostgreSQL / SQLite — גישה למסדי נתונים

שרתי Database מאפשרים ל-Claude לשלוח שאילתות ישירות למסד נתונים, לבדוק סכמות (schema), להריץ Migrations, ולייצר דוחות מנתונים חיים. קריטי למפתחים ולאנשי Data.

דוגמה מעשית: "Show me all customers who signed up this week but haven't made a purchase yet, grouped by acquisition channel." Claude כותב את ה-SQL, מריץ אותו על המסד שלך, ומציג טבלת תוצאות — בלי שתכתוב שורת SQL אחת.

טעות נפוצה: לחבר Claude למסד נתונים עם הרשאות Admin

זה מפתה — "אני רוצה שClaude יוכל לעשות הכל" — אבל זו טעות יקרה. שגיאה אחת בשאילתת DELETE או UPDATE על Production יכולה למחוק נתונים של לקוחות אמיתיים. מה לעשות במקום: צור User ייעודי עם הרשאות Read-Only. אם אתה צריך גם כתיבה, הגבל לטבלאות ספציפיות. אף פעם אל תחבר את Claude עם הרשאות Admin ל-Production — תמיד דרך Staging קודם.

Brave Search — חיפוש Web מתקדם

Brave Search מספק חיפוש Web דרך API של Brave. שימושי כשיש לך מפתח API של Brave ואתה רוצה שליטה מלאה על תוצאות החיפוש — סינון תוצאות, חיפוש חדשות, תמונות, או local results. זה חלופה חזקה ל-WebSearch המובנה, עם יותר שליטה על הפרמטרים.

מתי להשתמש ב-Brave Search MCP במקום WebSearch המובנה? כשאתה צריך שליטה על סוג החיפוש (news/images/videos), כשאתה רוצה תוצאות ממדינה ספציפית, או כשאתה צריך JSON מובנה של התוצאות לעיבוד נוסף. ל-WebSearch המובנה אין את כל האפשרויות האלה.

Filesystem — פעולות קבצים מתקדמות

שרת Filesystem מרחיב את יכולות הקבצים של Claude מעבר ל-Read/Write המובנים — קבצים בינאריים (תמונות, PDFs), ניטור שינויים (file watching), וטיפול בקבצים גדולים שהכלים המובנים מתקשים איתם.

סיכום: טבלת שרתי MCP חיוניים

שרת כמה כלים רמת חשיבות דורש API Key? מומלץ להתקנה ב-
Playwright 20+ גבוהה מאוד לא גלובלי או פרויקט
Context7 2 גבוהה לא גלובלי (מומלץ)
GitHub 10+ גבוהה (למפתחים) כן (Personal Access Token) גלובלי
PostgreSQL 5-8 גבוהה (לאנליסטים) כן (Connection String) פרויקט
Brave Search 3-5 בינונית כן (Brave API Key) גלובלי
Filesystem 5-8 בינונית לא פרויקט
מסגרת החלטה: MCP Stack לפי תפקיד

התאם את שרתי ה-MCP שלך לעבודה שלך. אל תתקין מה שלא צריך:

  1. מפתח/ת?
    • Playwright + GitHub + PostgreSQL + Context7
    • זה ה-Developer Stack — בדיקות, ניהול קוד, מסד נתונים, דוקומנטציה עדכנית
  2. משווק/ת?
    • Playwright + Google Sheets + Brave Search
    • זה ה-Marketer Stack — מחקר מתחרים, ניתוח דפים, גישה לנתוני גיליון
  3. אנליסט/ית נתונים?
    • PostgreSQL + Filesystem + Brave Search
    • זה ה-Data Analyst Stack — שאילתות, קבצים גדולים, מחקר

כלל אצבע: התחל עם 2-3 שרתים. הוסף רק כשאתה באמת צריך עוד שרת למשימה ספציפית.

עשה עכשיו 5 דקות

בחר את ה-Stack שמתאים לתפקיד שלך (או בנה Stack משלך). התקן שרת MCP שני — Context7 הוא בחירה מצוינת לכולם. הוסף אותו ל-settings.json, הפעל מחדש, ובקש מ-Claude: "Using Context7, get the latest docs for React hooks" (או כל ספרייה שאתה משתמש בה). ודא שהתשובה כוללת מידע עדכני.

בינוני 10 דקות חינם תרגול

5. הגדרות מתקדמות — Environment, Disabled, Multiple Instances

ההתקנה הבסיסית עובדת, אבל יש הרבה יותר שאפשר לעשות עם הגדרות שרתי MCP. הנה התכונות המתקדמות שכדאי להכיר.

משתני סביבה (Environment Variables)

שרתים רבים צריכים מפתחות API או הגדרות נוספות. העברת ערכים דרך env:

דוגמה: העברת GitHub Token כ-Environment Variable
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}

השימוש ב-${GITHUB_TOKEN} קורא את הערך מסביבת ה-Shell שלך. לעולם אל תכתוב סודות ישירות ב-settings.json — תמיד השתמש במשתני סביבה.

טעות נפוצה: לכתוב API Keys ישירות ב-settings.json

זו אחת הטעויות היקרות ביותר שמתחילים עושים. קובץ settings.json לרוב נמצא ב-Git, וברגע שעשית Push עם token בפנים — הוא חשוף לכל מי שיש לו גישה ל-Repo, כולל בהיסטוריית ה-Commits (גם אם מחקת אח"כ). מה לעשות במקום: השתמש תמיד בתחביר ${VARIABLE} ב-settings.json, והגדר את המשתנה עצמו ב-.bashrc, .zshrc, או קובץ .env שנמצא ב-.gitignore.

השבתה זמנית של שרת

לפעמים אתה רוצה להשבית שרת בלי למחוק את ההגדרות שלו. פשוט הוסף "disabled": true:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-playwright"],
      "disabled": true
    }
  }
}

השרת לא יופעל, אבל ההגדרות נשמרות. שנה ל-false (או מחק את השדה) כדי להפעיל מחדש.

מופעים מרובים (Multiple Instances)

אפשר להריץ כמה מופעים של אותו סוג שרת עם הגדרות שונות. לדוגמה, שני שרתי PostgreSQL לשני מסדי נתונים שונים:

דוגמה: שני שרתי PostgreSQL למסדי נתונים שונים
{
  "mcpServers": {
    "postgres-production": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "${PROD_DATABASE_URL}"
      }
    },
    "postgres-staging": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "${STAGING_DATABASE_URL}"
      }
    }
  }
}

עכשיו Claude יכול לשלוח שאילתות לשני המסדים — הכלים יקבלו קידומות שונות: mcp__postgres-production__query ו-mcp__postgres-staging__query.

נעילת גרסאות (Version Pinning)

כשאתה כותב "args": ["@anthropic-ai/mcp-playwright"], npx תמיד מוריד את הגרסה האחרונה. זה נשמע טוב, אבל זה מסוכן: גרסה חדשה יכולה לשבור דברים. נעל את הגרסה להגנה:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-playwright@1.3.2"]
    }
  }
}

ככה גם אם יוצאת גרסה 2.0 עם שינויים שוברים, ה-setup שלך ממשיך לעבוד. כשאתה מוכן לעדכן — עדכן את מספר הגרסה ובדוק שהכל תקין.

Timeout Settings

חלק מהשרתים תומכים בהגדרות Timeout לפעולות ארוכות. לדוגמה, שרת Playwright שמנווט לדף כבד עם הרבה JavaScript יכול לקחת 30 שניות. אם יש לך פעולות ארוכות — בדוק בדוקומנטציה של השרת אם יש הגדרת timeout שאפשר להרחיב.

גלובלי מול ברמת פרויקט

איפה לשים כל הגדרה?

מיקום קובץ מתי להשתמש
גלובלי ~/.claude/settings.json שרתים שאתה משתמש בהם בכל פרויקט — Context7, Brave Search
פרויקט .claude/settings.json שרתים ספציפיים לפרויקט — PostgreSQL עם Connection String מסוים, GitHub עם repo ספציפי

MCP ו-Permissions — שליטה על מה Claude יכול לעשות

מערכת ההרשאות של Claude Code (שלמדת עליה בקורס הבסיסי) עובדת גם עם כלי MCP. אפשר לאשר או לחסום כלי MCP ספציפיים ב-permissions.allow ו-permissions.deny:

דוגמה: הרשאות לכלי MCP ב-settings.json
{
  "permissions": {
    "allow": [
      "mcp__playwright__*",
      "mcp__context7__*",
      "mcp__github__create_issue",
      "mcp__github__list_pull_requests"
    ],
    "deny": [
      "mcp__github__delete_repository",
      "mcp__postgres__*"
    ]
  }
}

בדוגמה הזו: Playwright ו-Context7 מאושרים לגמרי (wildcard *). GitHub מאושר רק ליצירת Issues ולרשימת PRs — לא למחיקת repos. PostgreSQL חסום לגמרי. ככה אתה שומר על שליטה מלאה.

זה קריטי במיוחד בסביבה צוותית: מנהל הצוות מגדיר הרשאות שמונעות פעולות מסוכנות, אבל מאפשרות עבודה שוטפת. אף אחד לא מוחק repo בטעות.

עשה עכשיו 3 דקות

אם מותקן לך שרת GitHub MCP — בקש מ-Claude: "List my open pull requests". אם התשובה ריקה או שגיאה, בדוק שה-GITHUB_TOKEN מוגדר נכון: echo $GITHUB_TOKEN בטרמינל. אם הוא ריק, הגדר אותו ב-.bashrc או .zshrc עם: export GITHUB_TOKEN="ghp_your_token_here".

בינוני 10 דקות חינם מושג

כאן מגיע אחד הנושאים הכי חשובים בעבודה עם MCP, ואחד שהרבה אנשים מפספסים: Tool Search (חיפוש כלים), או בשם הטכני — Deferred Loading (טעינה עצלה).

הבעיה

כל שרת MCP מצהיר על הכלים שלו: שם, תיאור, פרמטרים, סוגי החזרה. המידע הזה נטען ב-תחילת ה-session ותופס מקום בחלון ההקשר (Context Window). חלון ההקשר הוא 200K tokens בברירת מחדל, ועד 1M tokens עם Opus 4.6 למנויי Max, Team, ו-Enterprise (ממרץ 2026). אם יש לך 5 שרתים עם 50 כלים סך הכל, הגדרות הכלים לבדן יכולות לצרוך 77,000 tokens — זה אחוז משמעותי מהחלון שלך, בטח אם אתה על חלון 200K רגיל.

~85%

ההפחתה בצריכת tokens כש-Tool Search מופעל. 77K tokens של הגדרות כלים יורדים ל-~8.7K. זה ההבדל בין session עמוס ל-session נקי ויעיל.

הפתרון: Tool Search

במקום לטעון את כל הגדרות הכלים מראש, Claude רואה רק את ToolSearch meta-tool ורשימה של שמות כלים (בלי הסכמה המלאה). כשהוא צריך כלי ספציפי, הוא קורא ל-ToolSearch, מקבל את הסכמה המלאה, ואז משתמש בכלי.

חשוב על זה כמו ספריה: במקום להחזיק את כל הספרים פתוחים על השולחן שלך (= לטעון את כל הגדרות הכלים), יש לך קטלוג דיגיטלי (= רשימת שמות) ואתה שולף ספר ספציפי רק כשאתה צריך אותו. ככה השולחן שלך (= חלון ההקשר) נשאר נקי ופנוי לעבודה אמיתית.

דוגמה: ההבדל עם וולי Tool Search

בלי Tool Search (50 כלי MCP):
77,000 tokens רק להגדרות כלים → נשאר לך ~120,000 tokens לשיחה (מתוך 200K)

עם Tool Search (אותם 50 כלים):
~8,700 tokens לרשימת שמות + ToolSearch → נשאר לך ~190,000 tokens לשיחה

ההבדל: 70,000 tokens נוספים לשיחה. זה כמו לקבל 35 עמודי A4 נוספים של "מקום לחשוב".

מתי Tool Search מופעל

הגדרת deferred loading ידנית נעשית ברמת השרת:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-playwright"],
      "defer_loading": true
    }
  }
}

מתי כדאי לכפות ידנית? כשאתה יודע שהשרת מביא הרבה כלים (Playwright = 20+ כלים) אבל אתה לא משתמש בהם בכל session. במקום שהכלים יצרכו tokens "סתם", הם ייטענו רק כש-Claude באמת צריך אותם.

איך Claude מחפש כלים

כש-Tool Search מופעל, Claude משתמש ב-meta-tool בשם ToolSearch כדי למצוא ולטעון כלים ספציפיים. הוא עושה את זה אוטומטית כשהוא צריך כלי — אתה לא צריך לעשות שום דבר. אבל כדאי להבין את המנגנון כי לפעמים תרצה לכוון את Claude לכלי ספציפי.

Claude יכול לחפש כלים בשלוש דרכים:

שיטת חיפוש תחביר דוגמה
שם מדויק select:Name1,Name2 select:Read,Edit,Grep
חיפוש מילות מפתח מילות מפתח חופשיות database query
משולב +name keywords +playwright screenshot
מסגרת החלטה: Always-On מול On-Demand

לא כל הכלים שווים. חלק צריכים להיות זמינים תמיד, חלק לפי דרישה:

  1. כלים מובנים (Read, Edit, Bash, Grep, Glob)Always-On — טעונים תמיד, לא צורכים הרבה
  2. WebSearch, WebFetchAlways-On — נמוך בצריכה, שימושי תמיד
  3. כלי MCP שאתה משתמש בהם בכל session → שקול Always-On אם יש לך מספיק context
  4. כלי MCP שאתה משתמש בהם מדי פעםOn-Demand (deferred) — חוסך tokens יקרים
  5. כלל אצבע: שמור על הסט ה-Always-On קטן. כל כלי Deferred שחוסך tokens = יותר מקום לשיחה
טיפ: מתי כדאי לכפות Deferred Loading

אם יש לך יותר מ-5 שרתי MCP או יותר מ-20 כלים סך הכל — הפעל deferred loading. זה יחסוך כ-85% מה-tokens שמוקצים להגדרות כלים. Claude חכם מספיק לדעת מתי הוא צריך לחפש כלי — אל תדאג שהוא "ישכח" שהכלים קיימים.

עשה עכשיו 2 דקות

בדוק את צריכת ה-Context שלך: הקלד /context ב-Claude Code. שים לב כמה אחוז מהחלון בשימוש. אם יש לך הרבה כלי MCP ואתה רואה שימוש גבוה — זה סימן שכדאי להפעיל deferred loading.

מתקדם 8 דקות חינם מושג

7. MCP Elicitation — דיאלוגים אינטראקטיביים

תכונה חדשה שנוספה ב-14 במרץ 2026 (גרסה 2.1.76): Elicitation — יכולת של שרת MCP לבקש ממך קלט מובנה באמצע Workflow.

מה זה Elicitation?

עד עכשיו, כשClaude היה צריך אישור או קלט ממך, הוא פשוט שאל בצ'אט: "Do you want to proceed?" ואתה ענית "yes" או "no" כטקסט חופשי. הבעיה: טקסט חופשי לא מובנה. אתה יכול לכתוב "yep", "sure", "כן", "OK" — והשרת צריך לפרסר את כל הווריאציות. עם Elicitation, שרת MCP יכול לפתוח דיאלוג מובנה — טופס עם שדות מוגדרים, Dropdown עם אפשרויות קבועות, כפתורי אישור/ביטול, ואימות קלט. זה הרבה יותר מדויק, בטוח, ומקצועי.

דוגמאות שימוש

Hook Events של Elicitation

אם למדת על Hooks בפרק 1, הנה איך הם מתחברים ל-Elicitation. שני אירועי Hook חדשים נוספו ב-v2.1.76:

דוגמה מעשית: Hook שמתעד כל Elicitation ל-log file:

// hooks בתוך settings.json
"hooks": {
  "ElicitationResult": [{
    "command": "echo \"$(date) | $TOOL_NAME | $RESULT\" >> /var/log/claude-approvals.log"
  }]
}

ככה יש לך רישום של כל אישור שניתן — מי אישר מה, מתי, ולאיזה סביבה. קריטי לתאימות רגולטורית (Compliance) ולביקורות אבטחה (Auditing).

דוגמה מייצגת: Elicitation בפעולה — Deploy Workflow

נגיד שבנית שרת MCP לניהול Deployments. ה-Workflow נראה ככה:

  1. Claude מריץ בדיקות (tests) → עוברות
  2. Claude מריץ סריקת אבטחה → מוצא 2 בעיות ברמה נמוכה
  3. שרת ה-MCP מפעיל Elicitation: חלון דיאלוג עם:
    • Dropdown: "Target environment: [staging / production]"
    • Checkbox: "I acknowledge 2 low-severity security findings"
    • Text field: "Deployment message"
    • Button: "Deploy" / "Cancel"
  4. אתה ממלא ולוחץ Deploy → השרת ממשיך ומבצע את ה-Deploy

זה הרבה יותר בטוח מלכתוב "yes" בצ'אט. Elicitation מבטיחה שהתשובה מובנית, מאומתת, ולא ניתנת לטעות.

Elicitation לצוותים

Elicitation חזקה במיוחד לבניית כלים צוותיים: שרת ה-MCP מטפל בלוגיקה (הרצת בדיקות, בדיקת אבטחה, ניהול גרסאות), ו-Elicitation מטפלת בשלב האנושי — אישור לפני פעולות קריטיות. זה הגשר בין אוטומציה מלאה לבין Human-in-the-Loop. בפרק 1 למדנו על Hooks — שם Elicitation ו-ElicitationResult הם שני אירועים שאפשר להאזין להם ולהפעיל לוגיקה מותאמת.

דוגמה מייצגת: Elicitation בסטארטאפ ישראלי

דמיינו סטארטאפ SaaS ישראלי עם צוות של 8 מפתחים. יש שרת MCP פנימי שמנהל Deployments. הזרימה:

  1. מפתח אומר ל-Claude: "Deploy the new billing feature to production"
  2. Claude מריץ בדיקות (דרך Bash), בודק ש-CI ירוק (דרך GitHub MCP), מוודא שאין open incidents (דרך שרת Monitoring MCP)
  3. שרת ה-Deploy מפעיל Elicitation:
    • "סביבת יעד: [staging / production]"
    • "אישור מנהל — נדרש כי billing הוא שירות קריטי: [שם מאשר]"
    • "הודעת release (תופיע ב-Slack הצוותי): [___]"
  4. המפתח ממלא — וה-Deploy רץ. ה-Hook של ElicitationResult מתעד את האישור ב-audit log ושולח הודעת WhatsApp לערוץ הצוותי

זו אוטומציה עם גארד-ריילס — Claude עושה 95% מהעבודה, אבל ההחלטה הקריטית נשארת ביד האדם.

עשה עכשיו 2 דקות

חשוב על Workflow אחד שאתה עושה בעבודה שדורש "אישור אנושי" באמצע — Deploy, שליחת מייל ללקוח, עדכון מחיר, מחיקת נתונים. רשום אותו. זה המועמד המושלם ל-Elicitation: אוטומציה של כל הצעדים + דיאלוג אישור לפני הצעד הקריטי. בפרקים הבאים (Skills + Plugins) נלמד לממש את זה.

בינוני 5 דקות חינם תרגול

8. OAuth לשרתי MCP צד-שלישי

חלק משרתי MCP מתחברים לשירותי צד-שלישי שדורשים אימות OAuth — Google, Slack, GitHub, Notion, Jira. במקום לנהל tokens ידנית, Claude Code תומך בזרימת OAuth מובנית.

איך זה עובד

  1. בפעם הראשונה שאתה משתמש בכלי שדורש אימות — חלון דפדפן נפתח עם מסך ההסכמה של השירות (OAuth Consent Screen)
  2. אתה מאשר גישה
  3. ה-Token נשמר מקומית ב-Keychain/Credential Manager של המערכת
  4. מפה ולהבא — האימות אוטומטי. לא צריך לאשר שוב (עד שה-Token פג)

שרתים נפוצים עם OAuth

שרת שירות מה Claude יכול לעשות
Google Drive Google Docs, Sheets, Slides קריאה, כתיבה, יצירה של מסמכים
Slack Slack Workspace קריאה ושליחת הודעות, ניהול ערוצים
Notion Notion Workspace קריאה וכתיבת דפים ומסדי נתונים
Jira Atlassian Jira ניהול Issues, Sprints, Boards

ההבדל בין OAuth לבין API Key

חלק מהשרתים עובדים עם API Key (כמו GitHub Token), וחלק עם OAuth. מה ההבדל?

API Key OAuth
אתה יוצר token ידנית ומדביק אותו ב-env Claude Code פותח דפדפן, אתה מאשר, token נשמר אוטומטית
ה-token קבוע עד שתבטל אותו ה-token פג ומתחדש אוטומטית
שליטה גסה — גישה מלאה לכל ה-API שליטה עדינה — מבקש בדיוק את ההרשאות שצריך (Scopes)
דוגמה: GitHub Personal Access Token דוגמה: Google Drive, Slack, Notion

אבטחה בסביבת צוות

בסביבה צוותית, כל חבר צוות מאמת עם הפרטים שלו. ה-Token של חבר צוות אחד לא עובר לאחר. זה אומר שבקרת גישה (Access Control) היא לפי אדם — כל אחד רואה רק מה שהוא מורשה לראות. OAuth tokens נשמרים ב-Keychain/Credential Manager של המערכת — לא ב-settings.json. זה שכבת אבטחה נוספת: גם אם מישהו מקבל גישה לקובץ ההגדרות, ה-tokens לא חשופים.

הקשר ישראלי: פרטיות ו-GDPR

אם אתם עובדים עם לקוחות באירופה או מחוייבים לחוק הגנת הפרטיות הישראלי, שימו לב: OAuth tokens הם נתונים רגישים. העובדה ש-MCP שומר אותם ב-Keychain (ולא בקובץ גלוי) היא יתרון משמעותי. אבל עדיין — תעדו אילו שירותים מחוברים ואילו הרשאות (Scopes) כל שירות מקבל. זו דרישה בסיסית לתאימות רגולטורית.

עשה עכשיו 5 דקות

אם אתה משתמש ב-GitHub באופן קבוע: התקן את שרת ה-GitHub MCP עם ה-Token שלך (הוראות בסעיף 3). אחרי ההתקנה, בקש מ-Claude: "List my open pull requests" או "Show me recent issues in [repo-name]". ראה איך Claude עובד עם GitHub API בצורה חלקה דרך MCP.

מתקדם 15 דקות חינם תרגול

9. בניית שרת MCP משלך

לא צריך לחכות שמישהו יבנה שרת MCP עבור השירות שאתה צריך. אפשר לבנות בעצמך. ה-SDK של Anthropic זמין ב-Python (mcp package) וב-TypeScript (@modelcontextprotocol/sdk), ושרת בסיסי לוקח 30-50 שורות קוד.

המבנה הבסיסי של שרת MCP (Python)

  1. ייבוא ספריית ה-MCP
  2. הגדרת כלים — שם, תיאור, סכמת קלט (JSON Schema)
  3. כתיבת Handler — הפונקציה שמבצעת את העבודה בפועל
  4. הפעלת השרת על stdio
דוגמה: שרת MCP בסיסי — מזג אוויר (Python)
# weather_server.py
from mcp import Server, Tool
import json

server = Server("weather")

@server.tool(
    name="get_weather",
    description="Get current weather for a city",
    input_schema={
        "type": "object",
        "properties": {
            "city": {
                "type": "string",
                "description": "City name"
            }
        },
        "required": ["city"]
    }
)
async def get_weather(city: str) -> str:
    # Mock data - replace with real API call
    weather_data = {
        "Tel Aviv": {"temp": 28, "condition": "Sunny"},
        "Jerusalem": {"temp": 22, "condition": "Partly Cloudy"},
        "Haifa": {"temp": 25, "condition": "Humid"},
    }
    data = weather_data.get(city, {"temp": 20, "condition": "Unknown"})
    return json.dumps({
        "city": city,
        "temperature": data["temp"],
        "condition": data["condition"]
    })

if __name__ == "__main__":
    server.run()

שרת מינימלי עם כלי אחד: get_weather. הוא מקבל שם עיר ומחזיר מזג אוויר (mock data). בשרת אמיתי, תחליף את ה-mock ב-API call.

הוספת השרת ל-settings.json

{
  "mcpServers": {
    "weather": {
      "command": "python3",
      "args": ["/path/to/weather_server.py"]
    }
  }
}

אחרי שמירה והפעלה מחדש של Claude Code, תוכל לשאול: "What's the weather in Tel Aviv?" ו-Claude ישתמש בכלי mcp__weather__get_weather כדי לקבל תשובה.

בדיקה מקומית לפני חיבור ל-Claude

לפני שאתה מוסיף שרת ל-settings.json, בדוק שהוא רץ. פתח טרמינל והרץ:

python3 weather_server.py

השרת צריך להתחיל ולחכות לקלט ב-stdin. אם אתה מקבל שגיאה — תקן אותה לפני שמחברים ל-Claude. בעיות נפוצות: ספרייה חסרה (pip install mcp), שגיאת תחביר, או חוסר הרשאות.

שרת MCP ב-TypeScript — חלופה

אם אתה מעדיף TypeScript, הנה אותו שרת:

דוגמה: שרת MCP בסיסי — TypeScript
// weather-server.ts
import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";

const server = new Server({
  name: "weather",
  version: "1.0.0"
});

server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "get_weather",
    description: "Get current weather for a city",
    inputSchema: {
      type: "object",
      properties: {
        city: { type: "string", description: "City name" }
      },
      required: ["city"]
    }
  }]
}));

server.setRequestHandler("tools/call", async (request) => {
  if (request.params.name === "get_weather") {
    const city = request.params.arguments.city;
    // Mock data - replace with real API
    return {
      content: [{
        type: "text",
        text: JSON.stringify({
          city, temperature: 28, condition: "Sunny"
        })
      }]
    };
  }
});

const transport = new StdioServerTransport();
await server.connect(transport);

התקנת ה-SDK: npm install @modelcontextprotocol/sdk. ההגדרה ב-settings.json: "command": "npx", "args": ["ts-node", "weather-server.ts"].

שרת MCP מעשי: חיבור ל-API פנימי

הדוגמה של מזג אוויר נחמדה ללימוד, אבל הכוח האמיתי של שרת מותאם הוא חיבור Claude למערכות הפנימיות שלך. דמיין שרת עם הכלים הבאים:

פתאום, Claude הופך מ"כלי תכנות" לשותף עסקי שיכול לגשת לכל מערכת בחברה. וזכור: בפרק הקודם למדנו על Custom Agents. דמיין Agent מותאם שמשתמש בשרת MCP מותאם — לדוגמה, סוכן "Customer Support" שקורא Tickets מ-MCP, בודק נתוני לקוח ב-MCP, ומעדכן סטטוס ב-MCP. הכל אוטומטי, הכל בשליטה מלאה.

מה שרת MCP מותאם אישית יכול לעשות בשבילך?

בואו נחשוב על תרחישים מעשיים לפי תפקיד:

תפקיד שרת MCP מותאם כלים לדוגמה
מפתח חיבור ל-CI/CD פנימי trigger_build, get_test_results, rollback_deploy
משווק חיבור ל-CRM (HubSpot, Salesforce) get_lead_info, update_deal_stage, send_campaign
מנהל מוצר חיבור ל-Analytics פנימי get_daily_metrics, compare_experiments, get_user_funnel
DevOps חיבור ל-Monitoring get_server_health, list_alerts, restart_service
אנליסט חיבור ל-Data Warehouse run_report, get_dashboard_data, export_csv

המפתח לשרת MCP מוצלח: כלים ממוקדים עם שמות ברורים. במקום כלי אחד גנרי do_everything, צור 3-5 כלים ספציפיים שכל אחד עושה דבר אחד טוב. Claude יודע לבחור את הכלי הנכון למשימה הנכונה — תן לו אפשרויות ברורות.

דוגמה מייצגת: שרת MCP לעסק ישראלי — ניהול מלאי ומשלוחים

נניח שאתם מפעילים חנות E-Commerce ישראלית עם מחסן בראשון לציון ומשלוחים דרך שליחים מקומיים. שרת MCP מותאם יכול לכלול:

עכשיו, כל בוקר אתם שואלים את Claude: "מה המצב היום?" — והוא מושך נתוני מלאי, מכירות, ומשלוחים, מפיק דוח, ומתריע על מוצרים שנגמרים. Agent מותאם (פרק 2) + שרת MCP מותאם = מנהל תפעול אוטומטי.

טיפים לכתיבת שרת MCP טוב

  1. שמות כלים מתארים: get_customer_by_email עדיף על get_data. Claude בוחר כלי לפי השם והתיאור — ככל שהם ברורים יותר, הבחירה מדויקת יותר
  2. תיאורים מפורטים: כתוב description ברור עם דוגמאות. "Get customer info by email address. Returns name, plan, signup date, and last activity." זה הרבה יותר טוב מ-"Get customer"
  3. סכמת קלט מדויקת: הגדר את כל הפרמטרים עם סוג (string, number, boolean), תיאור, וערכי ברירת מחדל. ככל שהסכמה מדויקת יותר, Claude שולח פרמטרים נכונים יותר
  4. טיפול בשגיאות: אם הכלי נכשל (API לא זמין, פרמטר שגוי), החזר הודעת שגיאה ברורה ב-JSON. לא stack trace — הודעה שClaude יכול להבין ולתקן
  5. ביצועים: שרת MCP צריך להיות מהיר. אם כלי לוקח 30 שניות, שקול להוסיף caching או timeout. Claude לא יחכה לנצח
אבטחה: מה לא לחשוף דרך MCP

שרת MCP נותן ל-Claude גישה ישירה לשירות. חשוב היטב מה אתה חושף. כמה כללים:
(1) לעולם אל תחשוף פעולות מחיקה ללא אישור — delete_all_users זה מתכון לאסון.
(2) הגבל גישה לנתונים רגישים — אל תחשוף get_user_password או get_api_keys.
(3) הוסף Rate Limiting — אם Claude "נתקע" בלולאה, אתה לא רוצה שהוא ישלח 1,000 בקשות לשנייה.
(4) תעד לוגים — כל קריאה לכלי צריכה להירשם ב-log. זה קריטי לאבחון בעיות ולביקורות.

מסגרת החלטה: מתי לבנות שרת MCP מותאם?

לא כל דבר דורש שרת MCP. שאל את עצמך:

  1. האם קיים כבר שרת שעושה את זה?
    • כן → השתמש בקיים. אל תמציא את הגלגל מחדש
    • לא → המשך לשאלה 2
  2. האם הפעולה חד-פעמית או חוזרת?
    • חד-פעמית → פקודת Bash מספיקה. לא צריך שרת
    • חוזרת → שרת MCP ישתלם. המשך לשאלה 3
  3. האם אתה צריך לחבר Claude למערכת פנימית?
    • כן → בנה שרת MCP מותאם. זו בדיוק הסיבה שהיכולת קיימת
    • לא → בדוק אם פקודת CLI + Bash Tool מספיקה
עשה עכשיו 10 דקות

בנה שרת MCP "Hello World" משלך. צור קובץ Python (או TypeScript) עם כלי אחד פשוט — get_weather מהדוגמה למעלה, או כלי שמחזיר תאריך/שעה, או כלי שסופר מילים בטקסט. הוסף אותו ל-settings.json, הפעל מחדש את Claude Code, ובקש מ-Claude להשתמש בכלי. אם קיבלת תשובה — בנית שרת MCP. זה הבסיס לכל חיבור מותאם שתרצה בעתיד.

בינוני 8 דקות חינם תרגול

10. Best Practices ופתרון בעיות

אחרי שהתקנת שרתים, הגדרת אותם, ואולי גם בנית אחד משלך — הגיע הזמן לדבר על מה שרוב האנשים מגלים אחרי שבוע-שבועיים של עבודה עם MCP: הכללים שמבדילים בין setup שעובד חלק לבין setup שגורם לכאבי ראש.

כללי זהב ל-MCP

  1. אל תתקין יותר מדי שרתים. כל שרת צורך משאבים (זיכרון, זמן הפעלה). 3-5 שרתים פעילים הוא איזון טוב. יותר מזה — השתמש ב-deferred loading
  2. הפעל deferred loading. אם יש לך יותר מ-5 שרתים או 20+ כלים סך הכל, הפעל Tool Search כדי לחסוך מקום ב-context
  3. נעל גרסאות (Version Pinning). במקום npx @package, השתמש ב-npx @package@1.2.3. זה מונע שבירות כשיוצאת גרסה חדשה
  4. בדוק בריאות שרת. אם כלי לא עובד — בדוק: האם השרת רץ? האם משתנה סביבה חסר? האם API key פג?
  5. סקירת אבטחה. שרת MCP יכול להריץ קוד על המחשב שלך. התקן רק שרתים ממקורות מהימנים. בדוק את הקוד אם הוא לא מ-maintainer מוכר
  6. ביצועים. קריאה לכלי MCP כוללת Overhead (תקשורת בין תהליכים, לפעמים latency של רשת). לפעולות בתדירות גבוהה, שקול אם פקודת Bash ישירה תהיה מהירה יותר
  7. תיעוד. תעד את ה-MCP Stack שלך: אילו שרתים מותקנים, למה, ומה ה-env vars שנדרשים. כשצוות חדש מצטרף, הוא צריך לדעת מה להגדיר
  8. גיבוי settings.json. שמור את קובץ ההגדרות ב-Git (בלי secrets!). ככה כל הצוות משתמש באותו Stack, ושינויים עוברים Code Review
3-5

מספר שרתי MCP מומלץ לעבודה שוטפת. פחות מדי — מפספסים יכולות. יותר מדי — overhead בביצועים וב-context. מצא את האיזון שמתאים לעבודה שלך.

עשה עכשיו 3 דקות

פתח את settings.json שלך ובצע בדיקת "היגיינה":
(1) האם כל ה-tokens עוברים דרך ${VARIABLE} ולא כתובים ישירות?
(2) האם יש שרתים שלא השתמשת בהם בשבוע האחרון? הוסף להם "disabled": true.
(3) האם הגרסאות מנועלות? אם כתוב npx @package בלי גרסה — הוסף @package@X.Y.Z.
כל שינוי שעשית עכשיו ימנע בעיות בעתיד.

מתי MCP ומתי Bash?

שאלה חשובה שצריך לענות עליה: אם Claude יכול להריץ כל פקודה דרך Bash, למה בכלל צריך MCP? התשובה היא נוחות, בטיחות, ואמינות.

קריטריון MCP Tool Bash Command
פרמטרים סכמה מוגדרת — Claude יודע בדיוק מה להעביר טקסט חופשי — Claude צריך "לנחש" את התחביר
פלט JSON מובנה — קל לפרסר טקסט חופשי — דורש פרסור
שגיאות שגיאות מובנות עם הודעה ברורה Exit codes + stderr — לא תמיד ברור
אבטחה הרשאות מוגדרות לכלי ספציפי גישה לכל מה ש-Bash יכול לעשות
מהירות אופטימלי — בנוי למטרה תלוי בפקודה — לפעמים overhead

כלל אצבע: אם יש כלי MCP שעושה את מה שאתה צריך — השתמש בו. אם אין — Bash זה הפתרון. שניהם לגיטימיים, אבל MCP עדיף כשהוא זמין.

פתרון בעיות נפוצות

בעיה סיבה נפוצה פתרון
כלי MCP לא מופיע לא הפעלת מחדש את ה-session סגור ופתח מחדש את Claude Code
שגיאה: "Server failed to start" חבילה לא מותקנת, או path שגוי הרץ את הפקודה ידנית בטרמינל לבדיקה
שגיאה: "Authentication failed" API key חסר, פג, או שגוי בדוק את משתנה הסביבה: echo $TOKEN_NAME
שרת קורס באמצע עבודה באג בשרת, חוסר זיכרון, timeout הפעל מחדש session, בדוק לוגים, עדכן גרסה
ביצועים איטיים שרת עם API חיצוני איטי בדוק latency של ה-API, שקול caching
יותר מדי כלים, context מלא הרבה שרתים בלי deferred loading הפעל deferred loading, השבת שרתים שלא בשימוש
הפקודה /doctor

כש-MCP לא עובד כמו שצריך, הפקודה /doctor ב-Claude Code יכולה לאבחן בעיות נפוצות בשרתי MCP — הריצו אותה ראשון לפני שמתחילים לחפש באג ידנית.

צ'קליסט אבחון: MCP לא עובד — מה לבדוק

עברו על הצ'קליסט הזה בסדר, מלמעלה למטה. ברוב המקרים תמצאו את הבעיה בשלושת הצעדים הראשונים:

  1. הפעל /doctor — ראה מה Claude Code עצמו מזהה
  2. בדוק JSON תקין: cat .claude/settings.json | python3 -m json.tool — פסיק חסר או סוגריים שגויים שוברים הכל
  3. הפעלת מחדש? — שרתי MCP נטענים רק בתחילת session. סגור ופתח מחדש
  4. בדוק שהחבילה מותקנת: הרץ npx @package-name --version בטרמינל נפרד
  5. בדוק env vars: echo $GITHUB_TOKEN — ריק = לא מוגדר
  6. בדוק הרשאות: האם permissions.deny חוסם את הכלי?
  7. בדוק גרסה: אם נעלת גרסה, אולי צריך לעדכן
  8. אם שום דבר לא עוזר: מחק את ההגדרה, הוסף מחדש, הפעל מחדש
עשה עכשיו 3 דקות

הריצו /doctor ב-Claude Code ובדקו שכל שרתי ה-MCP שלכם במצב תקין. אם יש שגיאות — תקנו אותן עכשיו לפי הצ'קליסט למעלה. מצב בריא = כל השרתים ירוקים.

תרחישים מהעולם האמיתי: MCP בפעולה

בואו נראה שלושה תרחישים מציאותיים שמדגימים את הכוח של MCP:

דוגמה מייצגת: מפתח Frontend שבודק PR

הסיטואציה: קיבלת PR חדש עם שינויים ב-CSS ו-JavaScript. צריך לוודא שהשינויים לא שברו כלום.

מה אתה אומר ל-Claude: "בדוק את ה-PR הפתוח #142 ב-GitHub. עבור על השינויים. ואז פתח את האתר ב-staging ובדוק שהדף עדיין נראה תקין — צלם מסך של הדף הראשי ודף ההרשמה."

מה Claude עושה:

  1. mcp__github__get_pull_request → שולף את פרטי ה-PR, קורא את ה-diff
  2. mcp__github__list_pull_request_files → רשימת קבצים שהשתנו
  3. mcp__playwright__browser_navigate → פותח את אתר ה-staging
  4. mcp__playwright__browser_take_screenshot → צלם מסך של דף ראשי
  5. mcp__playwright__browser_navigate → נווט לדף הרשמה
  6. mcp__playwright__browser_take_screenshot → צלם מסך נוסף
  7. Claude מנתח ומספק דוח: "ה-PR נראה תקין. שני Screenshots מצורפים. שמתי לב שהכפתור ב-navbar מעט זז — כדאי לבדוק."

זמן: דקה וחצי במקום 15 דקות של בדיקה ידנית.

דוגמה מייצגת: אנליסט שמכין דוח שבועי

הסיטואציה: כל יום ראשון צריך לשלוף נתונים ממסד הנתונים, ליצור טבלאות, ולהכין סיכום.

מה אתה אומר ל-Claude: "הכן את הדוח השבועי: שלוף את נתוני המכירות מהשבוע האחרון, השווה לשבוע שעבר, ומצא את 3 המוצרים עם הגידול הגדול ביותר."

מה Claude עושה:

  1. mcp__postgres__query → שאילתת SQL לנתוני שבוע נוכחי
  2. mcp__postgres__query → שאילתת SQL לנתוני שבוע קודם
  3. Claude מחשב הבדלים, מזהה מגמות, יוצר טבלת השוואה
  4. Claude כותב סיכום בעברית עם הממצאים המרכזיים

זמן: 30 שניות במקום שעה של SQL ידני ו-Excel.

דוגמה מייצגת: משווק שבודק מתחרים

הסיטואציה: צריך לבדוק מה המתחרים שינו באתרים שלהם ולתעד את זה.

מה אתה אומר ל-Claude: "פתח את אתרי שלושת המתחרים הראשיים שלנו, צלם מסך של דף הבית ודף המחירים של כל אחד, והשווה את ההצעות."

מה Claude עושה:

  1. mcp__playwright__browser_navigate → נווט לאתר מתחרה 1
  2. mcp__playwright__browser_take_screenshot → צלם דף בית
  3. mcp__playwright__browser_navigate → נווט לדף מחירים
  4. mcp__playwright__browser_snapshot → שלוף מחירים מהעמוד
  5. חוזר על התהליך ל-2 מתחרים נוספים
  6. Claude יוצר טבלת השוואה עם מחירים, תכונות, ותובנות

זמן: 2 דקות במקום חצי שעה של גלישה ותיעוד ידני.

תבנית מוכנה להעתקה: settings.json עם MCP Stack מלא

העתק את התבנית הבאה ל-~/.claude/settings.json (גלובלי) והתאם לצרכים שלך:

{
  "permissions": {
    "allow": [
      "mcp__playwright__*",
      "mcp__context7__*"
    ]
  },
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-playwright"],
      "defer_loading": true
    },
    "context7": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-context7"]
    },
    "github": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      },
      "defer_loading": true
    }
  }
}

שים לב: Playwright ו-GitHub מוגדרים עם defer_loading: true כי יש להם הרבה כלים. Context7 עם שני כלים בלבד נשאר Always-On. ההרשאות מאשרות את Playwright ו-Context7 מראש — GitHub ידרוש אישור ידני לכל פעולה.

תרגיל 1: הגדרת MCP Stack מלא

בתרגיל הזה תגדיר stack MCP שלם מותאם לעבודה שלך:

  1. בחר 2-3 שרתים מרשימת ה-Power Stack (סעיף 4) שמתאימים לתפקיד שלך
  2. הגדר אותם ב-settings.json — כולל Environment Variables עבור כל שרת שדורש API key
  3. הפעל מחדש את Claude Code וודא שכל השרתים מופעלים (בדוק עם /tools)
  4. בדוק כל שרת — תן ל-Claude משימה שמשתמשת בכל שרת. לדוגמה:
    • Playwright: "Take a screenshot of my website"
    • Context7: "Get the latest docs for Express.js middleware"
    • GitHub: "List the last 5 commits on the main branch"
  5. תעד את התוצאות — מה עבד? מה לא? למה?
תרגיל 2: Workflow מרובה-שרתים

בתרגיל הזה תגרום ל-Claude להשתמש בשני שרתי MCP או יותר באותה משימה:

  1. בקש מ-Claude: "Use Playwright to take a screenshot of [URL], then use Context7 to check if the framework version shown matches the latest docs"
  2. או: "Check my GitHub repo for open issues, then use Playwright to verify if the bug reported in issue #X is still visible on the live site"
  3. שים לב איך Claude מתאם בין שרתים — הוא בוחר את הכלי הנכון לכל שלב
  4. בונוס: בקש Workflow שמשלב שלושה שרתים
תרגיל 3: אופטימיזציית Context עם Tool Search

בתרגיל הזה תבדוק ותשפר את צריכת ה-Context של שרתי ה-MCP שלך:

  1. בדוק את מצב ה-Context הנוכחי — הקלד /context ותעד כמה אחוז בשימוש
  2. ספור את כלי ה-MCP שלך — הקלד /tools וספור כמה כלים מתחילים ב-mcp__
  3. אם יש לך 10+ כלי MCP: הוסף "defer_loading": true לכל שרת MCP ב-settings.json
  4. הפעל מחדש את Claude Code ובדוק שוב עם /context
  5. השווה: כמה tokens חסכת? תעד את ההבדל
תרגיל 4: בנה שרת MCP מותאם למשימה שלך

הגיע הזמן לבנות משהו אמיתי:

  1. בחר API או שירות שאתה משתמש בו בעבודה ואין לו שרת MCP
  2. הגדר 2-3 כלים שיהיו שימושיים. לדוגמה:
    • API של רשת חברתית: get_post_stats, schedule_post
    • API פנימי: get_customer, create_ticket, check_status
    • API מזג אוויר: get_forecast, get_alerts
  3. כתוב את השרת ב-Python או TypeScript, עם mock data לפחות
  4. חבר אותו ל-settings.json ובדוק שעובד
  5. בונוס: החלף את ה-mock data ב-API call אמיתי

שגרת תחזוקת MCP — Daily, Weekly, Monthly

מתחיל 5 דקות חינם תרגול
שגרת תחזוקת MCP

MCP דורש תחזוקה מינימלית, אבל תחזוקה נכונה מונעת כאבי ראש. הנה השגרה המומלצת:

מתי מה לעשות זמן
כל session (יומי) ודא ששרתי MCP הופעלו — בדוק עם /tools שהכלים נטענו 30 שניות
פעם בשבוע בדוק עדכונים לשרתים (npm outdated, changelog של שרתים שאתה משתמש בהם) 5 דקות
פעם בשבוע בדוק שכל ה-tokens וה-API Keys עדיין תקפים — Tokens שפגו הם סיבה #1 ל-MCP שלא עובד 3 דקות
פעם בחודש סקור את רשימת השרתים: השבת מה שלא השתמשת בו, עדכן גרסאות, בדוק tokens שפגו 15 דקות
כש-Claude מתנהג מוזר הריצו /doctor, בדקו context usage עם /context, הפעילו deferred loading אם צריך 5 דקות

אבטחת MCP — מה שכל Power User צריך לדעת

MCP הוא כלי חזק, ועם כוח מגיעה אחריות. הנה שלושה עקרונות אבטחה שחובה להפנים:

עיקרון 1: Least Privilege (הרשאות מינימליות)

אל תתן לשרת MCP יותר הרשאות ממה שהוא צריך. אם שרת ה-PostgreSQL שלך צריך רק לקרוא נתונים — צור user עם SELECT בלבד. אם GitHub MCP צריך רק לקרוא PRs — תן לו token עם read:org בלבד, לא admin:org. וב-permissions.deny של Claude Code — חסום כלים מסוכנים כמו mcp__github__delete_repository.

עיקרון 2: Trust but Verify (סמוך אבל תבדוק)

התקן שרתי MCP רק ממקורות מהימנים: ה-Registry הרשמי של Anthropic, ארגונים מוכרים ב-GitHub, חבילות npm/PyPI עם היסטוריית downloads. לעולם אל תתקין שרת MCP מ-URL אקראי בלי לבדוק את הקוד. שרת MCP רץ על המחשב שלך — קוד זדוני יכול לגשת לקבצים, לרשת, ולמשאבי המערכת. ב-2026 כבר נצפו מספר מקרים של שרתי MCP "רעולי פנים" שניסו לגנוב credentials.

עיקרון 3: Audit Trail (שביל ביקורת)

תעדו כל שימוש ב-MCP. השתמשו ב-Hooks (PostToolUse) כדי לרשום לוג של כל קריאה לכלי MCP. בסביבה צוותית, השתמשו ב-Elicitation hooks כדי לתעד אישורים. ככה כשמשהו משתבש — יש לכם מסלול ברור של "מי עשה מה, מתי, ולמה".

עשה עכשיו 2 דקות

בדוק את כל שרתי ה-MCP שמותקנים אצלך: מי פיתח כל שרת? מתי הייתה הגרסה האחרונה? כמה downloads יש לחבילה? אם מצאת שרת שאתה לא בטוח במקור שלו — השבת אותו ("disabled": true) עד שתבדוק.

עלויות MCP — כמה זה עולה?

MCP עצמו הוא חינמי — הפרוטוקול הוא Open Source, ורוב השרתים הם קוד פתוח בלי עלות. אבל יש עלויות עקיפות שכדאי להכיר:

מרכיב עלות פירוט הערכה
Tokens נוספים כל קריאה לכלי MCP צורכת tokens — הבקשה, הפרמטרים, והתשובה $0.01-0.10 לקריאה בודדת
הגדרות כלים בלי Tool Search, הגדרות הכלים צורכות tokens מחלון ההקשר $0.50-2.00 לsession (עם 50+ כלים)
API Keys חיצוניים חלק מהשרתים דורשים API keys בתשלום (Brave, שירותי ענן) משתנה לפי שירות
משאבי מחשב כל שרת רץ כתהליך נפרד — זיכרון ו-CPU זניח (50-100MB RAM לשרת)

סיכום: הוספת MCP מוסיפה בערך $2-4 ל-session ממוצע (תלוי כמה שרתים ואיך משתמשים). בהשוואה לזמן שאתה חוסך (עשרות דקות של עבודה ידנית), ההשקעה מחזירה את עצמה בקלות.

עשה עכשיו 1 דקה

הקלד /cost ב-Claude Code כדי לראות כמה ה-session הנוכחי עולה. שים לב לעלות לפני ואחרי שימוש בכלי MCP. ככה תבין את ההשפעה על התקציב שלך.

אם אתה עושה רק דבר אחד מהפרק הזה 5 דקות

התקן את שרת Playwright של MCP. הוסף את שלוש השורות הבאות ל-.claude/settings.json:

"mcpServers": {
  "playwright": {
    "command": "npx",
    "args": ["@anthropic-ai/mcp-playwright"]
  }
}

הפעל מחדש את Claude Code, ובקש מ-Claude: "Take a screenshot of google.com". ברגע שקיבלת צילום מסך — הבנת את MCP. הדפוס חוזר על עצמו עם כל שרת: הגדר ב-JSON, הפעל מחדש, השתמש. שרת אחד עובד = אתה מוכן לעולם של אינסוף חיבורים.

MCP בתמונה הגדולה — הקשר לפרקים אחרים

MCP הוא לא פיצ'ר בודד — הוא חלק ממערכת שלמה. הנה איך הוא מתחבר לכל מה שלמדת ומה שתלמד:

רכיב מה הוא עושה הקשר ל-MCP
Hooks (פרק 1) מפעיל סקריפטים לפני/אחרי פעולות Hook יכול לפעול כש-MCP tool מופעל (PreToolUse/PostToolUse), Elicitation hooks
Custom Agents (פרק 2) סוכנים ממוקדים שעושים משימות Agent יכול להשתמש בכלי MCP — סוכן Security שמריץ סריקות דרך MCP
Skills (פרק 4) פקודות /slash מותאמות Skill יכול להשתמש ב-MCP tools ולהפעיל Agent שמשתמש ב-MCP
Plugins (פרק 5) חבילות שלמות של Skills + MCP + Hooks Plugin כולל שרת MCP מובנה — התקנה אחת מביאה הכל

הנוסחה המלאה: Skill מפעיל Agent שמשתמש ב-MCP tools, עם Hooks שמוודאים אבטחה. זה הכוח האמיתי של Claude Code כפלטפורמה — והפרקים הבאים יחברו את כל החלקים.

אם אתם עושים רק דבר אחד מהפרק הזה 5 דקות

התקינו שרת MCP אחד — Playwright. פתחו את ~/.claude/settings.json, הוסיפו את הגדרת Playwright (עם npx @anthropic-ai/mcp-playwright), הפעילו מחדש את Claude Code, ובקשו: "Navigate to google.com and take a screenshot." ברגע שתראו Screenshot חי בטרמינל, תבינו למה MCP משנה הכל. מרגע זה, כל שירות שתרצו — אפשר לחבר אותו באותו אופן.

בדוק את עצמך — 5 שאלות

ענה על 5 השאלות האלה בלי לגלול למעלה. אם אתה יכול לענות על 4 מתוך 5 — אתה מוכן לפרק הבא.

  1. למה MCP מכונה "USB for AI" ומה הוא מאפשר שלא היה אפשרי בלעדיו? (רמז: תקן פתוח שמחבר Claude לכלים חיצוניים — מסדי נתונים, דפדפנים, APIs — במקום להיות מוגבל רק לקבצים ולטרמינל)
  2. למה Tool Search חוסך ~85% מצריכת ה-tokens ואיך זה עובד מאחורי הקלעים? (רמז: במקום לטעון את כל הגדרות 50+ כלים מראש, Claude רואה רק רשימת שמות ומושך סכמה מלאה רק כשצריך)
  3. מה הסכנה בלחבר שרת MCP עם הרשאות Admin ל-Production ומה עושים במקום? (רמז: שגיאת DELETE/UPDATE יכולה למחוק נתונים אמיתיים — צור User עם Read-Only או הרשאות מוגבלות)
  4. איך MCP Elicitation שונה מאינטראקציה רגילה ולמה הוסיפו את זה? (רמז: שרת MCP יכול לבקש קלט מובנה מהמשתמש באמצע workflow — לדוגמה אישור לפני פעולה מסוכנת)
  5. מהם שלושת עקרונות האבטחה של MCP ואיך מיישמים אותם בפועל? (רמז: Least Privilege, Trust but Verify, Audit Trail)
סיכום הפרק

MCP הוא השלב שבו Claude Code מפסיק להיות כלי שעובד רק עם קבצים ופקודות טרמינל — והופך לסוכן שמחובר לעולם. התובנה המרכזית היא שהחיבור הזה אינו רק טכני: MCP משנה את הדרך שבה אתה חושב על אוטומציה, כי כל שירות שיש לו API הופך לכלי ש-Claude יכול להשתמש בו בצורה אינטליגנטית. עם Tool Search ו-Deferred Loading, אפילו עשרות שרתי MCP לא יאטו את השיחה — וההשקעה בתחזוקה היא מינימלית (30 שניות ליום, 5 דקות בשבוע). בפרק הבא נעבור ל-Skills — שם נלמד לעטוף את כל מה שלמדנו (Hooks + Agents + MCP) לתוך פקודות /slash שמייצרות תוצאות עקביות בלחיצה אחת.

צ'קליסט — סיום פרק 3