mcp-playwright-weather-israel
mcp-playwright-weather-israel
פרויקט MCP Server לשליפת תחזית מזג אוויר ישראלית באמצעות Playwright.
מטרת הפרויקט
הפרויקט מממש MCP Server (Model Context Protocol) בשפת Python, המאפשר ל-LLM (Gemini של Google) לשלוף תחזית מזג אוויר ישראלית מהאתר weather2day.co.il — ללא תלות ב-API חיצוני.
השרת משתמש ב-Playwright לאוטומציה של דפדפן Chromium: פתיחת האתר, הזנת שם עיר, בחירה מהרשימה הנפתחת וחילוץ תוכן התחזית. ה-LLM מקבל את הטקסט המנוקה ומסכם אותו למשתמש.
ארכיטקטורת MCP
┌─────────────┐ ┌──────────────┐ ┌─────────────────────┐
│ המשתמש │──────▶│ host.py │──────▶│ weather_Israel.py │
│ (client) │ │ (MCP Host) │ │ (MCP Server) │
└─────────────┘ └──────────────┘ └─────────────────────┘
│ │
│ ▼
│ ┌─────────────────────┐
│ │ Playwright/Chromium│
│ │ weather2day.co.il │
│ └─────────────────────┘
│
▼
┌──────────────┐
│ weather_ │
│ USA.py │
│ (MCP Server)│
└──────────────┘רכיבים
קובץ | תפקיד |
| MCP Host — מנהל את השיחה עם ה-LLM ומחבר בין מספר MCP Servers |
| ממשק משתמש טקסטואלי לשיחה עם ה-LLM |
| MCP Server — חושף 4 כלים לשליפת תחזית ישראלית |
| MCP Server קיים לתחזית אמריקאית |
4 הכלים של weather_Israel.py
כלי | תיאור |
| פותח דפדפן Chromium ומנווט לאתר התחזית |
| מזין שם עיר בשדה החיפוש וממתין לרשימה הנפתחת |
| בוחר את הפריט הראשון ברשימה ומנווט לדף התחזית |
| מחלץ ומנקה את תוכן התחזית מהדף |
התקנה
דרישות מקדימות
Python 3.11+
uv — מנהל חבילות Python
התקנת תלויות
# התקנת כל התלויות מ-pyproject.toml
uv sync
# התקנת דפדפן Chromium עבור Playwright
uv run playwright install chromiumהרצה
הפעלת המערכת המלאה (מומלץ)
uv run python host.pyהפקודה מפעילה את ה-MCP Host, שבתורו מאתחל את כל ה-MCP Servers (כולל weather_Israel.py) ופותח ממשק שיחה עם ה-LLM.
הפעלת שרת מזג האוויר הישראלי בנפרד
uv run python weather_Israel.pyמפעיל את weather_Israel.py כ-MCP Server עצמאי (בדרך כלל לצורך פיתוח ובדיקות).
הרצת בדיקות
# כל הבדיקות
uv run pytest tests/ --tb=short
# עם פירוט מלא
uv run pytest tests/ -v
# בדיקות property בלבד (hypothesis)
uv run pytest tests/ -v -m "hypothesis"דוגמאות שאלות ל-LLM
לאחר הפעלת host.py, ניתן לשאול את ה-LLM שאלות כגון:
תחזית כללית לעיר:
"מה מזג האוויר בתל אביב היום?"
השוואה בין ערים:
"מהי התחזית לירושלים לסוף השבוע, ואיך היא שונה מחיפה?"
תכנון פעילות חוצות:
"האם מומלץ לצאת לטיול בפארק ביום ראשון הקרוב באילת?"
תחזית גשם:
"מתי צפוי גשם בחדרה השבוע?"
מזג אוויר בצפון הארץ:
"מה הטמפרטורות הצפויות בצפת ובטבריה בשלושת הימים הקרובים?"
מבנה הפרויקט
.
├── host.py # MCP Host
├── client.py # ממשק משתמש
├── weather_Israel.py # MCP Server — תחזית ישראל
├── weather_USA.py # MCP Server — תחזית ארה"ב
├── pyproject.toml # הגדרות הפרויקט ותלויות
├── uv.lock # קובץ נעילת גרסאות
├── README.md # תיעוד זה
└── tests/
├── conftest.py # fixtures משותפות
├── test_weather_israel_tools.py # unit tests לכלים
└── test_weather_israel_cleanup.py # tests לפונקציית הניקוירישיון
פרויקט זה פתוח לשימוש חופשי לצרכי לימוד ופיתוח.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shoshi-raz/mcp-playwright-weather'
If you have feedback or need assistance with the MCP directory API, please join our Discord server