5 שלב 2 — בניית יכולות

MCP Servers — הרחבת היכולות

איך להרחיב את Copilot מעבר לכלים המובנים — להתחבר ל-GitHub API, להוסיף שרתים מהגלריה, ולבנות שרת MCP מותאם משלך. הפרוטוקול שמחליף את Extensions, מאפשר חיבור לכל שירות חיצוני, ועובד לא רק ב-Copilot אלא בכל AI agent. כולל הגדרת mcp.json, OAuth ו-PAT, sandbox security, מדיניות ארגונית, וניפוי באגים. עדכני לאפריל 2026.

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

בפרק 2 (ארגז הכלים) הכרת את כל הכלים המובנים של Agent Mode — כולל כלי MCP שמופיעים בתפריט עם שם השרת לידם. ראית שאפשר להפעיל ולכבות כלים דרך Configure Tools. בפרק הזה תבין בדיוק מה עומד מאחורי כלי ה-MCP האלה, תתקין שרתים חדשים מהגלריה, תגדיר את GitHub MCP Server לגישה מלאה ל-API של GitHub, ותבנה שרת MCP מותאם משלך שמוסיף כלי חדש ל-Copilot. בפרק 6 (Copilot CLI) תשתמש בשרתי MCP גם מהטרמינל — GitHub MCP Server מובנה ב-CLI, ותוכל להוסיף שרתים מותאמים דרך קובץ הגדרות.

מילון מונחים — פרק 5
מונח באנגלית הסבר בעברית
Model Context Protocol (MCP) פרוטוקול הקשר למודלים — תקן פתוח שמגדיר איך יישומי AI מתחברים לכלים ושירותים חיצוניים
MCP Server שרת MCP — תוכנה שחושפת כלים (Tools), משאבים (Resources) ופרומפטים (Prompts) דרך פרוטוקול MCP
Local Server (stdio) שרת מקומי — רץ על המחשב שלכם, מתקשר דרך Standard Input/Output
Remote Server (HTTP/SSE) שרת מרוחק — מתארח בענן, מתקשר דרך HTTP או Server-Sent Events
GitHub MCP Server השרת הרשמי של GitHub — גישה ל-API של GitHub (issues, PRs, code search) ישירות מ-Copilot
MCP Gallery גלריית MCP — חיפוש @mcp בתצוגת Extensions ב-VS Code לגלוש בשרתים זמינים
GitHub MCP Registry ספריית שרתי MCP מאושרים באתר GitHub — עם התקנה בלחיצה אחת
mcp.json קובץ הגדרות MCP — נמצא ב-.vscode/mcp.json (ברמת פרויקט) או בפרופיל המשתמש
Toolset קבוצת כלים — חלוקה של כלי GitHub MCP Server לפי תחום (repos, issues, pulls, code_search)
Sandbox ארגז חול — מנגנון אבטחה שמגביל גישה של שרת MCP מקומי למערכת הקבצים ולרשת
OAuth פרוטוקול אימות — כניסה בלחיצה אחת ללא צורך ביצירת טוקן ידנית. מומלץ לשרתים מרוחקים
PAT (Personal Access Token) טוקן גישה אישי — מפתח שנוצר ידנית ב-GitHub לאימות שרת מקומי
מתחיל 10 דקות חינם מושג

מה זה MCP — ה-USB-C של עולם ה-AI

דמיינו עולם שבו לכל מכשיר יש כבל שונה. הטלפון צריך כבל אחד, הטאבלט כבל שני, המסך כבל שלישי. ואז הגיע USB-C — כבל אחד שמחבר הכל. MCP (Model Context Protocol) הוא ה-USB-C של עולם ה-AI.

MCP הוא תקן פתוח (Open Standard) שמגדיר איך יישומי AI — כמו GitHub Copilot, Claude Code, Cursor, ועוד — מתחברים לכלים ושירותים חיצוניים. במקום שכל כלי AI יבנה אינטגרציה ייחודית עם כל שירות, MCP מגדיר שפה משותפת: אתה בונה שרת MCP פעם אחת, והוא עובד עם כל client שתומך בפרוטוקול.

מה שרת MCP חושף? שלושה דברים:

ארכיטקטורת MCP — Client, Protocol, Server AI Client VS Code + Copilot Claude Code Cursor, Windsurf MCP Protocol GitHub MCP Server issues, PRs, code search Playwright Server browser automation Custom Server הכלי שלך GitHub API Browser Engine Your Service / API MCP Architecture

הרעיון המרכזי: Copilot הוא ה-client, שרת MCP הוא הגשר לשירות חיצוני. ה-client שולח בקשה דרך פרוטוקול MCP, השרת מבצע את הפעולה, ומחזיר תוצאה. Copilot לא צריך לדעת איך GitHub API עובד — הוא רק צריך לדעת לדבר MCP.

למה MCP חשוב לכם — תרחיש מעשי

נניח שאתם עובדים על פרויקט ורוצים שCopilot יוכל:

בלי MCP, הייתם צריכים לעשות כל דבר ידנית — לפתוח דפדפן, לגלוש ל-GitHub, לחפש issues, לחזור ל-VS Code, להעתיק את המידע. עם MCP, Copilot עושה את כל זה בעצמו. אתם כותבים בצ'אט: "מצא issues פתוחים עם תגית bug ושנפתחו השבוע" — ו-Copilot מפעיל את כלי GitHub MCP Server, מביא את התוצאות, ומציג לכם סיכום.

איך MCP עובד — שלב אחרי שלב

נעקוב אחרי מה שקורה כשאתם כותבים בCopilot Chat: "מצא issues פתוחים עם תגית bug":

  1. Copilot מקבל את הפרומפט ומנתח אותו — הוא מזהה שצריך גישה ל-GitHub
  2. Copilot בודק את רשימת הכלים הזמינים (כולל כלי MCP). הוא מוצא את search_issues מ-GitHub MCP Server
  3. Copilot שולח בקשה לשרת MCP: {"method": "tools/call", "params": {"name": "search_issues", "arguments": {"query": "is:issue is:open label:bug"}}}
  4. שרת MCP מקבל את הבקשה, מתרגם אותה לקריאת GitHub API, ושולח בקשה ל-api.github.com
  5. GitHub API מחזיר תוצאות — רשימת issues עם כותרות, מספרים, תיאורים
  6. שרת MCP מעצב את התוצאה ומחזיר אותה ל-Copilot בפורמט שהמודל מבין
  7. Copilot מציג לכם סיכום של ה-issues הפתוחים בצ'אט

כל התהליך הזה לוקח 2-5 שניות. בלי MCP, הייתם צריכים לפתוח דפדפן, לגלוש ל-GitHub, לסנן issues ידנית, ולחזור ל-VS Code — דקות של עבודה חוזרת, שוב ושוב, כל יום.

