Weather Israel MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Weather Israel MCP Serverwhat's the weather in Tel Aviv?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP עם Playwright — תחזית מזג אוויר לישראל
פרויקט זה מממש שרת MCP (Model Context Protocol) שמאפשר למודל שפה לגשת לנתוני מזג אוויר עדכניים בישראל באמצעות אוטומציית דפדפן עם Playwright, במקום API סטנדרטי.
בנוסף קיים שרת MCP מקביל לארה״ב (NWS API), והמארח (host.py) מחבר את שני השרתים לסוכן שיחה אחד שיודע לנתב שאילתות בהתאם למדינה.
תיאור הפרויקט
בניגוד לשימוש ב־API קבוע, השרת הישראלי:
פותח דפדפן Chromium (גלוי לעין)
מנווט לאתר Weather2Day
מחפש עיר, בוחר תוצאה מהרשימה
מחלץ את תוכן הדף כטקסט נקי
מעביר את הטקסט למודל השפה כקונטקסט (RAG דינמי)
קבצים עיקריים
קובץ | תפקיד |
| שרת FastMCP בשם |
| שרת FastMCP לתחזיות/התראות ארה״ב דרך NWS |
| לקוח MCP גנרי (stdio) |
| ממשק הצ׳אט שמחבר LLM לכלי ה־MCP |
| תלויות הפרויקט לניהול עם |
| הגדרות ספק ה־LLM (Ollama / Gemini) |
כלי השרת הישראלי (4 Tools)
open_weather_forecast_israel— פתיחת דפדפן וניווט לדף התחזיתenter_weather_forecast_city_israel(city_name)— הקלדת שם העיר בתיבת החיפושselect_weather_forecast_city_israel— בחירת התוצאה הראשונה מה־dropdownextract_weather_data_israel— חילוץ טקסט נקי מהדף עבור המודל
Related MCP server: Israel Weather MCP Agent
דרישות מקדימות
התקנה והרצה מקומית עם Ollama ו־uv
1. סנכרון תלויות
uv sync2. התקנת דפדפן Chromium ל־Playwright
uv run playwright install chromium3. התקנת מודל ב־Ollama
ollama pull llama3.2ודאו ש־Ollama רץ (בדרך כלל על http://127.0.0.1:11434).
4. הגדרת קובץ .env
העתיקו את הקובץ לדוגמה:
copy .env.example .envערכו את .env כך:
LLM_PROVIDER=ollama
OLLAMA_MODEL=llama3.2
OLLAMA_HOST=http://127.0.0.1:11434אופציונלי: אפשר גם
LLM_PROVIDER=geminiעם מפתח חינמי מ־Google AI Studio.
5. הרצת המארח (Host)
uv run host.pyלאחר ההרצה יופיע ממשק צ׳אט בטרמינל. הקלידו שאלה בעברית או באנגלית, או quit ליציאה.
דוגמה להרצה מוצלחת
שאלה:
What is the weather in Jerusalem?או בעברית:
מה מזג האוויר בירושלים?מה שקורה מאחורי הקלעים:
המודל מזהה שמדובר בעיר בישראל ומפעיל את ארבעת הכלים בסדר:
[Calling tool weather_Israel__open_weather_forecast_israel with args {}]
[Calling tool weather_Israel__enter_weather_forecast_city_israel with args {'city_name': 'ירושלים'}]
[Calling tool weather_Israel__select_weather_forecast_city_israel with args {}]
[Calling tool weather_Israel__extract_weather_data_israel with args {}]תוצאה לדוגמה (מתוך חילוץ חי מהאתר):
Selected city forecast page: https://www.weather2day.co.il/jerusalem
מזג אוויר ירושלים
24.5°
רוח: 13.3 קמ"ש (צפון מערבי)
לחות: 46%
תחזית לשבוע הקרוב: טמפרטורות מקסימום סביב 32–36°הדפדפן נפתח באופן גלוי (headless=False) כך שניתן לצפות באוטומציה בזמן אמת, והמודל מסכם את הטקסט שחולץ לתשובה קריאה למשתמש.
מבנה הזרימה
משתמש → host.py (Ollama/Gemini)
├─ weather_USA.py (API של NWS)
└─ weather_Israel.py (Playwright → weather2day.co.il)המארח אוסף את כל הכלים משני השרתים, מציג אותם למודל, ומנתב קריאות כלים חזרה לשרת הנכון.
שאלת בונוס
שאלה: איזו ספרייה "ישנה" קיבלה דחיפה מחודשת בעידן ה־AI?
תשובה: ספריות כמו BeautifulSoup ו־Scrapy.
בעבר הן שימשו בעיקר לסקראפינג קלאסי של אתרים. בעידן ה־AI הן קיבלו חיים חדשים כחלק מצינורות RAG וסוכנים: לפני שמזינים מסמכי אינטרנט למודל שפה, צריך לחלץ טקסט נקי מ־HTML. BeautifulSoup מאפשרת לפרסר דפים ולנקות רעש (תפריטים, סקריפטים, פרסומות), ו־Scrapy מאפשרת לזחול ולאסוף תוכן בקנה מידה גדול. כך ספריות "ותיקות" הפכו לרכיב מרכזי באיסוף קונטקסט איכותי עבור LLMs — לצד כלים חדשים יותר כמו Playwright, שמתאימים במיוחד לאתרים דינמיים (כמו בפרויקט זה).
הערות טכניות
השרת הישראלי שומר מצב גלובלי של Playwright (
playwright_context,browser,page) כדי שהדפדפן יישאר פתוח בין קריאות כלים עוקבות.חיפוש ערים באתר Weather2Day עובד בעיקר בעברית; הפרויקט ממיר שמות ערים נפוצים באנגלית (למשל
Jerusalem→ירושלים).להרצות בדיקה אוטומטיות אפשר להגדיר
WEATHER_ISRAEL_HEADLESS=1.
רישיון / הגשה
הפרויקט הוגש כחלק ממטלת MCP עם Playwright לתחזית מזג אוויר בישראל.
Available Tools
4 toolsenter_weather_forecast_city_israelC
Type a city name into the weather2day search box.
Args: city_name: City name to search for (Hebrew or English), e.g. ירושלים or Jerusalem.
| Name | Required | Description | Default |
|---|---|---|---|
| city_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, such as side effects or state changes. It only describes input format (Hebrew/English) but does not explain what happens after entering the city name (e.g., whether it triggers a search, modifies state, or returns data).
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 concise, with two sentences and a clear args list. It avoids unnecessary detail, though the first sentence could be merged with the args explanation. Overall, it is well-structured and efficient.
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?
Given the tool has one parameter and an output schema (not described), the description omits what the tool returns or how it fits with siblings. It lacks context about the tool's role in the weather forecast workflow (e.g., input step before opening or selecting).
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 schema has no description for 'city_name' (0% coverage). The description adds useful semantics: 'City name to search for (Hebrew or English), e.g. ירושלים or Jerusalem.' This clarifies supported languages and provides concrete examples, compensating well for the lack of schema documentation.
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 says 'Type a city name into the weather2day search box,' which implies the tool inputs a city name for weather forecast, but it does not explicitly state the tool's function. The purpose is inferred from the name and action, but lacking direct clarity.
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 provided on when to use this tool versus its siblings (e.g., select_weather_forecast_city_israel, open_weather_forecast_israel). The description does not mention alternatives or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_weather_data_israelA
Extract clean inner text from the current Israel weather page for LLM context.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It mentions 'current page' but does not explain if it navigates, modifies state, or requires prior actions. The output schema likely clarifies return format, but behavior is only partially described.
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, efficient sentence that front-loads key information. Every word adds value with no redundancy.
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?
Given no parameters and an output schema, the description is minimal. It lacks context about prerequisites (e.g., whether the page must already be loaded) and does not explain how it relates to sibling tools. Adequate but could be more complete.
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 schema coverage is 100%. The description adds no parameter info, but none is needed. Baseline is 4 for zero-parameter tools.
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 explicitly states the verb 'extract', the resource 'clean inner text from the current Israel weather page', and the purpose 'for LLM context'. It clearly differentiates from sibling tools that deal with navigating or selecting forecast cities.
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 on when to use this tool versus siblings like open_weather_forecast_israel or select_weather_forecast_city_israel. It does not mention any prerequisites or when extraction is appropriate.
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
Launch a persistent Chromium browser and open the Israel weather forecast page.
Opens https://www.weather2day.co.il/forecast in a visible (non-headless) browser so subsequent Israel weather tools can reuse the same session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the browser is visible (non-headless) and persistent for session reuse. No annotations, but description covers key behavioral aspects. Does not mention any potential side effects, but launch action is non-destructive.
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 paragraphs with clear front-loading of purpose. Could be slightly more concise, but no wasted sentences.
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?
Given tool has no parameters and output schema likely describes return, description is complete. It covers the essential context: persistent session for reuse.
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?
No parameters; schema covers 100% of zero params. Description adds value by specifying the exact URL and browser mode, going beyond schema.
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 clearly states it launches a persistent Chromium browser and opens a specific URL for Israel weather forecast. It distinguishes from sibling tools by indicating this is the setup step for subsequent tools to reuse the session.
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?
Explicitly states to use before subsequent Israel weather tools. While no explicit when-not or alternatives, the context of sibling tools (enter, select, extract) implies this is the prerequisite opener.
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_israelA
Click the first city suggestion in the dropdown and wait for the forecast page.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description mentions a UI click and wait, but lacks details on prerequisites (e.g., dropdown visibility) or failure handling.
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?
Single sentence, directly on point, no wasted words.
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?
With zero parameters and an output schema, the description is complete for this simple UI step; it tells the agent exactly what to do without needing further elaboration.
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?
No parameters exist; the description fully explains the tool's action, leaving no ambiguity about what it does.
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 clearly states it clicks the first city suggestion and waits for the forecast page, distinguishing it from sibling tools like enter (typing) and extract (data extraction).
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 description implies use after entering a city and before extracting data, but does not explicitly state when to use or not use it, nor mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a distinct purpose in a sequential workflow: open browser, enter city, select suggestion, extract data. No overlap or ambiguity.
All tool names follow the verb_..._israel pattern with snake_case, maintaining a consistent style across the set.
4 tools is appropriate for the simple workflow of opening a browser, searching for a city, selecting, and extracting data. Not over- or under-scoped.
Covers the primary workflow well, but lacks a tool to close the browser or handle errors, which is a minor gap for real-world use.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Get current weather for any city and create images from your prompts. Streamline planning, reports…
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabili…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables querying real-time weather data for Israeli cities through natural language, using Playwright to scrape weather2day and Gemini LLM to answer.
- FlicenseNot gradedqualityDmaintenanceEnables users to retrieve real-time weather forecasts for Israeli cities by autonomously browsing a weather website using Playwright.
- FlicenseNot gradedqualityCmaintenanceProvides LLMs with real-time weather forecasts for Israeli cities using browser automation with Playwright to scrape live data from a weather website.
- FlicenseNot gradedqualityCmaintenanceEnables LLMs to retrieve Israeli weather forecasts by controlling a browser via Playwright and scraping data from an Israeli weather website.
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/Rivka55/Weather-MCP-with-Playwright'
If you have feedback or need assistance with the MCP directory API, please join our Discord server