Files
2026-07-13 13:31:35 +08:00

121 lines
4.2 KiB
Markdown

# פרוטוקול הקשר למודל (MCP) מימוש בפייתון
מאגר זה מכיל מימוש בפייתון של פרוטוקול הקשר למודל (MCP), המדגים כיצד ליצור גם שרת וגם אפליקציית לקוח התקשורת באמצעות תקן MCP.
## סקירה כללית
מימוש ה-MCP מורכב משני רכיבים עיקריים:
1. **שרת MCP (`server.py`)** - שרת שמספק:
- **כלים**: פונקציות שניתן לקרוא להן מרחוק
- **משאבים**: נתונים שניתן לשלוף
- **הנחיות**: תבניות ליצירת הנחיות למודלים לשוניים
2. **לקוח MCP (`client.py`)** - אפליקציית לקוח שמתחברת לשרת ומשתמשת בתכונותיו
## תכונות
מימוש זה מדגים מספר תכונות מרכזיות של MCP:
### כלים
- `completion` - מייצר השלמות טקסט ממודלים של בינה מלאכותית (מדומה)
- `add` - מחשבון פשוט שמוסיף שני מספרים
### משאבים
- `models://` - מחזיר מידע על מודלי הבינה המלאכותית הזמינים
- `greeting://{name}` - מחזיר ברכה מותאמת אישית לשם נתון
### הנחיות
- `review_code` - מייצר הנחיה לסקירת קוד
## התקנה
כדי להשתמש במימוש MCP זה, התקן את החבילות הנדרשות:
```powershell
pip install mcp-server mcp-client
```
## הפעלת השרת והלקוח
### הפעלת השרת
הפעל את השרת בחלון טרמינל אחד:
```powershell
python server.py
```
ניתן גם להפעיל את השרת במצב פיתוח באמצעות MCP CLI:
```powershell
mcp dev server.py
```
או להתקין ב-Claude Desktop (אם זמין):
```powershell
mcp install server.py
```
### הפעלת הלקוח
הפעל את הלקוח בחלון טרמינל נוסף:
```powershell
python client.py
```
זה יתחבר לשרת וידגים את כל התכונות הזמינות.
### שימוש בלקוח
הלקוח (`client.py`) מדגים את כל יכולות ה-MCP:
```powershell
python client.py
```
זה יתחבר לשרת ויבצע את כל התכונות כולל כלים, משאבים והנחיות. הפלט יציג:
1. תוצאת כלי המחשבון (5 + 7 = 12)
2. תגובת כלי ההשלמה לשאלה "מה משמעות החיים?"
3. רשימת מודלי הבינה המלאכותית הזמינים
4. ברכה מותאמת אישית ל-"MCP Explorer"
5. תבנית הנחיה לסקירת קוד
## פרטי מימוש
השרת ממומש באמצעות API של `FastMCP`, המספק אבסטרקציות ברמה גבוהה להגדרת שירותי MCP. הנה דוגמה מפושטת לאופן הגדרת הכלים:
```python
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + b
```
הלקוח משתמש בספריית הלקוח של MCP כדי להתחבר לשרת ולקרוא לו:
```python
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})
```
## למידע נוסף
למידע נוסף על MCP, בקר בכתובת: https://modelcontextprotocol.io/
**כתב ויתור**:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש לקחת בחשבון כי תרגומים אוטומטיים עלולים להכיל שגיאות או אי-דיוקים. המסמך המקורי בשפת המקור שלו נחשב למקור הסמכותי. למידע קריטי מומלץ להשתמש בתרגום מקצועי על ידי מתרגם אנושי. אנו לא נושאים באחריות לכל אי-הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה.