Skip to main content
Glama
AVIGAIL120

Israel Weather MCP

by AVIGAIL120

Israel Weather MCP — Playwright browser automation over weather2day.co.il

MCP Server שמאפשר ל‑LLM לשלוף תחזית מזג אוויר בישראל על ידי שליטה בדפדפן (Playwright), במקום API מובנה. המידע נשלף מ־Weather2Day.

מה בפרויקט

קובץ

תפקיד

weather_Israel.py

MCP Server ישראלי — Tools של Playwright

weather_USA.py

MCP Server אמריקאי — NWS API (מהתבנית)

client.py

MCP Client גנרי (stdio)

host.py

צ'אט טרמינל שמחבר Claude לכל ה‑MCPs

Tools ב‑weather_Israel

  1. open_weather_forecast_israel — פותח את דף התחזית

  2. enter_weather_forecast_city_israel(city_name) — מזין שם עיר בשדה החיפוש

  3. select_weather_forecast_city_israel — בוחר את ההצעה הראשונה ברשימה

  4. get_weather_page_content — מחלץ ומנקה את תוכן הדף ל‑LLM (RAG)

Related MCP server: MCP Playwright Weather Israel

התקנה

דרישות: Python 3.13+, uv, מפתח Anthropic.

cd weather-israel-mcp
uv sync
uv run playwright install chromium
copy .env.example .env
# ערכי ANTHROPIC_API_KEY ב-.env — מפתח אמיתי שמתחיל ב-sk-ant-
# (לא להשאיר your_anthropic_api_key)

הרצה

uv run host.py

בצ'אט הטרמינל שאלי למשל:

  • מה מזג האוויר בירושלים?

  • תן לי תחזית לחיפה להיום

  • האם צפוי גשם בבני ברק?

  • מה הטמפרטורה בתל אביב?

ה‑Host אמור לבחור את weather_Israel, להפעיל את ה‑Tools בזה אחר זה, לפתוח דפדפן, ואז (שלב ב׳) לקרוא ל‑get_weather_page_content ולענות בשיחה לפי התוכן.

לעזיבה: quit.

זרימת העבודה

שאלה → Claude בוחר Tools
      → open_weather_forecast_israel
      → enter_weather_forecast_city_israel("...")
      → select_weather_forecast_city_israel
      → get_weather_page_content   ← RAG לדף
      → תשובה בצ'אט

הערות

  • הדפדפן רץ עם headless=False כדי שתראי את האוטומציה.

  • למשתמשי NetFree: ב‑host.py / weather_USA.py כבר מוגדר verify=False ל‑httpx.

  • אל תחפשי תחזית בגוגל דרך Playwright — Captcha. כאן הולכים ישירות ל‑Weather2Day.

סטאק

MCP SDK (FastMCP) · Playwright · Anthropic · uv

בונוס מהמטלה — ספרייה נוספת שקיבלה בוסט מ‑AI Agents

כמו Playwright, גם Selenium ו‑Puppeteer נולדו לפני עידן ה‑GenAI, אבל עם עליית ה‑Agents הן חזרו לקדמת הבמה כשכבת "ידיים לדפדפן". במקביל, ספריות כמו LangChain / LlamaIndex לקחו רכיבים ישנים יותר (retrievers, vector stores, parsers) והפכו אותם לקוביות Lego של Agents.

Available Tools

4 tools
enter_weather_forecast_city_israelA

Type an Israeli city name into the weather2day forecast search box.

Args: city_name: City name in Hebrew or English (e.g. 'ירושלים', 'חיפה', 'Tel Aviv').

ParametersJSON Schema
NameRequiredDescriptionDefault
city_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must bear full responsibility for behavioral disclosure. It only states the literal action and does not disclose prerequisites (e.g., needing the page open), side effects (e.g., whether typing submits or just fills the box), or the relationship to other tools. This is minimal disclosure beyond the action itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences plus an Args block, efficiently front-loaded with the main action. It uses no unnecessary words and clearly organizes the parameter information. This is appropriately sized and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and has an output schema, so return values are not required. However, the description omits the tool's role in the broader workflow—it doesn't indicate that the page must be open first or that a subsequent select action may be needed. Given the sibling tools, this lack of context makes it only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only defines city_name as a string with no description (schema coverage 0%). The description adds essential meaning by specifying 'City name in Hebrew or English' and providing concrete examples like 'ירושלים', 'חיפה', 'Tel Aviv'. This meaningfully compensates for the schema's lack of detail, though it could further clarify accepted formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Type an Israeli city name into the weather2day forecast search box.' It uses a specific verb (type) and resource (search box), and it distinguishes itself from siblings like 'select' by focusing on the typing action. This meets the criteria for a specific verb+resource with clear scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 alternatives, nor does it mention any exclusions or prerequisites. It simply describes the action without situating it in the workflow with siblings like open or select, leaving the agent to infer usage. This falls under 'no guidance' on the scale.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_weather_page_contentA