שימו לב שהתהליך הזה זהה ללולאה האגנטית שלמדתם עליה בפרק 1 — קלט, תכנון, בחירת כלי, הפעלה, בדיקת תוצאה. ההבדל היחיד הוא שהכלי מגיע משרת MCP חיצוני ולא ממנוע מובנה של VS Code. וזה בדיוק הכוח של MCP: מבחינת Copilot, כלי MCP וכלי מובנה נראים זהים. הוא לא "מרגיש" שהוא פונה לשרת חיצוני — הוא פשוט מפעיל כלי ומקבל תוצאה.

MCP Apps — ממשקי משתמש אינטראקטיביים (תכונה חדשה)

מעבר ל-Tools, Resources, ו-Prompts, שרתי MCP יכולים גם לספק MCP Apps — ממשקי משתמש אינטראקטיביים שמוצגים ישירות בתוך Copilot Chat. זו תכונה חדשה יחסית (הושקה בינואר 2026) שמאפשרת לשרת MCP להחזיר לא רק טקסט, אלא ממשק עשיר עם כפתורים, טפסים, וויזואליזציות.

לדוגמה: שרת MCP של מסד נתונים יכול להחזיר טבלה אינטראקטיבית שמאפשרת מיון וסינון, במקום רק טקסט גולמי. זה עדיין בשלבים מוקדמים, אבל כדאי להכיר את הכיוון — ניתן להפעיל את התכונה ב-Settings עם chat.mcp.apps.enabled.

MCP הפך ל-GA — מה זה אומר

MCP ב-VS Code יצא מ-Preview ועבר ל-General Availability בגרסה 1.102 (יולי 2025). זה אומר שזה לא עוד ניסוי — זה פיצ'ר יציב, מתוחזק, ומומלץ לשימוש יומיומי. כל מי שמשתמש ב-VS Code בגרסה עדכנית יכול להתחיל להשתמש ב-MCP עכשיו.

מספרים שכדאי לדעת
עשו עכשיו 2 דקות

פתחו VS Code, לכו ל-Copilot Chat → לחצו על סמל הכלים (Configure Tools) → דפדפו ברשימה. האם אתם רואים כלים עם שם שרת ליד השם? למשל "github" או "playwright". אלה כלי MCP. רשמו כמה מצאתם: ___

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

Extensions מתים, MCP מחליף — מה השתנה

עד נובמבר 2025, Copilot תמך ב-Copilot Extensions — תוספים שנבנו כ-GitHub Apps. הם עבדו רק עם Copilot, דרשו רישום מורכב, ולא היה להם תקן אחיד. ב-24 בספטמבר 2025, GitHub הודיע: Copilot Extensions יורדים. ב-10 בנובמבר 2025 הם הפסיקו לעבוד.

מה שעלה במקומם? MCP. וההבדל הוא דרמטי:

מאפיין Copilot Extensions (מת) MCP Servers (חי)
תאימות Copilot בלבד Copilot, Claude Code, Cursor, כל MCP client
רישום GitHub App מורכב קובץ JSON פשוט
תקן API ייחודי של GitHub תקן פתוח (Open Standard)
זמן פיתוח ימים שעות (30 דקות לשרת בסיסי)
הרצה שרת חיצוני חובה מקומי או מרוחק — אתם בוחרים

השורה התחתונה: בנו MCP server פעם אחת — והוא עובד בכל מקום. זה היתרון המרכזי של תקן פתוח מול API ייחודי.

חשוב להבין: זה לא "עוד migration". ההחלפה מ-Extensions ל-MCP היא שינוי אסטרטגי. GitHub למעשה אומר: "אנחנו לא רוצים שכלים יעבדו רק עם Copilot. אנחנו רוצים תקן שכולם משתמשים בו." זה פותח דלת: כל שרת MCP שתבנו היום יעבוד גם עם Claude Code, גם עם Cursor, גם עם כל IDE שיתמוך ב-MCP בעתיד.

ההשלכה המעשית: אם אתם מפתחים כלים פנימיים בארגון שלכם, MCP הוא הפורמט הנכון. אם הספק שלכם (Sentry, Datadog, Stripe) עדיין לא הוציא שרת MCP — זה עניין של זמן. הרכבת כבר יצאה.

ומה לגבי Extensions שכבר היו מותקנים? Extensions של VS Code (כמו Python, Docker, Live Preview) ממשיכים לעבוד — רק Copilot Extensions (שנבנו כ-GitHub Apps ספציפית בשביל Copilot Chat) הם אלה שנסגרו. אם יש לכם VS Code Extension רגיל שמוסיף כלים ל-Copilot — הוא ממשיך לעבוד כרגיל. הבלבול בין סוגי ה-Extensions הוא נפוץ, אז חשוב להבחין. בקיצור: VS Code Extensions = ממשיכים. Copilot Extensions (GitHub Apps) = מתים, עוברים ל-MCP.

שימו לב: Extensions ישנים לא עובדים יותר

אם אתם משתמשים בכלים שנבנו כ-Copilot Extensions לפני נובמבר 2025 — הם לא יעבדו יותר. חפשו את הגרסה המעודכנת שלהם כשרת MCP. רוב הספקים הגדולים (Sentry, Stripe, Notion) כבר בנו שרתי MCP חלופיים.

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

חפשו בגוגל: site:github.blog copilot extensions deprecated. קראו את פסקת הפתיחה של ההודעה הרשמית. מה התאריך שהם נתנו? רשמו: ___

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

שני סוגי שרתים — מקומי ומרוחק

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

מקומי vs מרוחק — שני נתיבי חיבור Two Connection Paths LOCAL (stdio) — שרת מקומי VS Code Copilot Client stdin/stdout MCP Server Process npx / python / docker Local Files / DB / External API Your Machine REMOTE (HTTP/SSE) — שרת מרוחק VS Code Copilot Client HTTPS / SSE Cloud MCP Server GitHub, Stripe, Notion... OAuth / API Key Cloud

שרת מקומי (Local — stdio)

שרת מרוחק (Remote — HTTP/SSE)

מסגרת החלטה: מקומי או מרוחק?
התרחיש ההחלטה למה
צריכים גישה לקבצים מקומיים או מסד נתונים מקומי (stdio) שרת מרוחק לא יכול לגשת למחשב שלכם
צריכים גישה ל-API חיצוני בלבד (GitHub, Stripe) מרוחק (HTTP) פשוט יותר, OAuth מובנה, אין התקנה
צוות שצריך אותם שרתים מרוחק קל לשתף — כל אחד מתחבר לאותו URL
צריכים sandboxing ובקרת גישה מלאה מקומי + sandbox שליטה מלאה על filesystem ו-network
עובדים offline או ברשת מוגבלת מקומי לא תלוי בחיבור אינטרנט

דוגמה מעשית — אותה משימה, שני סוגי שרתים

נניח שאתם רוצים ש-Copilot יוכל לחפש ב-GitHub API. יש שתי דרכים:

דרך 1: Remote (מומלץ לרוב המשתמשים)

// .vscode/mcp.json — 3 שורות, בלי התקנות
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

זהו. בפעם הראשונה שתבקשו מ-Copilot לחפש issue — ייפתח חלון OAuth, תאשרו, וזה עובד. אין Docker, אין PAT, אין התקנות.

