Skip to main content
Glama

šŸŒ¦ļø Weather MCP — Israel via Browser Automation, USA via API

An MCP (Model Context Protocol) project demonstrating two ways to extend an LLM's context with live weather data:

  • weather_USA.py — a "classic" MCP server: fetches forecasts and alerts from the US National Weather Service API (api.weather.gov).

  • weather_Israel.py — an MCP server that puts the LLM's hand on the mouse šŸ–±ļø: it launches a real Chromium browser with Playwright, navigates to weather2day.co.il, types a city name into the search box, picks it from the autocomplete list — and extracts the page content so the LLM can answer the question itself (RAG).

🧩 Project Structure

ā”œā”€ā”€ client.py           # Generic MCP client — connects to any MCP server over stdio
ā”œā”€ā”€ host.py             # Terminal chat: connects Gemini to all MCP servers
ā”œā”€ā”€ weather_USA.py      # MCP server for US forecasts (API)
ā”œā”€ā”€ weather_Israel.py   # MCP server for Israeli forecasts (Playwright)
└── test_israel_flow.py # Smoke test for the full Israeli flow

The Israeli Server's Tools

Tool

What it does

open_weather_forecast_israel

Opens a browser and navigates to the forecast page

enter_weather_forecast_city_israel

Types a city name into the search field (and reports the suggestions)

select_weather_forecast_city_israel

Selects the first item in the autocomplete list

get_weather_forecast_content_israel

Extracts the forecast page content and feeds it to the LLM

Related MCP server: MCP-with-Playwright

šŸš€ Setup & Run

Prerequisites: Python 3.11+, uv.

# 1. Install dependencies
uv sync

# 2. Install Chromium for Playwright
uv run playwright install chromium

# 3. Gemini API key (free, no credit card) — https://aistudio.google.com/apikey
copy .env.example .env    # then edit: GEMINI_API_KEY=...

# 4. Run the chat
uv run host.py

Quick check of the Israeli server without an LLM:

uv run test_israel_flow.py

šŸ’¬ Example Questions

  • מה ×”×Ŗ×—×–×™×Ŗ להיום ×‘×Ŗ×œ אביב? (What's today's forecast in Tel Aviv?)

  • כדאי ×œ×§×—×Ŗ ×ž×˜×Ø×™×” ×ž×—×Ø ×‘×™×Ø×•×©×œ×™×? (Should I take an umbrella tomorrow in Jerusalem?)

  • מה מזג האוויר בחיפה בהוף השבוע? (What's the weather in Haifa this weekend?)

  • What's the forecast in Chicago? (routed to the US server)

  • Are there weather alerts in California?

While the question is being processed you'll see the browser open, type the city name, and select it from the list — then the model answers based on the page content.

āš™ļø How It Works

  1. The Host (host.py) launches each MCP server as a child process and opens a stdio session with it (via the generic Client in client.py).

  2. The Host discovers each server's tools and attaches them to every LLM (Gemini) call.

  3. When the model detects a question about weather in Israel, it invokes the four tools one after another: open browser → type city → select from list → extract content.

  4. The page content comes back to the model as a tool result, and it composes an answer from it — RAG over a live web page.

šŸ”— Connecting to Other Hosts (e.g. ChatBox)

The MCP servers are host-agnostic. Connect one to any MCP-capable app with a command like:

uv --directory C:\path\to\project run weather_Israel.py
Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Open-Meteo MCP — weather forecast + historical reanalysis + sister APIs

  • 350+ production-ready APIs through one MCP server — weather, geocoding, validation, financial data.

  • WeatherAPI.com MCP — wraps WeatherAPI.com (api.weatherapi.com)

View all MCP Connectors

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/t0548572430-sys/weather-mcp-playwright'

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