Israel Weather MCP Server 🌦️🇮🇱
פרויקט זה מממש שרת MCP (Model Context Protocol) המאפשר למודלי שפה (LLMs) לגשת ישירות לנתוני מזג אוויר עדכניים בישראל באמצעות אוטומציה של דפדפן (Playwright).
בניגוד לשימוש ב-API סטנדרטי, השרת פותח דפדפן, מנווט לאתר Weather2Day, ומחלץ את המידע הרלוונטי בצורה דינמית.
🚀 תכונות עיקריות
- אוטומציה מלאה: ניווט באתר, התמודדות עם חלוניות Cookies וחיפוש ערים.
- יכולות RAG: חילוץ תוכן טקסטואלי מהדף כדי לאפשר למודל לספק תשובות מפורטות ומדויקות.
- ממשק FastMCP: פיתוח מהיר ונוח על בסיס ה-SDK הרשמי.
🛠️ טכנולוגיות
- Python 3.10+
- MCP SDK
- Playwright (אוטומציה של דפדפן)
- FastMCP
📦 התקנה והרצה
- סנכרון סביבת העבודה:
ודאו שמותקן אצלכם
uvוהריצו:uv sync - התקנת דפדפן Playwright הריצו את הפקודה הבאה כדי להתקין את המנוע של Chromium הדרוש לפעולת הסוכן:
uv run playwright install chromium
3. הרצת ה-Host
כדי להתחיל לדבר עם ה-Agent, הריצו את קובץ המארח (Host):
Bash
uv run host.py
🔍 דוגמאות לשאלות שה-Agent יודע לענות
לאחר הרצת ה-Host, תוכלו לשאול בטרמינל שאלות כגון:
"מה מזג האוויר עכשיו בירושלים?"
"האם צפוי גשם בבני ברק ביומיים הקרובים?"
"תן לי תחזית מפורטת לתל אביב להיום."
"מה הטמפרטורה המקסימלית המתוכננת בחיפה?"
🏗️ מבנה הפרויקט
weather_Israel.py: שרת ה-MCP המכיל את הכלים (Tools) לשליטה בדפדפן וחילוץ התוכן מהאתרים הרלוונטיים.
host.py: הממשק המרכזי שמחבר בין ה-LLM (Claude) לבין שרתי ה-MCP.
client.py: מחלקת לקוח גנרית המנהלת את התקשורת מול השרתים.
⚠️ הערה למשתמשי נטפרי
הקוד כולל הגדרות תואמות עבור משתמשי NetFree (ביטול אימות SSL ב-httpx) כדי לאפשר עבודה חלקה עם ה-API של Anthropic וגלישה באתרים בסביבה מסוננת.
💡 דגשים טכניים
שימוש ב-RAG: הסוכן משתמש בכלי get_weather_page_content כדי לחלץ טקסט גולמי מהאתר ולהעשיר את הקונטקסט של המודל במידע עדכני.
אוטומציה: הפרויקט מדמה פעולות אנושיות כמו הקלדה והמתנה לאלמנטים (Selectors) כדי להבטיח אמינות גבוהה בשליפת הנתונים.