דרך 2: Local (לשליטה מלאה או Enterprise)

// .vscode/mcp.json — דרך Docker
{
  "servers": {
    "github-local": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github-pat}"
      }
    }
  }
}

פה צריך Docker מותקן, PAT מוכן, ויותר הגדרות. בתמורה — שליטה מלאה: אתם בוחרים אילו toolsets מופעלים, איזה PAT scopes לתת, ואתם לא תלויים בשרת חיצוני.

הכלל הפשוט: התחילו עם remote. עברו ל-local רק אם יש לכם סיבה ספציפית (Enterprise requirements, offline, גישה מקומית, sandbox).

נקודה חשובה נוספת: שרת אחד יכול לתמוך בשני הסוגים. GitHub MCP Server, למשל, זמין גם כ-remote (OAuth, ברירת מחדל מומלצת) וגם כ-local (Docker + PAT). הבחירה היא שלכם ותלויה בנסיבות. רוב השרתים ב-Registry הם מקומיים (stdio) כי זה פשוט יותר לפתח, אבל המגמה ברורה: יותר ויותר שרתים מציעים גם אפשרות remote.

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

בדקו אם יש לכם Node.js מותקן: פתחו טרמינל והקלידו node --version. אם התוצאה היא v18 ומעלה — מצוין. אם לא — התקינו עכשיו מ-nodejs.org. תצטרכו את זה בהמשך הפרק.

מתחיל 10 דקות חינם הקמה

הדרך הכי קלה להתקין שרת MCP היא דרך הגלריה המובנית של VS Code. בדיוק כמו שמתקינים Extensions — אבל עם @mcp.

איך לפתוח את הגלריה

  1. פתחו את תצוגת Extensions: Ctrl+Shift+X (Windows/Linux) או Cmd+Shift+X (Mac)
  2. בשדה החיפוש הקלידו: @mcp
  3. תופיע רשימה של שרתי MCP זמינים — עם תיאור, מפרסם, וכפתור Install

התקנה — User Profile vs Workspace

כשמתקינים שרת MCP, יש שתי אפשרויות:

אישור Trust: בפעם הראשונה שמפעילים שרת MCP חדש, VS Code ישאל אם אתם סומכים עליו. זה חשוב — שרת מקומי יכול להריץ קוד על המחשב שלכם. בדקו מי המפרסם לפני שמאשרים. אם בטעות אישרתם שרת שאתם לא בטוחים לגביו, השתמשו בפקודה MCP: Reset Trust כדי לאפס את כל אישורי ה-Trust ולהתחיל מחדש.

מעבר לגלריה, אפשר גם להתקין ישירות מ-GitHub MCP Registry. כשלוחצים "Install in VS Code" באתר ה-Registry, VS Code נפתח ומוסיף את השרת אוטומטית. זו הדרך הנוחה ביותר אם אתם כבר מדפדפים ב-Registry באתר.

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

פתחו Extensions (Ctrl+Shift+X), הקלידו @mcp, ודפדפו ברשימה. רשמו 3 שרתים שנראים רלוונטיים לעבודה שלכם:

  1. ___
  2. ___
  3. ___

שרתי MCP פופולריים שכדאי להכיר

שרת מפרסם מה הוא עושה סוג
GitHub MCP Server GitHub גישה מלאה ל-GitHub API: issues, PRs, code search, repos Remote / Local
Playwright Microsoft אוטומציית דפדפן: ניווט, צילומי מסך, אינטראקציה עם אלמנטים Local
Context7 Context7 שליפת תיעוד עדכני של ספריות — React, Next.js, Django ועוד Remote
Fetch MCP Community שליפת תוכן מ-URL — דפי אינטרנט, APIs, RSS Local
Postgres / SQLite MCP Community חיבור למסדי נתונים — שאילתות, סכמה, ניתוח נתונים Local
Stripe Stripe ניהול תשלומים: לקוחות, חשבוניות, מנויים Remote
Notion Notion גישה לדפים, מסדי נתונים, ותוכן ב-Notion Remote
טיפ: הגלריה היא לא המקום היחיד

הגלריה של VS Code היא נקודת התחלה טובה, אבל יש גם את GitHub MCP Registry (ראו סעיף הבא), הגדרה ידנית ב-mcp.json, ואפילו ייבוא אוטומטי מ-Claude Desktop. אם כבר הגדרתם שרתי MCP ב-Claude Desktop, הפעילו chat.mcp.discovery.enabled ב-VS Code Settings — והוא ייבא את ההגדרות אוטומטית.

6 דרכים להוסיף שרת MCP ב-VS Code
  1. גלריה: Extensions view → @mcp → Install
  2. mcp.json ידני: עריכת .vscode/mcp.json ישירות
  3. VS Code Settings: הגדרות → MCP Servers
  4. שורת פקודה: code --add-mcp '{"name":"server","command":"npx","args":[...]}'
  5. Dev Container: ב-devcontainer.json תחת customizations.vscode.mcp.servers
  6. Auto-discovery: ייבוא מ-Claude Desktop ויישומים אחרים
מתחיל 5 דקות חינם כלי

GitHub MCP Registry — גלריה מרוכזת של שרתים מאושרים

מעבר לגלריה הפנימית של VS Code, GitHub הקים GitHub MCP Registry — מעין "App Store" לשרתי MCP. הכתובת: registry.modelcontextprotocol.io.

מה הוא מציע:

ההבדל מהגלריה הפנימית

הגלריה הפנימית (@mcp ב-Extensions) היא חלק מ-VS Code ומכילה את אותם שרתים. ה-Registry הוא אתר אינטרנט חיצוני שמאפשר גלישה, חיפוש, וסינון נוח יותר. למעשה, הם משלימים — חפשו ב-Registry, התקינו ב-VS Code.

למה ה-Registry חשוב לארגונים

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

ה-Registry גם מספק מידע אבטחה: האם השרת עבר סריקת אבטחה, מי המפרסם, מתי עודכן לאחרונה, וכמה כוכבים יש ל-repo. זה מידע קריטי כשמחליטים האם להתקין שרת שיריץ קוד על המחשב שלכם.

איך לבחור שרת MCP מה-Registry

כשאתם מדפדפים ב-Registry, שימו לב ל-4 דברים:

  1. מפרסם: שרת מ-GitHub, Microsoft, או Stripe אמין יותר משרת ממפתח אנונימי
  2. כוכבים ופעילות: 500+ כוכבים ועדכון אחרון בחודש האחרון = סימן טוב. 10 כוכבים ועדכון אחרון לפני שנה = סימן אזהרה
  3. סוג שרת: Remote = פשוט יותר להתקנה. Local = יותר שליטה אבל דורש התקנות
  4. תיעוד: README מפורט עם דוגמאות שימוש = שרת שהמפתחים שלו אכפתיים. README ריק = אזהרה
עשו עכשיו 3 דקות

