Skip to main content
Glama
ls3890

Israel Weather MCP Server

by ls3890
README.md
# šŸ‡®šŸ‡± Israel Weather MCP Server — Professional Documentation

×‘×Ø×•×›×™× הבאים ×œ×¤×Ø×•×™×§×˜ **Israel Weather MCP Server**! ×¤×Ø×•×™×§×˜ זה הוא מימוש ×ž×Ŗ×§×“× של שרת **Model Context Protocol (MCP)** מקומי המשלב אוטומציה חכמה של דפדפן ×‘××ž×¦×¢×•×Ŗ **Playwright**, ×‘×ž×˜×Ø×” להפק למודיעין של מודלי שפה גדולים (LLMs) נתוני מזג אויר בזמן ××ž×Ŗ ×ž×ž×§×•×Ø×•×Ŗ ×™×©×Ø××œ×™×™×.

---

## 🌟 תכונות עיקריות (Key Features)

* **שרת MCP ×ž×•×Ŗ×× אישית (Custom MCP Server):**
  השרת נבנה על גבי ה-SDK ×”×Ø×©×ž×™ ×•×ž×’×“×™×Ø ×¤×Ø×•×˜×•×§×•×œ תקשורת ×”×˜× ×“×Ø×˜×™ ×”×ž××¤×©×Ø למודל השפה ×œ×§×Ø×•× ×œ×¤×•× ×§×¦×™×•×Ŗ (Tools) ייעודיות באופן דינמי ×Ŗ×•×š כדי שיחה.

* **××•×˜×•×ž×¦×™×™×Ŗ דפדפן חכמה עם Playwright:**
  במקום ×œ×”×”×Ŗ×ž×š על ממשקי API הטטיים או מוגבלים, ×”×ž×¢×Ø×›×Ŗ ×ž×Ø×™×¦×” דפדפן ברקע (Headless Mode), ×ž× ×•×•×˜×Ŗ באופן אוטומטי ×‘××Ŗ×Ø×™× ייעודיים למזג אויר ×‘×™×©×Ø××œ, מזינה את שם העיר בשורת החיפוש, בוחרת את התוצאה ×ž×”×Ŗ×¤×Ø×™×˜ הנפתח ×•×©×•×œ×¤×Ŗ את המידע המדויק.

* **×ž××Ø×— צ'אט ×˜×Ø×ž×™× ×œ ××™× ×˜×Ø××§×˜×™×‘×™ (`host.py`):**
  הביבת עבודה ×”×ž×§×©×Ø×Ŗ בין מודל השפה המקומי לבין כלים חיצוניים. ×”×˜×Ø×ž×™× ×œ ×ž××¤×©×Ø ניהול שיחה רציפה שבה המודל מחליט בעצמו ×ž×Ŗ×™ להפעיל את כלי חיפוש מזג האוויר כדי ×œ×¢× ×•×Ŗ לשאלה.

* **העשרת הקשר (RAG דינמי בזמן ××ž×Ŗ):**
  ×”×ž×¢×Ø×›×Ŗ קוראת את נתוני ה-HTML הגולמיים או טקהט ×ž×Ŗ×•×š עמודי התוצאה של הדפדפן ×•×ž×¢×‘×™×Ø×” ××•×Ŗ× כקונטקהט מדויק ל-LLM, כך שהתשובה ×Ŗ×ž×™×“ ×ž×¢×•×“×›× ×Ŗ לשעה הנוכחית.

---

## šŸ› ļø כלים זמינים ×‘×ž×¢×Ø×›×Ŗ (Available Tools)

×”×ž×¢×Ø×›×Ŗ חושפת בפני המודל כלים ייעודיים המופעלים ××•×˜×•×ž×˜×™×Ŗ לפי ×”×¦×•×Ø×š:
* **כלי חיפוש מזג אוויר מקומי:** מקבל שם של עיר ×‘×™×©×Ø××œ (לדוגמה: ×™×Ø×•×©×œ×™×, תל אביב, חיפה), מפעיל את הדפדפן ×ž××—×•×Ø×™ הקלעים, שואב את נתוני ×”×Ŗ×—×–×™×Ŗ המעודכנים ×ž××Ŗ×Ø×™× מובילים, ×•×ž×—×–×™×Ø ××•×Ŗ× כטקהט מובנה למודל.

---

## šŸ’» הטאק טכנולוגי (Tech Stack)

* **Python:** שפת הבהיה ×œ×¤×™×Ŗ×•×— הלוגיקה, ניהול השרת ×•×”××™× ×˜×’×Ø×¦×™×•×Ŗ.
* **Anthropic MCP SDK:** ×”×ž×”×’×Ø×Ŗ ×”×˜×›× ×•×œ×•×’×™×Ŗ ×”×ž××¤×©×Ø×Ŗ את ניהול ×”×¤×Ø×•×˜×•×§×•×œ והכלים מול ה-LLM.
* **Playwright for Python:** הפריית אוטומציה ×¢×•×¦×ž×Ŗ×™×Ŗ לשליטה מלאה בדפדפן Chromium.
* **UV Package Manager:** כלי ×ž×”×™×Ø ×•×ž×•×“×Ø× ×™ לניהול ×Ŗ×œ×•×™×•×Ŗ והביבות עבודה ×‘×¤×™×™×Ŗ×•×Ÿ.

---

## šŸ“‚ מבנה תיקיות וקבצים ×‘×¤×Ø×•×™×§×˜

```text
weather-chat_mcp/
ā”œā”€ā”€ client.py            # קליינט MCP בהיהי ×œ×‘×“×™×§×Ŗ תקשורת ישירה מול השרת
ā”œā”€ā”€ host.py              # ×”×§×Ø×™×¤×˜ ראשי ×œ×”×Ø×¦×Ŗ הצ'אט ×”××™× ×˜×Ø××§×˜×™×‘×™ ×‘×˜×Ø×ž×™× ×œ
ā”œā”€ā”€ weather_Israel.py    # שרת ה-MCP הייעודי ×œ×™×©×Ø××œ המשלב אוטומציה של Playwright
ā”œā”€ā”€ weather_USA.py       # שרת ייחוה המדגים עבודה מול API חיצוני בארה"ב
ā”œā”€ā”€ pyproject.toml       # קובׄ הקונפיגורציה והגדרת ×”×Ŗ×œ×•×™×•×Ŗ של ×”×¤×Ø×•×™×§×˜
ā”œā”€ā”€ uv.lock              # קובׄ × ×¢×™×œ×Ŗ גרהאות ×œ×”×‘×˜×—×Ŗ הביבת עבודה יציבה
└── .gitignore           # ×ž× ×™×¢×Ŗ ×”×¢×œ××Ŗ קבצים ×Ø×’×™×©×™× (כגון .env והביבות ×•×™×Ø×˜×•××œ×™×•×Ŗ)

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation5/5

Each tool performs a distinct, sequential step: opening the browser, entering a city, selecting a result, and extracting content. There is no overlap or ambiguity between them.

Naming Consistency4/5

Most tools follow a verb_weather_forecast_city_israel pattern, but extract_weather_page_content deviates by omitting 'weather_forecast' and 'israel'. The overall style is consistent snake_case with clear verbs.

Tool Count5/5

With only 4 tools, the set is tightly scoped to a single browser automation workflow. Each tool is necessary and none feel extraneous.

Completeness4/5

The tools cover the full workflow from opening the site to extracting the forecast. Minor gaps exist such as no explicit error handling or navigation to a new city, but the core process is complete.

Maintenance

ActivitySlowing
ResponsivenessNo issues