Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
.idea/

# Ruff stuff:
.ruff_cache/
Expand Down
52 changes: 52 additions & 0 deletions units/he/_toctree.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
- title: "0. Welcome to the MCP Course"
sections:
- local: unit0/introduction
title: Welcome to the MCP Course

- title: "1. Introduction to Model Context Protocol"
sections:
- local: unit1/introduction
title: Introduction to Model Context Protocol (MCP)
- local: unit1/key-concepts
title: Key Concepts and Terminology
- local: unit1/architectural-components
title: Architectural Components
- local: unit1/quiz1
title: Quiz 1 - MCP Fundamentals
- local: unit1/communication-protocol
title: The Communication Protocol
- local: unit1/capabilities
title: Understanding MCP Capabilities
- local: unit1/sdk
title: MCP SDK
- local: unit1/quiz2
title: Quiz 2 - MCP SDK
- local: unit1/mcp-clients
title: MCP Clients
- local: unit1/gradio-mcp
title: Gradio MCP Integration
- local: unit1/certificate
title: Get your certificate!

- title: "2. Use Case: End-to-End MCP Application"
sections:
- local: unit2/introduction
title: Introduction to Building an MCP Application
- local: unit2/gradio-server
title: Building the Gradio MCP Server
- local: unit2/clients
title: Using MCP Clients with your application
- local: unit2/gradio-client
title: Building an MCP Client with Gradio
- local: unit2/tiny-agents
title: Building a Tiny Agent with TypeScript

- title: "3. Use Case: Advanced MCP Development"
sections:
- local: unit3/introduction
title: Coming Soon

- title: "Bonus Units"
sections:
- local: unit4/introduction
title: Coming Soon
137 changes: 137 additions & 0 deletions units/he/unit0/introduction.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# ברוכים הבאים לקורס 🤗 פרוטוקול הקשר המודל (MCP)