גלשו ל-registry.modelcontextprotocol.io. מצאו שרת אחד שרלוונטי לפרויקט שלכם. לחצו Install in VS Code והתקינו אותו. רשמו מה התקנתם: ___

בינוני 15 דקות חינם הקמה

הגדרה ב-.vscode/mcp.json — הפורמט המלא

כשמתקינים שרת MCP מהגלריה, הוא מתווסף אוטומטית. אבל הכוח האמיתי הוא בהגדרה ידנית — קובץ .vscode/mcp.json שאתם שולטים בו.

מבנה הקובץ

הקובץ מכיל שני חלקים:

מבנה קובץ mcp.json .vscode/mcp.json "servers": { "github": { "type": "http", "url": "https://api... // OAuth — ללא PAT } REMOTE "playwright": { "command": "npx", "args": ["-y", "@playwright/mcp"] } LOCAL (stdio) "my-tools": { "command": "node", "args": ["server.js"], "sandboxEnabled": true } CUSTOM + SANDBOX "inputs": [ { "type": "promptString", "id": "github-pat", "password": true } INPUT VARIABLES }

דוגמה מלאה — קובץ mcp.json עם 3 שרתים

{
  "inputs": [
    {
      "type": "promptString",
      "id": "github-pat",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ],
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp-server"]
    },
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}

Transport Types — סוגי תחבורה

סוג שדות חובה שימוש
stdio command, args שרת מקומי — VS Code מריץ תהליך
http url שרת מרוחק — VS Code מתחבר דרך HTTP (עם fallback ל-SSE)
sse url Server-Sent Events — לשרתים ישנים שלא תומכים ב-HTTP Stream

Input Variables — משתנים רגישים

לעולם אל תכתבו מפתחות API ישירות בקובץ. השתמשו ב-Input Variables:

"inputs": [
  {
    "type": "promptString",
    "id": "my-api-key",
    "description": "API Key for My Service",
    "password": true
  }
]

ואז הפנו אליהם בהגדרת השרת:

"my-server": {
  "command": "node",
  "args": ["server.js"],
  "env": {
    "API_KEY": "${input:my-api-key}"
  }
}

VS Code ישאל אתכם את הערך בפעם הראשונה שהשרת מופעל, ויזכור אותו אחר כך.

Environment Variables ו-envFile

בנוסף ל-Input Variables, אפשר להעביר משתני סביבה ישירות או מקובץ .env:

"my-server": {
  "command": "node",
  "args": ["server.js"],
  "env": {
    "NODE_ENV": "development",
    "LOG_LEVEL": "debug"
  },
  "envFile": "${workspaceFolder}/.env"
}

הערך ${workspaceFolder} מתרגם אוטומטית לנתיב הפרויקט הנוכחי. משתנים נוספים שניתן להשתמש בהם: ${userHome} (תיקיית הבית), ${env:VARIABLE} (משתנה סביבה של המערכת).

VS Code Settings — אלטרנטיבה ל-mcp.json

אם אתם מעדיפים לא ליצור קובץ נפרד, אפשר להגדיר שרתי MCP גם ב-VS Code Settings:

  1. פתחו Settings (Ctrl+,)
  2. חפשו mcp
  3. הגדירו שרתים ב-chat.mcp.servers

אבל — מומלץ להשתמש ב-.vscode/mcp.json בפרויקט. הסיבה: קובץ mcp.json נכנס ל-Git ומשותף עם הצוות. Settings הם אישיים למחשב שלכם. היתרון הנוסף של mcp.json: אפשר להגדיר שרתים שונים לפרויקטים שונים. פרויקט frontend עם Playwright, פרויקט backend עם Postgres — כל פרויקט מקבל בדיוק את השרתים שהוא צריך.

Dev Containers: אם אתם עובדים עם Dev Containers, אפשר להגדיר שרתי MCP ישירות ב-devcontainer.json תחת customizations.vscode.mcp.servers. כשמישהו פותח את הפרויקט ב-Dev Container, השרתים מוגדרים אוטומטית — אפילו בלי .vscode/mcp.json.

Sandbox — הגבלת גישה

לשרתים מקומיים, אפשר להגביל גישה למערכת הקבצים ולרשת:

"my-server": {
  "command": "node",
  "args": ["server.js"],
  "sandboxEnabled": true,
  "sandbox": {
    "filesystem": {
      "allowWrite": ["${workspaceFolder}"],
      "denyRead": ["${userHome}/.ssh"]
    },
    "network": {
      "allowedDomains": ["api.example.com"]
    }
  }
}

חשוב: Sandbox זמין כרגע ב-macOS ו-Linux בלבד. ב-Windows, שרתים מקומיים רצים ללא sandbox — מה שהופך את בדיקת האמינות של השרת לחשובה אפילו יותר.

אבטחת MCP — כללי אצבע

5 כללי אבטחה ל-MCP
  1. אל תתקינו שרתים ממקורות לא מוכרים. שרת MCP מקומי מריץ קוד על המחשב שלכם — עם הרשאות המשתמש שלכם
  2. השתמשו ב-sandbox. כל שרת מקומי צריך sandbox עם רשימת allow מצומצמת
  3. אל תכתבו סודות ב-mcp.json. הקובץ נכנס ל-Git. השתמשו ב-input variables או envFile
  4. בדקו הרשאות OAuth. כשמאשרים OAuth, קראו מה ההרשאות — אל תאשרו בעיניים עצומות
  5. חדשו PAT באופן קבוע. הגדירו תוקף של 90 יום לכל PAT ותזכורת לחידוש
טעות נפוצה: הכנסת סודות ישירות ל-mcp.json

הטעות: לכתוב "env": {"API_KEY": "sk-abc123..."} ישירות בקובץ.

למה מפתה: זה עובד מיד ונראה פשוט.

מה לעשות במקום: השתמשו ב-inputs עם "password": true, או בקובץ .env עם "envFile". הקובץ .vscode/mcp.json נכנס ל-Git — והסודות שלכם יהיו חשופים לכל מי שיש לו גישה ל-repo.

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

צרו קובץ .vscode/mcp.json בפרויקט קיים (או חדש). הכניסו שרת fetch בסיסי:

{
  "servers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}

שמרו את הקובץ. VS Code אמור לזהות אותו ולהציע להפעיל את השרת.

בינוני 20 דקות חינם הקמה

GitHub MCP Server — גישה מלאה ל-GitHub מתוך Copilot

GitHub MCP Server הוא השרת הרשמי שמתוחזק על ידי GitHub. הוא מחבר את Copilot ישירות ל-API של GitHub — issues, pull requests, code search, repos, actions, ועוד. זה אחד השרתים החשובים ביותר שתגדירו.

הגדרה מהירה — Remote (מומלץ)

הדרך הכי קלה היא להשתמש בשרת המרוחק עם OAuth:

// .vscode/mcp.json
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

בפעם הראשונה ש-Copilot מנסה להשתמש בכלי GitHub, ייפתח חלון OAuth ותתבקשו לאשר גישה. אין צורך ליצור PAT, אין צורך בהתקנות. לחיצה אחת וזה עובד.

הגדרה מקומית — PAT + Docker

אם אתם מעדיפים שליטה מלאה, או עובדים עם GitHub Enterprise:

{
  "servers": {
    "github-local": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
        "-e", "GITHUB_TOOLSETS=repos,issues,pull_requests,code_search",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github-pat}"
      }
    }
  }
}

