Skip to content

Latest commit

 

History

History
162 lines (120 loc) · 6.78 KB

File metadata and controls

162 lines (120 loc) · 6.78 KB

דוגמאות מלאות ללקוחות MCP

תיקייה זו מכילה דוגמאות מלאות ועובדות של לקוחות MCP בשפות תכנות שונות. כל לקוח מדגים את כל הפונקציונליות המתוארת במדריך README.md הראשי.

לקוחות זמינים

1. לקוח Java (client_example_java.java)

  • פרוטוקול תקשורת: SSE (אירועים שנשלחים מהשרת) דרך HTTP
  • שרת יעד: http://localhost:8080
  • מאפיינים:
    • יצירת חיבור ושליחת פינג
    • רשימת כלים
    • פעולות מחשבון (חיבור, חיסור, כפל, חילוק, עזרה)
    • טיפול בשגיאות והפקת תוצאות

להרצה:

# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java

2. לקוח C# (client_example_csharp.cs)

  • פרוטוקול תקשורת: Stdio (קלט/פלט סטנדרטי)
  • שרת יעד: שרת MCP מקומי של .NET באמצעות dotnet run
  • מאפיינים:
    • הפעלה אוטומטית של השרת דרך פרוטוקול Stdio
    • רשימת כלים ומשאבים
    • פעולות מחשבון
    • ניתוח תוצאות בפורמט JSON
    • טיפול מקיף בשגיאות

להרצה:

dotnet run

3. לקוח TypeScript (client_example_typescript.ts)

  • פרוטוקול תקשורת: Stdio (קלט/פלט סטנדרטי)
  • שרת יעד: שרת MCP מקומי של Node.js
  • מאפיינים:
    • תמיכה מלאה בפרוטוקול MCP
    • פעולות כלים, משאבים ופניות
    • פעולות מחשבון
    • קריאת משאבים וביצוע פניות
    • טיפול חזק בשגיאות

להרצה:

# First compile TypeScript (if needed)
npm run build

# Then run the client
npm run client
# or
node client_example_typescript.js

4. לקוח Python (client_example_python.py)

  • פרוטוקול תקשורת: Stdio (קלט/פלט סטנדרטי)
  • שרת יעד: שרת MCP מקומי של Python
  • מאפיינים:
    • שימוש בתבנית Async/await לפעולות
    • גילוי כלים ומשאבים
    • בדיקת פעולות מחשבון
    • קריאת תוכן משאבים
    • ארגון מבוסס מחלקות

להרצה:

python client_example_python.py

מאפיינים משותפים לכל הלקוחות

כל מימוש לקוח מדגים:

  1. ניהול חיבורים

    • יצירת חיבור לשרת MCP
    • טיפול בשגיאות חיבור
    • ניהול משאבים וסיום חיבור בצורה נכונה
  2. גילוי שרת

    • רשימת כלים זמינים
    • רשימת משאבים זמינים (כאשר נתמך)
    • רשימת פניות זמינות (כאשר נתמך)
  3. הפעלת כלים

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

    • שגיאות חיבור
    • שגיאות בביצוע כלים
    • כשלון בצורה חיננית ומתן משוב למשתמש
  5. עיבוד תוצאות

    • הפקת תוכן טקסטואלי מתגובות
    • עיצוב פלט לקריאות
    • טיפול בפורמטים שונים של תגובות

דרישות מוקדמות

לפני הרצת הלקוחות, ודא שיש לך:

  1. שרת MCP מתאים פועל (מתוך ../01-first-server/)
  2. תלויות נדרשות מותקנות לשפת התכנות שבחרת
  3. חיבור רשת תקין (לפרוטוקולים מבוססי HTTP)

הבדלים מרכזיים בין המימושים

שפה פרוטוקול תקשורת הפעלת שרת מודל אסינכרוני ספריות מפתח
Java SSE/HTTP חיצוני סינכרוני WebFlux, MCP SDK
C# Stdio אוטומטי Async/Await .NET MCP SDK
TypeScript Stdio אוטומטי Async/Await Node MCP SDK
Python Stdio אוטומטי AsyncIO Python MCP SDK
Rust Stdio אוטומטי Async/Await Rust MCP SDK, Tokio

צעדים הבאים

לאחר שתחקור את דוגמאות הלקוחות:

  1. שנה את הלקוחות להוספת תכונות או פעולות חדשות
  2. צור שרת משלך ובדוק אותו עם הלקוחות הללו
  3. התנסה בפרוטוקולים שונים (SSE לעומת Stdio)
  4. בנה אפליקציה מורכבת יותר שמשלבת את פונקציונליות MCP

פתרון בעיות

בעיות נפוצות

  1. חיבור נדחה: ודא ששרת MCP פועל על הפורט/נתיב הצפוי
  2. מודול לא נמצא: התקן את MCP SDK הנדרש לשפה שלך
  3. הרשאה נדחתה: בדוק הרשאות קבצים עבור פרוטוקול Stdio
  4. כלי לא נמצא: ודא שהשרת מיישם את הכלים הצפויים

טיפים לדיבוג

  1. הפעל לוגים מפורטים ב-MCP SDK שלך
  2. בדוק לוגים של השרת להודעות שגיאה
  3. וודא שמות כלים וחתימות תואמים בין הלקוח לשרת
  4. בדוק עם MCP Inspector תחילה כדי לוודא את תקינות השרת

תיעוד קשור

כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש להיות מודעים לכך שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור הסמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.