![תמונת קורס MCP](https://huggingface.co/datasets/mcp-course/images/resolve/main/unit0/1.png)

ברוכים הבאים לנושא המרתק ביותר בתחום הבינה המלאכותית כיום: **פרוטוקול הקשר המודל (MCP)**!

קורס חינמי זה ייקח אותך למסע, **ממתחיל למיודע**, בהבנה, שימוש ובניית יישומים עם MCP.

היחידה הראשונה תעזור לך להתחיל:

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

בואו נתחיל!

## למה לצפות מהקורס הזה?

בקורס זה, אתה:

* 📖 תלמד את פרוטוקול הקשר המודל **בתיאוריה, תכנון ובפרקטיקה.**
* 🧑‍💻 תלמד **להשתמש ב-SDK ובמסגרות MCP מבוססות**.
* 💾 **תשתף את הפרויקטים שלך** ותחקור יישומים שנוצרו על ידי הקהילה.
* 🏆 תשתתף באתגרים בהם **תעריך את יישומי ה-MCP שלך מול יישומים של סטודנטים אחרים.**
* 🎓 **תקבל תעודת סיום** על ידי השלמת המשימות.

ועוד!

בסוף הקורס הזה, תבין **איך MCP עובד ואיך לבנות את היישומים שלך עם בינה מלאכותית המנצלים נתונים חיצוניים וכלים באמצעות תקני MCP העדכניים ביותר**.

אל תשכח [**להירשם לקורס!**](https://huggingface.co/mcp-course)

## איך נראה הקורס?

הקורס מורכב מ:

* _יחידות יסוד_: בהן תלמד **מושגי MCP בתיאוריה**.
* _התנסות מעשית_: בה תלמד **להשתמש ב-SDK של MCP מבוססים** כדי לבנות את היישומים שלך. לסעיפי ההתנסות המעשית יהיו סביבות מוגדרות מראש.
* _משימות מקרה שימוש_: בהן תיישם את המושגים שלמדת כדי לפתור בעיה מהעולם האמיתי שתבחר.
* _שיתופי פעולה_: אנו משתפים פעולה עם השותפים של Hugging Face כדי להעניק לך את יישומי וכלי ה-MCP העדכניים ביותר.

**קורס זה הוא פרויקט חי, המתפתח עם המשוב והתרומות שלך!** אל תהסס לפתוח סוגיות ו-PR ב-GitHub, ולהשתתף בדיונים בשרת הדיסקורד שלנו.

## מהי תוכנית הלימודים?

להלן **תוכנית הלימודים הכללית לקורס**. רשימה מפורטת יותר של נושאים תשוחרר עם כל יחידה.

| פרק | נושא | תיאור |
| ------- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| 0 | התחלה | מכין אותך עם הכלים והפלטפורמות שבהם תשתמש. |
| 1 | יסודות MCP, ארכיטקטורה ומושגי ליבה | מסביר מושגי ליבה, ארכיטקטורה ורכיבים של פרוטוקול הקשר המודל. מציג מקרה שימוש פשוט באמצעות MCP. |
| 2 | מקרה שימוש מקצה לקצה: MCP בפעולה | בנה יישום MCP פשוט מקצה לקצה שתוכל לשתף עם הקהילה. |
| 3 | מקרה שימוש מופעל: MCP בפעולה | בנה יישום MCP מופעל באמצעות המערכת האקולוגית של Hugging Face ושירותי השותפים. |
| 4 | יחידות בונוס | יחידות בונוס שיעזרו לך להפיק יותר מהקורס, עבודה עם ספריות ושירותים של שותפים. |

## מהן דרישות הקדם?

כדי שתוכל לעקוב אחר הקורס הזה, כדאי שיהיו לך:

* הבנה בסיסית של מושגי בינה מלאכותית ו-LLM
* היכרות עם עקרונות פיתוח תוכנה ומושגי API
* ניסיון עם לפחות שפת תכנות אחת (יוצגו דוגמאות בפייתון או TypeScript)

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

* [קורס LLM](https://huggingface.co/learn/llm-course/) ינחה אותך דרך היסודות של שימוש ובנייה עם LLM.
* [קורס סוכנים](https://huggingface.co/learn/agents-course/) ינחה אותך בבניית סוכני בינה מלאכותית עם LLM.

<Tip>

הקורסים הנ"ל אינם דרישות קדם בפני עצמם, לכן אם אתה מבין את המושגים של LLM וסוכנים, אתה יכול להתחיל את הקורס עכשיו!

</Tip>

## אילו כלים אני צריך?

אתה צריך רק 2 דברים:

* _מחשב_ עם חיבור לאינטרנט.
* _חשבון_: כדי לגשת למשאבי הקורס וליצור פרויקטים. אם אין לך עדיין חשבון, תוכל ליצור אחד [כאן](https://huggingface.co/join) (זה חינם).

## תהליך ההסמכה

אתה יכול לבחור לעקוב אחר הקורס הזה _במצב צפייה_, או לעשות את הפעילויות ו_לקבל אחת משתי התעודות שנפיק_. אם אתה צופה בקורס, אתה יכול להשתתף בכל האתגרים ולעשות משימות אם תרצה, ו**אתה לא צריך להודיע לנו**.

תהליך ההסמכה הוא **לחלוטין חינם**:

* _כדי לקבל תעודה על יסודות_: עליך להשלים את יחידה 1 של הקורס. זה מיועד לסטודנטים שרוצים להתעדכן במגמות האחרונות ב-MCP, מבלי הצורך לבנות יישום מלא.
* _כדי לקבל תעודת סיום_: עליך להשלים את יחידות מקרה השימוש (2 ו-3). זה מיועד לסטודנטים שרוצים לבנות יישום מלא ולשתף אותו עם הקהילה.

## מהו הקצב המומלץ?

כל פרק בקורס זה מתוכנן **להיות מושלם בשבוע אחד, עם כ-3-4 שעות עבודה בשבוע**.

מכיוון שיש מועד אחרון, אנו מספקים לך קצב מומלץ:

![קצב מומלץ](https://huggingface.co/datasets/mcp-course/images/resolve/main/unit0/2.png)

## איך להפיק את המרב מהקורס?

כדי להפיק את המרב מהקורס, יש לנו כמה עצות:

1. [הצטרף לקבוצות לימוד בדיסקורד](https://discord.gg/UrrTSsSyjb): לימוד בקבוצות תמיד קל יותר. כדי לעשות זאת, עליך להצטרף לשרת הדיסקורד שלנו ולאמת את החשבון שלך.
2. **עשה את החידונים והמשימות**: הדרך הטובה ביותר ללמוד היא באמצעות תרגול מעשי והערכה עצמית.
3. **הגדר לוח זמנים כדי להישאר מסונכרן**: אתה יכול להשתמש בלוח הזמנים המומלץ שלנו למטה או ליצור את שלך.

![עצות לקורס](https://huggingface.co/datasets/mcp-course/images/resolve/main/unit0/3.png)

## מי אנחנו

על המחברים:

### בן בורטנשו

בן הוא מהנדס למידת מכונה ב-Hugging Face המתמקד בבניית יישומי LLM, עם גישות לאחר אימון וסוכנים. [עקוב אחרי בן ב-Hub](https://huggingface.co/burtenshaw) כדי לראות את הפרויקטים האחרונים שלו.

<!-- ## תודות -->

<!-- ברצוננו להביע את תודתנו לאנשים ולשותפים הבאים על תרומתם הרבה ותמיכתם: -->

<!-- TODO: @burtenshaw add contributors and partners -->

## מצאתי באג, או שאני רוצה לשפר את הקורס

תרומות **מתקבלות בברכה** 🤗

* אם _מצאת באג 🐛 במחברת_, אנא [פתח סוגיה](https://github.com/huggingface/mcp-course/issues/new) ו**תאר את הבעיה**.
* אם _אתה רוצה לשפר את הקורס_, אתה יכול [לפתוח בקשת משיכה](https://github.com/huggingface/mcp-course/pulls).
* אם _אתה רוצה להוסיף סעיף שלם או יחידה חדשה_, הכי טוב [לפתוח סוגיה](https://github.com/huggingface/mcp-course/issues/new) ו**לתאר איזה תוכן אתה רוצה להוסיף לפני שתתחיל לכתוב כדי שנוכל להדריך אותך**.

## עדיין יש לי שאלות

אנא שאל את השאלה שלך בשרת הדיסקורד שלנו #mcp-course-questions.

עכשיו שיש לך את כל המידע, בואו נעלה על הסיפון ⛵
85 changes: 85 additions & 0 deletions units/he/unit1/architectural-components.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# רכיבים ארכיטקטוניים של MCP

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

## מארח (Host), לקוח (Client) ושרת (Server)

פרוטוקול הקשר המודל (MCP) בנוי על ארכיטקטורת לקוח-שרת המאפשרת תקשורת מובנית בין מודלי בינה מלאכותית ומערכות חיצוניות.

![ארכיטקטורת MCP](https://huggingface.co/datasets/mcp-course/images/resolve/main/unit1/4.png)

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

### מארח (Host)

ה**מארח** הוא יישום הבינה המלאכותית שמשתמשי הקצה מתקשרים איתו ישירות.

דוגמאות כוללות:
- אפליקציות צ'אט בינה מלאכותית כמו OpenAI ChatGPT או Anthropic's Claude Desktop
- סביבות פיתוח משולבות (IDE) משופרות בבינה מלאכותית כמו Cursor, או אינטגרציות לכלים כמו Continue.dev
- סוכנים ויישומי בינה מלאכותית מותאמים אישית שנבנו בספריות כמו LangChain או smolagents

האחריות של המארח כוללת:
- ניהול אינטראקציות משתמשים והרשאות
- יצירת חיבורים לשרתי MCP באמצעות לקוחות MCP
- תזמור הזרימה הכוללת בין בקשות משתמשים, עיבוד LLM וכלים חיצוניים
- הצגת תוצאות למשתמשים בפורמט קוהרנטי

ברוב המקרים, משתמשים יבחרו את יישום המארח שלהם בהתבסס על הצרכים וההעדפות שלהם. לדוגמה, מפתח עשוי לבחור ב-Cursor בזכות יכולות עריכת הקוד החזקות שלו, בעוד שמומחי תחום עשויים להשתמש ביישומים מותאמים אישית שנבנו ב-smolagents.

### לקוח (Client)

ה**לקוח** הוא רכיב בתוך יישום המארח שמנהל תקשורת עם שרת MCP ספציפי. מאפיינים מרכזיים כוללים:

- כל לקוח מתחזק חיבור 1:1 עם שרת יחיד
- מטפל בפרטים ברמת הפרוטוקול של תקשורת MCP
- פועל כמתווך בין הלוגיקה של המארח לבין השרת החיצוני

### שרת (Server)

ה**שרת** הוא תוכנית או שירות חיצוני שחושף יכולות למודלי בינה מלאכותית באמצעות פרוטוקול MCP. שרתים:

- מספקים גישה לכלים חיצוניים ספציפיים, מקורות מידע או שירותים
- פועלים כעטיפות קלות משקל סביב פונקציונליות קיימת
- יכולים לרוץ מקומית (על אותה מכונה כמו המארח) או מרחוק (דרך רשת)
- חושפים את היכולות שלהם בפורמט סטנדרטי שלקוחות יכולים לגלות ולהשתמש בו

## זרימת תקשורת

בואו נבחן כיצד רכיבים אלה מתקשרים בזרימת עבודה טיפוסית של MCP:

<Tip>

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

</Tip>

1. **אינטראקציית משתמש**: המשתמש מתקשר עם יישום ה**מארח**, מביע כוונה או שאילתה.

2. **עיבוד מארח**: ה**מארח** מעבד את קלט המשתמש, ופוטנציאלית משתמש ב-LLM להבנת הבקשה וקביעת אילו יכולות חיצוניות עשויות להיות נדרשות.

3. **חיבור לקוח**: ה**מארח** מנחה את רכיב ה**לקוח** שלו להתחבר לשרת(ים) המתאים(ים).

4. **גילוי יכולות**: ה**לקוח** שואל את ה**שרת** לגלות אילו יכולות (כלים, משאבים, הנחיות) הוא מציע.

5. **הפעלת יכולות**: בהתבסס על צרכי המשתמש או קביעת ה-LLM, המארח מורה ל**לקוח** להפעיל יכולות ספציפיות מה**שרת**.

6. **ביצוע שרת**: ה**שרת** מבצע את הפונקציונליות המבוקשת ומחזיר תוצאות ל**לקוח**.

7. **שילוב תוצאות**: ה**לקוח** מעביר תוצאות אלו בחזרה ל**מארח**, אשר משלב אותן בהקשר עבור ה-LLM או מציג אותן ישירות למשתמש.

יתרון מרכזי של ארכיטקטורה זו הוא המודולריות שלה. **מארח** יחיד יכול להתחבר למספר **שרתים** בו-זמנית באמצעות **לקוחות** שונים. **שרתים** חדשים יכולים להתווסף למערכת האקולוגית ללא דרישה לשינויים ב**מארחים** קיימים. ניתן לחבר יכולות בקלות בין **שרתים** שונים.

<Tip>

כפי שדנו בסעיף הקודם, מודולריות זו הופכת את בעיית האינטגרציה המסורתית של M×N (M יישומי בינה מלאכותית המתחברים ל-N כלים/שירותים) לבעיה יותר ניתנת לניהול של M+N, שבה כל מארח ושרת צריכים ליישם את תקן ה-MCP רק פעם אחת.

</Tip>

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

## סיכום

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

בסעיף הבא, נחקור את פרוטוקול התקשורת המאפשר לרכיבים אלה לעבוד יחד ביעילות.
Loading