Toolsets — קבוצות כלים

GitHub MCP Server מחולק ל-toolsets — קבוצות כלים לפי תחום. אתם יכולים להפעיל רק את מה שצריכים:

Toolset מה כולל דוגמאות שימוש
repos קריאת קבצים, branches, commits "קרא את ה-README של repo X"
issues יצירה, קריאה, עדכון של issues "מצא issues פתוחים עם תגית bug"
pull_requests סקירה, תגובות, מיזוג "סכם את השינויים ב-PR #42"
code_search חיפוש קוד בכל ה-repos "מצא כל שימוש ב-deprecated API"
users מידע על משתמשים "מי ה-top contributors ב-repo?"
actions GitHub Actions workflows "מה סטטוס ה-CI/CD של ה-PR?"
code_security התראות אבטחה "האם יש security alerts פתוחים?"

טיפ: הפעלה של רק ה-toolsets שאתם צריכים מקטינה את מספר הכלים שה-LLM צריך לבחור מהם — מה שמשפר את הדיוק ומזרז תגובות.

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

הנה כמה פרומפטים שעובדים יפה עם GitHub MCP Server ב-Agent Mode:

דוגמאות פרומפטים ל-GitHub MCP Server
מה אתם רוצים מה לכתוב ב-Copilot Chat Toolset נדרש
לחפש issues פתוחים עם תגית Find open issues labeled 'bug' in my-org/my-repo issues
לסכם שינויים ב-PR Summarize the changes in PR #42 and suggest improvements pull_requests
למצוא שימוש ב-function Search for all uses of deprecated_function across my repos code_search
לבדוק סטטוס CI/CD What's the status of the latest CI run on main branch? actions
ליצור issue חדש Create an issue for fixing the login bug with detailed steps to reproduce issues
לבדוק התראות אבטחה Are there any security alerts on my repositories? code_security

שימו לב שאתם לא צריכים לציין "use GitHub MCP" — Copilot בוחר את הכלי הנכון אוטומטית על סמך הבקשה. אם יש לכם GitHub MCP Server מוגדר ואתם שואלים על issues — הוא ישתמש בכלי search_issues. אם אתם שואלים על PR — הוא ישתמש ב-get_pull_request. זו הלולאה האגנטית שלמדתם עליה בפרק 1 — Copilot מזהה את המשימה, בוחר כלי, מפעיל, ובודק תוצאה.

GitHub MCP Server — Remote vs Local, מה לבחור

ל-GitHub MCP Server יש שתי גרסאות. הנה המלצה ברורה:

אם אתם לא בטוחים — התחילו עם Remote. תמיד אפשר לעבור ל-Local אחר כך.

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

הגדירו את GitHub MCP Server (remote) ב-.vscode/mcp.json. אחרי ההגדרה, פתחו Copilot Chat ב-Agent Mode ונסו:

האם Copilot הצליח? רשמו את התוצאה: ___

תרגיל 1: הגדרת GitHub MCP Server ושימוש מעשי

זמן: 20 דקות | תוצר: GitHub MCP Server מוגדר ופועל עם 3 פקודות מוצלחות

  1. הגדירו Remote: הוסיפו ל-.vscode/mcp.json את GitHub MCP Server (remote, OAuth)
  2. אמתו חיבור: פתחו Copilot Chat → Agent Mode, ובקשו "list my repos" — אשרו OAuth
  3. חפשו issues: בקשו מ-Copilot: "Find open issues labeled 'bug' in [your repo]"
  4. סקרו PR: בקשו: "Summarize the changes in the latest PR on [your repo]"
  5. חפשו קוד: בקשו: "Search for TODO comments across all my repos"
  6. תעדו: צלמו מסך של לפחות תוצאה אחת מוצלחת

תוצאה צפויה: 3 שאילתות מוצלחות שמוכיחות ש-GitHub MCP Server מחובר ועובד.

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

תרגיל מעשי — פרויקט עם 3 שרתי MCP

תרגיל 2: בניית סביבת MCP מלאה עם 3 שרתים

זמן: 25 דקות | תוצר: קובץ .vscode/mcp.json עם 3 שרתים פועלים

  1. צרו פרויקט חדש (או השתמשו בפרויקט קיים):
    mkdir mcp-playground && cd mcp-playground
    code .
  2. צרו .vscode/mcp.json עם 3 שרתים:
    {
      "servers": {
        "github": {
          "type": "http",
          "url": "https://api.githubcopilot.com/mcp/"
        },
        "playwright": {
          "command": "npx",
          "args": ["-y", "@playwright/mcp-server"]
        },
        "fetch": {
          "command": "uvx",
          "args": ["mcp-server-fetch"]
        }
      }
    }
  3. אמתו שהשרתים רצים: Command Palette → MCP: List Servers — כל 3 צריכים להיות במצב Running
  4. בדקו Configure Tools: פתחו Copilot Chat → Configure Tools. האם אתם רואים כלים מ-3 השרתים?
  5. השתמשו ב-GitHub: "Find the most recent PR on [repo]" → אשרו OAuth
  6. השתמשו ב-Playwright: "Open https://github.com and take a screenshot"
  7. השתמשו ב-Fetch: "Fetch the content of https://api.github.com/zen"
  8. תעדו: צלמו מסך של MCP: List Servers שמראה 3 שרתים Running

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

למה 3 שרתים ולא 10?

יש פיתוי להתקין כל שרת MCP שנראה מעניין. אל תיפלו. כל שרת שמופעל מוסיף כלים לתפריט — ו-Copilot צריך לבחור ביניהם. 50 כלים זמינים = Copilot מתקשה לבחור את הנכון. התחילו עם 2-3 שרתים שאתם באמת משתמשים בהם, ומוסיפו בהדרגה. כיבוי שרתים שלא בשימוש הוא אופטימיזציה חשובה — בדיוק כמו כיבוי כלים מובנים שלמדתם בפרק 2.

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

בניית שרת MCP מותאם — מאפס לכלי עובד

זה החלק המרגש — אתם הולכים לבנות שרת MCP משלכם שמוסיף כלי חדש ל-Copilot. לא צריך להיות מומחי backend — שרת בסיסי לוקח פחות מ-50 שורות קוד.

אפשרות א: Node.js (TypeScript)

שלב 1: אתחול פרויקט

mkdir my-mcp-server && cd my-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk

שלב 2: כתיבת השרת

צרו קובץ server.js:

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new McpServer({
  name: "my-tools",
  version: "1.0.0"
});

