Skip to main content
Glama
328gili

Israeli Weather MCP Agent

by 328gili
README.md
# Israeli Weather MCP Agent

פרויקט זה מממש **MCP Server** מתקדם השולט בדפדפן (באמצעות **Playwright**) כדי לשלוף נתוני תחזית מאתר מזג האוויר הישראלי, ומנגיש אותם ל-LLM כ-**RAG** (Retrieval-Augmented Generation) לצורך מתן תשובות אנושיות ומדויקות.

---

## 🎯 מטרת הפרויקט
המטרה היא להעניק ל-LLM "ידיים" דיגיטליות: במקום להסתמך על APIs סטטיים, ה-Agent לומד לתפעל דפדפן בזמן אמת, לנווט, להקליד ולחלץ נתונים מורכבים מהאינטרנט בדיוק כפי שמשתמש אנושי היה עושה זאת.

## 🛠️ ארגז הכלים (Tools)
הפרויקט מחלק את הפעולה האנושית ל-4 כלים המופעלים ע"י ה-LLM לפי הצורך:

| כלי (Tool) | תיאור הפעולה |
| :--- | :--- |
| `open_weather_forecast_israel` | מפעיל דפדפן Chromium, מגדיר חלון מלא ומנווט לאתר. |
| `enter_weather_forecast_city_israel` | מזין את שם העיר בשדה החיפוש עם השהייה (delay) לדימוי הקלדה אנושית. |
| `select_weather_forecast_city_israel` | בוחר את העיר מהצעות ה-Autocomplete וממתין לטעינת הדף. |
| `get_forecast_content_israel` | מבצע Scraping לתוכן הדף, מנקה טקסט מיותר ומעביר ל-LLM. |

## 📐 ארכיטקטורת המערכת
המערכת מבוססת על הפרדה בין ה-**Host** (המוח המנהל) לבין ה-**MCP Server** (הידיים המבצעות):

1. **Host:** מנהל את שיחת ה-LLM (דרך OpenRouter), מנתח בקשות, ומחליט איזה כלי להפעיל.
2. **MCP Server:** מקבל פקודות JSON-RPC, מפעיל את Playwright ומחזיר תוצאות טקסטואליות.
3. **פרוטוקול תקשורת:** העברת הודעות מובנית המאפשרת הרחבה עתידית של כלים נוספים ללא שינוי ליבת המערכת.

## 🚀 הוראות הפעלה
1. **התקנת סביבת עבודה:** `uv sync`
2. **הגדרת API Key:** צרי קובץ `.env` והוסיפי: `OPENROUTER_API_KEY=sk-or-v1-...`
3. **הרצה:** `uv run host.py`

## 💡 דוגמאות לשאלות ל-Agent
- "מה מזג האוויר בטבריה?"
- "איך המזג אוויר בירושלים היום?"
- "תבדוק לי בבקשה מה התחזית בבני ברק?"

---
*פרויקט זה נבנה כחלק מהתנסות מעמיקה בפיתוח Agents מבוססי דפדפן ופרוטוקול MCP.*