Skip to main content
Glama
Sh4960

Weather Israel MCP Server

by Sh4960

Weather Israel MCP Server šŸŒ¤ļø

A Python and Playwright-based MCP (Model Context Protocol) server that enables Large Language Models (LLMs) to retrieve up-to-date weather forecasts for various cities in Israel from weather2day.co.il.

šŸš€ Key Features

  • Full MCP Integration: Provides a structured set of tools for executing search and data extraction workflows.

  • Efficient Browser Management (Singleton Pattern): Maintains a single active Playwright session across all search steps.

  • Built-in Hebrew Support: Explicit prompts instruct the LLM to pass city names in Hebrew for accurate search results.

  • Targeted Content Extraction (RAG): Extracts and cleans text from the forecast page, delivering a focused context payload to the language model.


šŸ› ļø Available Tools

The server provides the following tools, designed to be called in sequential order:

  1. open_weather_forecast_israel
    Opens the browser and navigates to the main Israeli weather forecast homepage.

  2. enter_weather_forecast_city_israel(city_name: str)
    Types the requested city name (in Hebrew) into the site's search field.

  3. select_weather_forecast_city_israel
    Selects the first suggestion from the autocomplete dropdown list and navigates to the corresponding forecast page.

  4. get_weather_forecast_content_israel
    Extracts text content from the forecast page, cleans whitespace and empty lines, and returns up to 3,000 characters to the LLM.


šŸ’¬ Example Queries

Here are examples of questions you can ask the Agent:

  • "What is the weather forecast in Jerusalem today?"

  • "Is it going to rain in Tel Aviv?"

  • "What is the temperature in Haifa right now?"

  • "מה ×”×Ŗ×—×–×™×Ŗ בבני ברק להיום?"


šŸ“¦ Prerequisites and Installation

Prerequisites

  • Python 3.10 or higher

  • uv package manager (recommended)

Installing Dependencies

Install the required packages and Playwright browser binaries:

uv pip install mcp playwright
uv run playwright install chromium

šŸ’» Running the Server
Run the server directly using uv:


uv run weather_Israel.py
Configuration in Host Client (e.g., Claude Desktop / MCP Client)
{
  "mcpServers": {
    "weather-israel": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp",
        "--with",
        "playwright",
        "path/to/weather_Israel.py"
      ]
    }
  }
}

šŸ“ System Architecture

User Query ("What's the weather in Bnei Brak?")
       │
       ā–¼
  LLM / Host
       │
       ā”œā”€ā–ŗ 1. open_weather_forecast_israel()
       ā”œā”€ā–ŗ 2. enter_weather_forecast_city_israel(city_name="בני ברק")
       ā”œā”€ā–ŗ 3. select_weather_forecast_city_israel()
       └─► 4. get_weather_forecast_content_israel()
       │
       ā–¼
  LLM Processes Context & Answers User