mcp-playwright-weather-israel
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., "@mcp-playwright-weather-israelWhat's the weather in Tel Aviv today?"
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-weather-israel
פרויקט MCP Server לשליפת תחזית מזג אוויר ישראלית באמצעות Playwright.
מטרת הפרויקט
הפרויקט מממש MCP Server (Model Context Protocol) בשפת Python, המאפשר ל-LLM (Gemini של Google) לשלוף תחזית מזג אוויר ישראלית מהאתר weather2day.co.il — ללא תלות ב-API חיצוני.
השרת משתמש ב-Playwright לאוטומציה של דפדפן Chromium: פתיחת האתר, הזנת שם עיר, בחירה מהרשימה הנפתחת וחילוץ תוכן התחזית. ה-LLM מקבל את הטקסט המנוקה ומסכם אותו למשתמש.
Related MCP server: MCP Playwright Weather Israel
ארכיטקטורת 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 לפונקציית הניקוירישיון
פרויקט זה פתוח לשימוש חופשי לצרכי לימוד ופיתוח.
Available Tools
4 toolsenter_weather_forecast_city_israelB
Enters city name in the search field and waits for dropdown to appear.
Args: city_name: Name of the city to search for.
Returns: Success message if city entered and dropdown appeared, error message otherwise.
| 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 carries the full burden of behavioral disclosure. It does disclose that the tool waits for the dropdown to appear and returns a success or error message. However, it omits important details such as prerequisites (e.g., the page must be open), what happens if the dropdown never appears, and whether the action has side effects beyond entering text.
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 and well-structured with Args and Returns sections. It avoids redundancy and is appropriately sized for a tool with a single parameter. The only minor issue is a slight redundancy between the stated returns and the presence of an output schema, but overall it is 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?
For a tool with one parameter, the description covers the basic action and result, but it lacks workflow context. It does not mention that this is part of a sequence (open → enter → select → get), nor does it specify preconditions such as the search field being visible or the page having been opened. The dropdown appearance condition is stated, but failure modes and prerequisites are lacking.
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 must compensate for the parameter. The Args section adds only a minimal explanation ('Name of the city to search for'), which adds little beyond the schema title 'City Name'. It does not specify acceptable formats, the Israeli city context, or that the input should match a dropdown option.
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 the tool's action ('Enters city name in the search field') and the resource being acted upon, and it waits for a dropdown. This specific verb+resource structure distinguishes it from sibling tools like 'open,' 'select,' and 'get content,' which represent different actions in the workflow.
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 provides no explicit guidance on when to use this tool versus alternatives. It does not mention that it should follow 'open_weather_forecast_israel' or precede 'select_weather_forecast_city_israel'. The usage context is only implied by the tool name and sibling list, 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.
get_weather_forecast_content_israelA
Extracts and cleans the weather forecast content from the page.
Returns: Cleaned weather forecast text content, error message otherwise.
| 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 provided, the description carries the full burden of behavioral disclosure. It mentions the return value (cleaned text or error) but does not disclose side effects, safety (read-only), or any operational constraints such as the need for a loaded page. This leaves significant behavioral ambiguity.
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 two sentences with no redundancy. It front-loads the core purpose and includes a return-value note. Every word earns its place.
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 tool has no parameters and a plausible output schema, and the description states the return behavior. However, it lacks workflow context: it does not explain how it fits with the sibling tools or what conditions must be met before invoking it (e.g., page must be open). This leaves a gap for an agent deciding when to call it.
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 zero parameters in the input schema, and schema coverage is 100% (empty). No parameter explanation is needed, and the baseline for zero parameters is 4. The description adds no param semantics, but none are required.
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 uses a specific verb ('extracts and cleans') and identifies the resource ('weather forecast content from the page'), clearly distinguishing it from siblings like open/enter/select weather forecast tools. It is concise and unambiguous.
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 on when to use this tool or how it relates to the sibling tools. It does not mention prerequisites (e.g., 'after opening the page') or explicitly tell the agent when to prefer this over alternatives. The phrase 'from the page' implied a precondition but is not made explicit.
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
Opens browser and navigates to Israeli weather forecast site.
Returns: Success message if browser opened and page loaded, error message otherwise.
| 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 provided, the description must disclose the tool's behavior itself. It does state that it opens a browser and navigates, and describes the success/error outcomes. However, it lacks any additional behavioral context such as prerequisites (e.g., GUI environment), network reliance, or potential side effects beyond opening the browser. This meets the minimum viable standard but does not go further.
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 extremely concise: one sentence describing the action and a clear 'Returns' section. Every word earns its place, with no redundancy or extraneous information. The structure front-loads the primary purpose immediately.
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 tool with no parameters and an output schema (per context signals), the description covers all essential information: what the tool does and the possible return states. It does not need to explain return values in detail because the output schema presumably handles that. The description is fully adequate for the tool's simplicity.
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, so the input schema is empty. The description correctly adds no parameter information, and the baseline for tools with no parameters is 4. There are no parameter semantics to clarify, so the score reflects that the description appropriately handles the absence of parameters.
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 the tool's action: 'Opens browser and navigates to Israeli weather forecast site.' The verb 'opens' and specific resource ('Israeli weather forecast site') distinguish it from sibling tools that enter/select city or get content, making the purpose unambiguous.
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 provides no guidance on when to use this tool versus the sibling tools (enter_weather_forecast_city_israel, select_weather_forecast_city_israel, get_weather_forecast_content_israel). It simply describes the action, leaving the agent to infer that this is likely the initial step, but no explicit 'when' or alternative guidance is given.
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
Selects the first item from the dropdown and waits for forecast page to load.
Returns: Success message with selected city name, error message otherwise.
| 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 to rely on, the description carries the full burden. It discloses that only the first dropdown item is selected, that it waits for page load, and that it returns a success message with the city name or an error. This is transparent enough for a simple UI action, though it omits any mention of state prerequisites or potential side effects.
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: two sentences plus a return line. Every sentence contributes meaningful detail (action, wait behavior, return format) without redundancy or filler.
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 simple zero-parameter UI action, the description fully explains what the tool does and what it returns. It does not explicitly mention dependencies on earlier steps (e.g., entering a city) or the context of the dropdown, but proximity to siblings and the tool name make these inferable, and the output schema further covers return details.
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 zero parameters, and the input schema is empty, so the baseline is 4. The description correctly avoids inventing parameter details and its mention of 'first item' and the return message is sufficient context for this parameterless 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 description clearly states the tool selects the first item from the dropdown and waits for the forecast page to load. The specific verb 'selects' and resource 'weather forecast city' combined with the unique behavior ('first item', 'waits') distinguishes it from sibling tools like open, enter, and get content.
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 about when to use this tool versus alternatives. The description does not mention prerequisites, sequencing, or exclusionary cases, leaving the agent to infer usage solely from the tool's name and sibling context.
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. Dates show when Glama detected each change.
4 tool updates
v0.1.0- First observed
enter_weather_forecast_city_israel - First observed
get_weather_forecast_content_israel - First observed
open_weather_forecast_israel - First observed
select_weather_forecast_city_israel
TDQS
Each tool has a distinct role in a sequential workflow: opening the site, entering a city, selecting from dropdown, and extracting content. No two tools overlap in purpose.
All tools follow a consistent 'verb_weather_forecast_[specific]_israel' pattern with snake_case. The verbs clearly indicate the action, and the domain and location are uniformly included.
With 4 tools, the server is well-scoped for a focused weather forecast workflow. Each tool is necessary for the sequence and there is no bloat.
The tool set covers the complete workflow from opening the site to retrieving the forecast content. No obvious dead ends or missing steps for its intended purpose.
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
MCP server for weather with reasoning — umbrella advice, outdoor checks, city comparisons.
An MCP server for weather information by @kulybaba
An MCP server for weather information by @kulybaba
Open-Meteo MCP — weather forecast + historical reanalysis + sister APIs
Related MCP Servers
- FlicenseAqualityCmaintenanceAn MCP server that enables LLMs to automate browser interactions using Playwright to fetch real-time Israeli weather data.4-
- FlicenseAqualityCmaintenanceAn MCP server that uses Playwright to browse Israeli weather forecasts from weather2day.co.il, allowing LLMs to control a browser to fetch real-time weather data.5-
- FlicenseAqualityCmaintenanceAn MCP server that uses Playwright to scrape Israeli weather forecasts from weather2day.co.il by automating a real browser, enabling an LLM to answer questions about current conditions and hourly forecasts for Israeli cities.5-
- 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.-
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