israel-weather-mcp
Israel Weather MCP
תיאור הפרויקט
פרויקט זה מממש MCP Server ייעודי לשליפת תחזית מזג אוויר עבור ערים בישראל.
בניגוד למימוש המבוסס על API חיצוני, בפרויקט זה השליפה מתבצעת באמצעות Playwright, המדמה פעולה של משתמש אנושי בדפדפן: פתיחת אתר התחזית, הזנת שם עיר, בחירת העיר מתוך הרשימה הנפתחת, ושליפת נתוני התחזית מתוך דף התוצאות.
מטרת הפרויקט היא להדגים כיצד ניתן להרחיב את היכולות של LLM באמצעות MCP וכלי אוטומציה לדפדפן, כך שהמודל מסוגל לא רק לענות על שאלות אלא גם לבצע פעולות בפועל לצורך איסוף מידע.
מטרות לימודיות
במסגרת הפרויקט יושמו היכולות הבאות:
מימוש MCP Server עצמאי
חשיפת Tools לשימוש על ידי LLM
שימוש ב־Playwright לאוטומציית דפדפן
שליפת מידע מאתר אינטרנט והחזרתו בפורמט טקסטואלי נקי
טכנולוגיות
Python
MCP SDK
Playwright
Google Chrome מקומי
מבנה הפרויקט
project-template/
├── client.py
├── host.py
├── weather_USA.py
├── weather_Israel.py
└── README.md
אופן ההרצה
התקנת התלויות:
uv sync
הרצת הפרויקט:
uv run host.py
הגדרת Chrome מקומי
הפרויקט משתמש בדפדפן Chrome מקומי.
בקובץ weather_Israel.py יש להגדיר את הנתיב לקובץ ההפעלה:
LOCAL_CHROME = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
אם Chrome מותקן בנתיב אחר, יש לעדכן בהתאם.
ה־Tools שמומשו
open_weather_forecast_israel
פותח את אתר התחזית.
enter_weather_forecast_city_israel
מזין את שם העיר בשדה החיפוש.
select_weather_forecast_city_israel
בוחר את העיר מתוך רשימת ההשלמה האוטומטית.
get_weather_forecast_israel
מפעיל את רצף הפעולות המלא, מחלץ את הנתונים מהעמוד ומחזיר תחזית נקייה לשימוש ה־LLM.
דוגמאות לשאילתות
מה מזג האוויר בירושלים?
מה התחזית בחיפה?
מה מזג האוויר בתל אביב?
דוגמה לפלט
עיר: ירושלים
טמפרטורה: 11.8°
עדכון אחרון: 19:10
לחות: 71%
רוח: 15.8 קמ"ש
סיכום
הפרויקט מדגים כיצד ניתן להשתמש ב־MCP וב־Playwright כדי לאפשר ל־LLM לבצע אינטראקציה עם אתר אינטרנט אמיתי, לאסוף מידע בזמן אמת ולהחזיר תשובה ממוקדת ורלוונטית למשתמש.