// Tool 1: Get current date/time in different formats
server.tool(
  "get-datetime",
  "Returns current date and time in various formats",
  {
    format: {
      type: "string",
      description: "Output format: 'iso', 'hebrew', 'unix'",
      enum: ["iso", "hebrew", "unix"]
    }
  },
  async ({ format }) => {
    const now = new Date();
    let result;

    switch (format) {
      case "iso":
        result = now.toISOString();
        break;
      case "hebrew":
        result = now.toLocaleDateString("he-IL", {
          year: "numeric", month: "long", day: "numeric",
          hour: "2-digit", minute: "2-digit"
        });
        break;
      case "unix":
        result = Math.floor(now.getTime() / 1000).toString();
        break;
      default:
        result = now.toISOString();
    }

    return {
      content: [{ type: "text", text: result }]
    };
  }
);

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

שלב 3: הוספת "type": "module" ל-package.json

// package.json — הוסיפו את השורה הזו
{
  "type": "module",
  ...
}

שלב 4: חיבור ל-VS Code

הוסיפו ל-.vscode/mcp.json:

{
  "servers": {
    "my-tools": {
      "command": "node",
      "args": ["path/to/my-mcp-server/server.js"]
    }
  }
}

אפשרות ב: Python

שלב 1: התקנת SDK

pip install mcp

שלב 2: כתיבת השרת

צרו קובץ server.py:

from datetime import datetime
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("my-tools")

@mcp.tool()
def get_datetime(format: str = "iso") -> str:
    """Returns current date and time.

    Args:
        format: Output format - 'iso', 'hebrew', or 'unix'
    """
    now = datetime.now()

    if format == "iso":
        return now.isoformat()
    elif format == "hebrew":
        months = ["ינואר","פברואר","מרץ","אפריל","מאי","יוני",
                  "יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"]
        return f"{now.day} ב{months[now.month-1]} {now.year}, {now.hour:02d}:{now.minute:02d}"
    elif format == "unix":
        return str(int(now.timestamp()))
    return now.isoformat()

if __name__ == "__main__":
    mcp.run(transport="stdio")

שלב 3: חיבור ל-VS Code

{
  "servers": {
    "my-tools": {
      "command": "python",
      "args": ["path/to/server.py"]
    }
  }
}

מה קורה מאחורי הקלעים

כשאתם מפעילים את השרת ומחברים אותו ל-VS Code, הנה מה שקורה:

  1. VS Code מריץ את הפקודה (node server.js או python server.py) כתהליך ברקע
  2. VS Code שולח בקשת initialize דרך stdin — "מי אתה ומה אתה יודע לעשות?"
  3. השרת מחזיר דרך stdout רשימה של כלים — שם, תיאור, פרמטרים
  4. Copilot מוסיף את הכלים לתפריט Configure Tools
  5. כשמשתמש שואל שאלה שדורשת את הכלי — Copilot שולח בקשת tools/call
  6. השרת מפעיל את הפונקציה ומחזיר תוצאה

כל התקשורת היא דרך JSON-RPC על stdin/stdout. אתם לא צריכים לממש את הפרוטוקול — ה-SDK עושה את זה בשבילכם. אתם רק כותבים את ה-function ומגדירים את הפרמטרים שלה.

רעיונות לשרתי MCP שימושיים

מעבר ל-datetime, הנה רעיונות לשרתי MCP שיכולים לחסוך לכם זמן ביומיום:

איך Copilot רואה את הכלי החדש

ברגע שהשרת מחובר ורץ:

  1. פתחו Copilot Chat → Configure Tools
  2. תראו כלי חדש בשם get-datetime תחת שרת my-tools
  3. נסו: "What's the current time in hebrew format?"
  4. Copilot יפעיל את הכלי שלכם ויציג את התוצאה
עשו עכשיו 2 דקות

התקינו את ה-SDK שמתאים לכם:

רשמו איזה שפה בחרתם: ___

תרגיל 3: בניית שרת MCP מותאם מאפס

זמן: 30 דקות | תוצר: שרת MCP עובד שמוסיף כלי אחד ל-Copilot

  1. צרו תיקיית פרויקט לשרת MCP חדש
  2. התקינו את ה-SDK (Node.js או Python)
  3. העתיקו את הקוד מהדוגמה למעלה (get-datetime)
  4. הוסיפו כלי שני משלכם. רעיונות:
    • word-count — סופר מילים בטקסט
    • json-validator — בודק אם מחרוזת היא JSON תקין
    • hebrew-date — מחזיר את התאריך העברי
    • project-stats — סופר קבצים בתיקייה לפי סוג
  5. חברו ל-VS Code דרך .vscode/mcp.json
  6. אמתו: MCP: List Servers → השרת שלכם Running
  7. בדקו: Copilot Chat → Agent Mode → בקשו שימוש בכלי החדש

תוצאה צפויה: שרת MCP מותאם עם 2 כלים שעובדים מתוך Copilot Agent Mode.

טיפים לבניית שרת MCP מוצלח

טעות נפוצה: לוגים ל-stdout שוברים את הפרוטוקול

הטעות: השרת לא מתחבר ל-VS Code למרות שהוא כתוב נכון.

למה קורה: שרת MCP מקומי חייב לתקשר דרך stdin/stdout. אם הוא מדפיס הודעות debug ל-stdout — VS Code מקבל JSON שבור ומנתק את החיבור.

מה לעשות: ודאו שכל הלוגים מודפסים ל-stderr (לא stdout). ב-Node.js: console.error() במקום console.log(). ב-Python: print(..., file=sys.stderr). זו הטעות הנפוצה ביותר בבניית שרתי MCP מותאמים.

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

אימות — OAuth, PAT, ובלי אימות

שרתי MCP שונים דורשים שיטות אימות שונות. בואו נבין מתי להשתמש בכל אחת:

1. OAuth — אימות בלחיצה אחת

2. PAT — Personal Access Token

3. ללא אימות

בקצרה — זרימת אימות לכל סוג

OAuth (remote): מגדירים URL → Copilot מבקש גישה → חלון דפדפן → מאשרים → עובד. הטוקן מתחדש אוטומטית.

PAT (local): יוצרים PAT ב-GitHub Settings → מגדירים ב-mcp.json עם input variable → VS Code שואל בפעם הראשונה → עובד. אתם אחראים לחדש את הטוקן כשפג תוקף.

ללא אימות: מגדירים command → עובד. אין שלב ביניים.

מסגרת החלטה: איזו שיטת אימות לבחור?
המצב ההחלטה הסיבה
שרת ציבורי ללא מידע רגיש ללא אימות הכי פשוט, אין מה להגן עליו
GitHub API — שימוש אישי OAuth (מומלץ) לחיצה אחת, scoped, SAML-ready
GitHub API — סביבה ארגונית עם SAML OAuth PAT לא תומך ב-SAML כברירת מחדל
CI/CD או סקריפטים אוטומטיים PAT OAuth דורש אינטראקציה אנושית
שרת מותאם מקומי (הפיתוח שלכם) ללא אימות (או PAT) רץ על המחשב שלכם, אין צורך באימות
GitHub Enterprise עם הגבלות PAT עם fine-grained שליטה מדויקת על repos ו-scopes
טעות נפוצה: PAT בלי הרשאת Copilot Requests

