Weather Israel MCP
🌦️ Wetter Israel MCP
Ein MCP-Projekt (Model Context Protocol), das es LLMs ermöglicht, Wettervorhersagen für Städte in Israel abzurufen – direkt über den Browser, ohne API, mithilfe von Playwright.
🎯 Projektziel
Anstatt sich auf eine eingebaute API zu verlassen, öffnet der Agent einen Chrome-Browser, navigiert zur Website weather2day.co.il, sucht eine Stadt, wählt sie aus der Liste aus – und liest dann den Seiteninhalt, um eine vollständige Vorhersage zu liefern.
Related MCP server: Israeli Weather MCP
🛠️ Technologie-Stack
Tool | Rolle |
Einrichtung von Tools und Ausführung des MCP-Servers | |
Browsersteuerung – Navigation, Eingabe, Klicks | |
Sprachmodell, das das Gespräch führt | |
Verwaltung der Umgebung und Abhängigkeiten |
📁 Projektstruktur
project-template/
├── client.py # MCP Client גנרי — מתחבר לשרתי MCP
├── host.py # צ'אט טרמינל שמחבר את הכל יחד
├── weather_USA.py # MCP Server לתחזית ארה"ב (דרך NWS API)
├── weather_Israel.py # MCP Server לתחזית ישראל (דרך Playwright)
├── .env # מפתח API (לא מועלה ל-Git)
└── pyproject.toml # תלויות הפרויקט🚀 Projektausführung
1. Abhängigkeiten installieren
uv sync2. Chrome-Browser für Playwright installieren
uv run playwright install chromium3. API-Schlüssel konfigurieren
Erstelle eine Datei .env im Verzeichnis:
OPENAI_API_KEY=your_openai_api_key_here4. Ausführen
uv run host.py💬 Beispielfragen
Query: what is the weather in Jerusalem?
Query: מה התחזית לתל אביב?
Query: האם גשום היום בחיפה?
Query: what is the weather forecast for Bnei Brak?
Query: what are the weather alerts in NY?
Query: what is the forecast for latitude 40.7, longitude -74.0?🧩 Die Tools des Wetter-Israel-MCP
Tool | Beschreibung |
| Öffnet einen Browser und navigiert zur Wetter-Website |
| Gibt einen Stadtnamen in das Suchfeld ein |
| Wählt die passende Stadt aus der Dropdown-Liste aus |
| Liest den Seiteninhalt und liefert die Vorhersage an das LLM (RAG) |
🧩 Die Tools des Wetter-USA-MCP
Tool | Beschreibung |
| Liefert Wetterwarnungen basierend auf dem Staatscode (z. B. |
| Liefert eine Vorhersage basierend auf geografischen Koordinaten |
Available Tools
4 toolsenter_weather_forecast_city_israelC
הזנת שם העיר בשדה החיפוש.
| Name | Required | Description | Default |
|---|---|---|---|
| city_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It reveals only that a city name is typed into a search field, but does not disclose whether the action submits, overwrites existing text, requires a loaded page, or is idempotent. This is a thin behavioral disclosure for an action tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short and front-loaded with no fluff, but it is under-specified. It is not as egregious as a one-word tautology, yet there is no room for waste while important behavioral and workflow context is missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no annotations or output schema, the basic target is present, but the description fails to explain where this action fits in a workflow (before select? after open?) and what happens after entering the name. An agent cannot confidently sequence this tool among its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It only repeats 'city name' (which equals the property name city_name) and adds the marginal context that the value goes into the search field. No format, example, language, or acceptable values are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The Hebrew description, 'Entering the city name in the search field,' clearly states a specific action and resource, making the core purpose understandable. It does not explicitly contrast with sibling tools like select_weather_forecast_city_israel or open_weather_forecast_israel, but the verb 'enter' differentiates it from 'select' and 'open' enough for a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to call this tool versus the siblings: there is no mention of a preceding open action or a following select/extract step. The workflow context is only implied by the tool name, not stated in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_weather_data_from_pageA
מחלץ את תוכן הטקסט מהדף הנוכחי כדי שה-LLM יוכל לקרוא את התחזית. זהו שלב ה-RAG שמספק קונטקסט למודל.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the core behavior—extracting text and providing context—but does not mention prerequisites, side effects, or limitations. For a zero-parameter read operation this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, purposeful sentences that front-load the action and explain why the tool exists. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is serviceable for a simple zero-parameter tool, but it omits the prerequisite that a weather page must already be open and does not describe the output format, which would help an agent sequence it correctly among the sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline is 4. The description adds no parameter details, but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('extracts') and resource ('text content from the current page'), with a clear purpose: letting the LLM read the forecast. It is distinguishable from the sibling navigation tools, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'RAG stage' phrase implies the tool is an intermediate step after a page is loaded and before the model uses the forecast, but there is no explicit when-to-use or when-not-to-use guidance relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_weather_forecast_israelA
פתיחת האתר וניווט לדף התחזית.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior: opening the site and navigating to the forecast page. However, with no annotations, it does not mention potential side effects, whether the page is displayed, or what success/failure looks like. For a simple navigation tool this is acceptable but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short, focused sentence with no filler or redundant information. It earns its place by clearly stating the action and target page.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter navigation tool with no output schema, the description is largely complete. It communicates the intended action, though it would benefit from a brief note about being the initial step in a multi-step weather lookup flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so there are no parameter semantics to document. The description therefore does not need to add parameter-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The Hebrew description translates to 'Opening the website and navigating to the forecast page,' which states a clear action and destination. It is distinguishable from sibling tools like enter_weather_forecast_city_israel and extract_weather_data_from_page, though it does not explicitly name the website.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the sibling tools, or any workflow context such as 'use this first before entering a city.' The description implies a navigation step but provides no explicit selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_weather_forecast_city_israelB
בחירת העיר מהרשימה הנפתחת.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of explaining behavior. It only names the selection action and does not disclose side effects, prerequisites such as whether the dropdown must already be open, or what happens after selection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short, front-loaded sentence with no filler or repetition. It is concise enough for a trivial UI action, though it is somewhat thin in substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-input, no-output-schema UI action, the description is mostly adequate, but it omits the source of the target city value and prerequisites like an already-open dropdown. The action is identifiable, yet not fully contextualized among its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter-level information for the description to add. This matches the baseline for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The Hebrew description states a concrete action with a resource: selecting the city from a dropdown list. It is clear what the tool does and subtly differentiates this from the 'enter' sibling, though the distinction is not made explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from the dropdown list' implies this is used when a list of cities is available and a choice must be made, but the description gives no explicit when-to-use or when-not-to-use guidance relative to open, enter, or extract siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.1.0- First observed
enter_weather_forecast_city_israel - First observed
extract_weather_data_from_page - First observed
open_weather_forecast_israel - First observed
select_weather_forecast_city_israel
TDQS
Scored across 4 tools
Each tool represents a distinct step in a clear browser workflow: open the site, enter a city, select a city, and extract text. Even though enter and select both relate to city input, their descriptions clearly distinguish typing into a search field from choosing from a dropdown.
All tool names use snake_case with a verb-noun structure, but the object naming is slightly inconsistent: three names end with 'city_israel' or 'israel', while the extract tool uses 'weather_data_from_page' and drops the location marker. Overall the pattern is readable and predictable.
With only 4 tools, the server is tightly scoped to a single weather-forecast retrieval workflow. Each tool earns its place as a necessary step, and the count is well within the ideal range for a focused server.
The tools cover the core lifecycle of opening the forecast page, entering and selecting a city, and extracting the forecast text for the model. Minor gaps exist, such as no explicit retry, reset, or alternate navigation tool, but the primary user journey is fully supported.
Maintenance
Related MCP Connectors
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
MCP server for weather with reasoning — umbrella advice, outdoor checks, city comparisons.
The official Model Context Protocol server for Ambee. It gives any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, VS Code, Ollama, and more direct access to live air quality, pollen, and weather data. To get started, including information on signing up and obtaining your Ambee key, check out the Ambee documentation on https://docs.ambeedata.com
Weather MCP — wraps Open-Meteo API (free, no auth)
Related MCP Servers
- FlicenseAqualityDmaintenanceMCP server enabling LLMs to fetch Israeli weather forecasts by automating a browser with Playwright to scrape weather2day.co.il.4-
- FlicenseNot gradedqualityCmaintenanceMCP server that lets users obtain current Israeli city weather forecasts. It uses Playwright to browse Weather2day, extract the forecast page, and feed the cleaned data back to the LLM for natural language responses.-
- FlicenseAqualityCmaintenanceAn MCP server that provides real-time weather data for Israel by automating browser searches via Playwright. It allows LLMs to get current forecasts for Israeli cities through natural language queries.4-
- FlicenseBqualityCmaintenanceMCP server that enables LLMs to retrieve weather forecasts for Israeli cities by automating a browser with Playwright, and also provides US weather alerts and forecasts via NWS API.4-