Extract and clean the current forecast page text so the LLM can answer the user (RAG step).

Call this after the city forecast page is open.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It adds context by mentioning the prerequisite (page open) and the action (extract and clean), but it does not explicitly state whether the operation is read-only, describe side effects, or disclose return format (though an output schema exists). It gives some behavioral context but not comprehensive disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, with the first stating the core action and purpose, and the second providing usage sequencing. Every word earns its place, no redundancy, and the structure is front-loaded for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, an output schema exists, and the description names the step relative to siblings, it is appropriately complete. It explains what it does, why it's used, and when to call it, which is sufficient for a simple extraction utility in a workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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%. The description adds no parameter details, but with no parameters to document, the baseline of 4 applies. The description doesn't need to compensate for any undocumented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb phrase 'Extract and clean' with a clear resource 'current forecast page text' and purpose 'so the LLM can answer the user (RAG step)'. It clearly distinguishes itself from the sibling navigation tools (open/enter/select) by focusing on post-navigation content extraction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage timing with 'Call this after the city forecast page is open', which clarifies when to invoke it relative to the navigation siblings. It does not name explicit alternatives or when-not-to-use cases, but the sequencing guidance is clear and practical.

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

Open the Israeli weather forecast site in a browser (weather2day.co.il/forecast).

Call this first before typing a city name.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses the primary side effect (opens a browser to a specific URL) and the ordering requirement, but does not explain return behavior or what happens after opening. For a 0-param tool this is acceptable 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, each earning its place. The first states the action, the second gives a clear sequencing instruction. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 0-parameter tool with an output schema, the description covers the main purpose and the critical workflow step ('call first'). It could be more explicit about next steps, but sibling names and context signals mitigate the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and the schema is empty. Per the rubric, 0 params gets a baseline of 4. The description adds no parameter info, but there are none to describe.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-resource pair: 'Open the Israeli weather forecast site in a browser' with an explicit URL. It also distinguishes itself from siblings (enter/select city, get content) by indicating it is the initial navigation step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states 'Call this first before typing a city name', which is a clear when-to-use instruction. However, it does not name alternatives or state when not to use, though the sibling tool names make the workflow implicit.

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

Select the first city suggestion from the autocomplete list and open its forecast page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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 clearly states two behaviors: selecting the first suggestion and opening the forecast page. It does not disclose potential edge cases (e.g., empty list) but for a simple parameterless action, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence ('Select the first city suggestion...') with no filler. Every word contributes to understanding the tool's action and effect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 0 parameters and an output schema exists, the description adequately covers the tool's behavior. It could mention a prerequisite (e.g., 'after entering a city name, suggestions will appear'), but the context from sibling tools implies this. Overall, it is complete enough for a simple selection action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 meaning to explain. The baseline for 0-parameter tools is 4, and the description adds no unnecessary parameter-related details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Select') and clearly identifies the target resource ('the first city suggestion from the autocomplete list') and the subsequent action ('open its forecast page'). This distinguishes it from sibling tools like enter_weather_forecast_city_israel (entering text) or get_weather_page_content (reading content).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: it is meant to be invoked when an autocomplete list is available. However, it does not explicitly mention alternatives or when not to use it, such as 'Use this after entering a city name' or 'Prefer open_weather_forecast_israel if the city is already known.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool represents a distinct step in a clear sequential workflow: open site, enter city, select suggestion, extract content. There is no overlap in functionality, and the dependencies are explicitly described in the tool descriptions.

Naming Consistency3/5

All names use snake_case, but the pattern is mixed: the first three follow 'verb_weather_forecast_[city_]israel', while the fourth breaks the pattern with 'get_weather_page_content'. The verbs are consistent with their actions, but the structural inconsistency is notable.

Tool Count5/5

Four tools is perfectly scoped for the domain. Each tool covers a necessary step in retrieving weather forecast data from the site, with no extraneous or redundant tools.

Completeness5/5

The tool set fully covers the intended workflow: open site → enter city → select suggestion → extract content. It allows for multiple city queries by repeating the enter/select steps, and there are no obvious dead ends or missing operations within the stated purpose.

Maintenance

ActivitySlowing
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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/AVIGAIL120/weather-israel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server