הטעות: יצרתם PAT עם הרשאות repo ו-read:org, אבל GitHub MCP Server מחזיר שגיאות אימות.

למה מפתה: ההרשאות הרגילות (repo, read:org) עובדות עם git ו-gh CLI. מניחים שזה מספיק.

מה לעשות: כשיוצרים PAT ל-GitHub MCP Server, חייבים לסמן גם "Copilot Requests" ברשימת ההרשאות. בלי זה — השרת לא יעבוד.

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

אם הגדרתם GitHub MCP Server עם OAuth — בדקו: לכו ל-GitHub → Settings → Applications → Authorized OAuth Apps. האם אתם רואים "GitHub Copilot MCP" ברשימה? רשמו: כן / לא

מתקדם 10 דקות חינם אסטרטגיה

ניהול MCP בארגון — מדיניות Admin (Business/Enterprise)

אם אתם עובדים בארגון עם Copilot Business או Copilot Enterprise, יש שכבה נוספת: מדיניות MCP. ה-Admin של הארגון שולט אם בכלל אפשר להשתמש בשרתי MCP, ובאילו.

הנקודות הקריטיות

תרחיש אמיתי

יוסי מנסה להגדיר GitHub MCP Server בפרויקט בעבודה. הכל מוגדר נכון — אבל Copilot לא רואה את הכלים. הוא שולח הודעה לאדמין ומגלה שמדיניות MCP כבויה. האדמין מפעיל אותה ב-"Registry only" — ויוסי חייב להשתמש רק בשרתים מה-Registry הרשמי. השרת המותאם שבנה בבית לא יעבוד בעבודה עד שהאדמין יוסיף אותו ל-allow list.

המלצות לאדמינים

אל תשכחו: מדיניות MCP חלה על VS Code ועל Copilot CLI. אם חסמתם ב-VS Code — גם ב-CLI לא יעבוד.

סיכום מדיניות MCP בטבלה

סוג חשבון ברירת מחדל מה צריך לעשות
Copilot Individual MCP מופעל כלום — מתחילים להשתמש
Copilot Business MCP כבוי Admin מפעיל ב-Settings → Policies
Copilot Enterprise MCP כבוי Admin מפעיל ברמת Enterprise (דורס Org)
Free Copilot MCP מופעל כלום — עם הגבלת premium requests
עשו עכשיו 2 דקות

אם יש לכם גישת Admin לארגון — לכו ל-Settings → Copilot → Policies → MCP Servers ובדקו מה המצב. אם אין לכם גישה — רשמו לעצמכם מה לבקש מה-Admin: "בבקשה הפעילו MCP servers in Copilot policy".

בינוני 10 דקות חינם כלי

ניפוי באגים — כשה-MCP Server לא מתחבר

לפעמים דברים לא עובדים. הנה הצ'קליסט שלכם לניפוי באגים של חיבורי MCP:

שלב 1: בדקו סטטוס שרתים

Command Palette (Ctrl+Shift+P) → MCP: List Servers. כל שרת צריך להיות Running. אם הוא Stopped או Error — יש בעיה.

שלב 2: בדקו לוגים

  1. Command Palette → Developer: Set Log Level → בחרו Trace
  2. Command Palette → Output: Show Output Channels → בחרו GitHub Copilot Chat
  3. חפשו שגיאות שקשורות ל-MCP

שלב 3: בעיות נפוצות

בעיה סימפטום פתרון
חסר npx / python / docker שרת לא מצליח לעלות התקינו את הכלי הנדרש ווודאו שהוא ב-PATH
API key לא תקין שגיאת אימות בלוגים בדקו שה-key נכון ושלא פג תוקף
Port תפוס שרת remote לא מתחבר בדקו אם תהליך אחר משתמש ב-port
MCP policy כבויה שרתים לא מופיעים כלל בקשו מה-Admin להפעיל את המדיניות
stdout מזוהם שרת מקומי מותאם לא מתחבר העבירו כל print/console.log ל-stderr
mcp.json syntax error VS Code לא טוען שום שרת בדקו JSON תקין — פסיקים, סוגריים, מרכאות

שלב 4: Debug Configuration

VS Code תומך ב-debugging ישיר של שרתי MCP ב-Node.js ו-Python. הוסיפו ל-mcp.json:

"my-server": {
  "command": "node",
  "args": ["server.js"],
  "dev": {
    "debug": {
      "type": "node"
    },
    "watch": "**/*.js"
  }
}

זה יפעיל debugger כש-VS Code מריץ את השרת, ויפעיל restart אוטומטי כשקבצי JS משתנים.

תרחיש ניפוי באגים מעשי

נניח שבניתם שרת MCP מותאם ב-Node.js, אבל Copilot לא רואה את הכלים. הנה התהליך:

  1. בדקו שהשרת עולה: הריצו node server.js בטרמינל. אם יש שגיאות — תראו אותן מיד
  2. בדקו MCP: List Servers: אם השרת לא מופיע — בדקו שה-path ב-mcp.json נכון
  3. בדקו לוגים: פתחו Output → GitHub Copilot Chat. חפשו הודעות MCP
  4. בדקו stdout: הפעילו את השרת ידנית וכתבו הודעת JSON-RPC. אם הוא מחזיר תשובה — הבעיה בהגדרה. אם לא — הבעיה בקוד
  5. בדקו stderr: אם יש console.log בקוד — העבירו ל-console.error. כל הודעה ל-stdout שאינה JSON-RPC שוברת את הפרוטוקול

טיפ מקצועי: הפעילו MCP: Reset Trust אחרי שמשנים הגדרות שרת. לפעמים VS Code שומר cache של ההגדרה הישנה ולא מזהה שינויים. אם שום דבר לא עוזר — מחקו את השרת מ-mcp.json, שמרו, ואז הוסיפו אותו מחדש. זה "איפוס מלא" שפותר את רוב הבעיות.

עוד טיפ שחוסך זמן: אם אתם עובדים עם שרת מותאם בשלבי פיתוח, הפעילו את אופציית dev.watch ב-mcp.json. היא תפעיל restart אוטומטי כל פעם שתשמרו שינויים בקבצי השרת — בלי צורך לעצור ולהפעיל ידנית כל פעם. לשרת Node.js זה עובד עם "watch": "**/*.js" ולשרת Python עם "watch": "**/*.py".

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

פתחו Command Palette → MCP: List Servers. בדקו שכל השרתים שהגדרתם בפרק הזה מראים סטטוס Running. אם משהו לא רץ — השתמשו ב-Show Output כדי לראות את השגיאה.

תרגיל 4: אינטגרציה מלאה — משימה עם MCP ב-Agent Mode

זמן: 20 דקות | תוצר: משימה שלמה שמשלבת כלי MCP חיצוני עם Agent Mode

  1. פתחו Copilot Chat ב-Agent Mode
  2. בקשו משימה מורכבת שמשלבת MCP:

    "Check my GitHub repo for open issues labeled 'enhancement'. For each one, fetch the URL from the issue body and summarize the linked page. Save the summary as a markdown file."

  3. צפו: Copilot ישתמש ב-GitHub MCP Server (issues), Fetch MCP Server (URL content), ובכלים מובנים (file creation)
  4. בדקו Configure Tools: האם הכלים הנכונים נבחרו?
  5. תעדו: רשמו אילו כלי MCP שימשו ומה היה תהליך העבודה של Agent Mode

תוצאה צפויה: הוכחה ש-Agent Mode משתמש בכלי MCP חיצוניים כחלק טבעי מתהליך העבודה.

הקשר בין MCP ל-Configure Tools

זוכרים את Configure Tools מפרק 2? עכשיו אתם מבינים את התמונה המלאה. כשאתם פותחים את Configure Tools ב-Copilot Chat, אתם רואים שלוש קבוצות של כלים:

בפרק 2 למדתם לכבות כלים מיותרים כדי לשפר ביצועים. אותו עיקרון חל על כלי MCP: אם הגדרתם 5 שרתי MCP אבל רק 2 רלוונטיים למשימה הנוכחית — כבו את השאר. ככל שיש פחות כלים זמינים, Copilot בוחר טוב יותר.

טיפ מקצועי: MCP Settings Sync

אם אתם עובדים על כמה מחשבים, הפעילו Settings Sync ב-VS Code וסמנו את אפשרות MCP Servers. ההגדרות של שרתי MCP ברמת User Profile יסתנכרנו אוטומטית. שימו לב: זה לא כולל secrets — אותם תצטרכו להזין מחדש על כל מחשב.

מתחיל 5 דקות חינם אסטרטגיה

שגרת עבודה — תחזוקת MCP

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

שגרת עבודה — MCP Servers
תדירות משימה למה
יומי בדקו סטטוס שרתי MCP: MCP: List Servers לוודא שהכל רץ לפני שמתחילים לעבוד
שבועי בדקו אם יש עדכונים לשרתי MCP מותקנים תיקוני באגים ופיצ'רים חדשים
שבועי נקו שרתים שלא השתמשתם בהם השבוע מפחית עומס על Agent Mode ומשפר tool selection
שבועי בדקו לוגים — האם יש שגיאות שחוזרות? תפסו בעיות לפני שהן משפיעות על העבודה
חודשי גלשו ב-GitHub MCP Registry — שרתים חדשים? ייתכן שנוספו כלים שחוסכים לכם זמן
חודשי עדכנו את השרת המותאם שלכם ה-SDK מתעדכן — וודאו שהכל תואם

אם אתם עושים רק דבר אחד

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

הגדירו את GitHub MCP Server (remote, OAuth) ב-.vscode/mcp.json. שלוש שורות. לחיצה אחת לאימות. ומרגע זה, Copilot יכול לחפש issues, לסקור PRs, ולמצוא קוד בכל ה-repos שלכם — ישירות מהצ'אט. זה משנה את אופן העבודה.

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

בדקו את עצמכם

5 שאלות — ענו על 4 מתוך 5 כדי לעבור
  1. למה MCP עדיף על Copilot Extensions שהיו קודם? מה היתרון המרכזי של תקן פתוח מול API ייחודי?
    (רמז: חשבו מה קורה כשרוצים לתמוך גם ב-Copilot וגם ב-Claude Code)
  2. מה ההבדל המעשי בין שרת MCP מקומי (stdio) למרוחק (HTTP)? באילו מצבים תבחרו בכל אחד?
    (רמז: חשבו על גישה למשאבים מקומיים לעומת קלות התקנה)
  3. איך שרת MCP מותאם חושף כלי חדש ל-Copilot? מה ההבדל בין Tool ל-Resource?
    (רמז: Tool = פעולה, Resource = מידע. חשבו על הדוגמה שבניתם)
  4. למה OAuth מומלץ על PAT ל-GitHub MCP Server? מה הסיכון בשימוש ב-PAT?
    (רמז: מה קורה אם PAT נחשף ב-repo ציבורי?)
  5. מה קורה כש-MCP policy כבויה בארגון ומפתח מנסה להשתמש בשרת MCP?
    (רמז: השרת בכלל לא יופיע ב-Configure Tools)

סיכום הפרק

סיכום — MCP Servers: הרחבת היכולות

בפרק הזה למדתם שפרוטוקול MCP הוא הדבר שהופך את Copilot מכלי שעובד עם מה שמותקן מראש — לפלטפורמה פתוחה שמתחברת לכל שירות. התובנה המרכזית: MCP הוא תקן פתוח, לא API ייחודי — מה שאומר שכל שרת שתבנו עובד לא רק עם Copilot, אלא גם עם Claude Code, Cursor, וכל MCP client אחר. ראיתם שההגדרה היא פשוטה (3 שורות JSON לשרת remote), שיש גלריה עשירה של שרתים מוכנים, ושבניית שרת מותאם לוקחת פחות מ-50 שורות קוד.

המסע בפרק הזה הלך מהמושג הבסיסי (מה זה MCP) דרך הגדרה מעשית (mcp.json, GitHub MCP Server) ועד בנייה עצמאית (שרת מותאם ב-Node.js או Python). למדתם את ההבדל בין שרתים מקומיים למרוחקים, הבנתם שלוש שיטות אימות, וראיתם איך מדיניות ארגונית משפיעה על השימוש. הקשר בין הכל: הכלים שראיתם בפרק 2 כשלחצתם על Configure Tools? עכשיו אתם יודעים מאיפה הם באים — ואיך להוסיף עוד. בפרק הבא נעבור ל-Copilot CLI — עבודה עם Copilot מהטרמינל, כולל שימוש בשרתי MCP שהגדרתם כאן. GitHub MCP Server מובנה ב-CLI, ותוכלו להוסיף שרתים מותאמים גם בסביבת שורת הפקודה.

מה הלאה — קריאה מומלצת

אם אתם רוצים להעמיק, הנה המשאבים הרשמיים:

עולם ה-MCP מתפתח מהר. שרתים חדשים מתווספים ל-Registry כל שבוע, היכולות גדלות (MCP Apps, Sandbox, Dev Mode), ויותר ויותר כלי AI מאמצים את הפרוטוקול. המיומנות שרכשתם בפרק הזה — הגדרה, שימוש, ובנייה של שרתי MCP — היא מיומנות שתשרת אתכם בכל כלי AI שתעבדו איתו בעתיד, לא רק ב-Copilot. ההשקעה של 3-4 שעות בפרק הזה פותחת בפניכם עולם שלם של אינטגרציות שלא היו זמינות קודם — מגישה ל-GitHub API ישירות מהצ'אט, דרך אוטומציית דפדפן, ועד בניית כלים מותאמים שפותרים בדיוק את הבעיות של הצוות שלכם.

רשימת סיום — בדקו שהשלמתם

צ'קליסט — פרק 5: MCP Servers