Weather Israel MCP Server
Integrates with Google's Gemini API to analyze user queries and formulate responses for weather forecasts.
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.
š¤ļø Weather Israel ā Agentic MCP Server with Browser Automation
An AI-powered weather assistant that autonomously controls a browser to fetch real-time Israeli weather forecasts using the Model Context Protocol (MCP) and Playwright.
š Overview
This project implements a custom MCP (Model Context Protocol) Server that gives an LLM autonomous browser control capabilities. Instead of relying on a traditional weather API, the system opens a real browser, navigates to an Israeli weather website, searches for a city, and extracts the live forecast ā just like a human would.
The LLM (Gemini 2.5 Flash) acts as the orchestrating agent, deciding which tools to invoke and in what sequence, creating a fully autonomous agentic pipeline.
Why is this interesting?
No API needed ā scrapes data directly from the web using browser automation
Agentic architecture ā the LLM decides which tools to call and when
MCP standard ā uses Anthropic's open protocol for tool communication
RAG pattern ā extracts page content and feeds it back to the LLM for reasoning
Related MCP server: Weather MCP Agent
šÆ Project Goals
Implement a custom MCP Server from scratch
Use Playwright to add browser automation capabilities to an LLM
Demonstrate agentic tool-calling with multi-step orchestration
Build a complete RAG pipeline ā retrieve data ā augment context ā generate response
šļø Architecture
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā User Query ā
ā "What's the weather in Tel Aviv?" ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā host.py (Orchestrator) ā
ā Gemini 2.5 Flash + Tool Calling ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MCP Protocol
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā weather_Israel.py (MCP Server) ā
ā ā
ā Tool 1: open_weather_forecast_israel() ā
ā Tool 2: enter_weather_forecast_city_israel(city) ā
ā Tool 3: select_weather_forecast_city_israel() ā
ā Tool 4: get_weather_page_content() ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Playwright
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā weather2day.co.il (Live Website) ā
ā Real-time weather data scraped from browser ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāš ļø Tech Stack
Technology | Purpose |
Python 3.13+ | Core language |
MCP SDK | Model Context Protocol ā exposes tools to the LLM |
Playwright | Headless browser automation (Chromium) |
Gemini 2.5 Flash | LLM for reasoning and tool orchestration |
httpx | HTTP client for Gemini REST API calls |
uv | Modern Python package manager |
š Project Structure
MCP/
āāā weather_Israel.py # MCP Server ā Israeli weather tools (Playwright)
āāā weather_USA.py # MCP Server ā US weather tools (API-based)
āāā host.py # Orchestrator ā Gemini + MCP client integration
āāā client.py # Generic MCP client connector
āāā pyproject.toml # Dependencies and project metadata
āāā .env.example # Environment variable template
āāā .gitignore # Git ignore rules
āāā uv.lock # Locked dependencies
āāā README.md # This fileš§ MCP Tools ā weather_Israel.py
# | Tool | Description |
1 |
| Launches Chromium and navigates to the weather website |
2 |
| Types the city name into the search field using keyboard simulation |
3 |
| Clicks the first autocomplete result from the dropdown |
4 |
| Extracts and cleans the visible text from the forecast page |
ā” Prerequisites
Python 3.13 or higher
uv package manager (
pip install uv)Gemini API Key from Google AI Studio
š¦ Installation
1. Clone the repository
git clone https://github.com/yael3222664-alt/MCP.git
cd MCP2. Install dependencies
uv sync3. Install Chromium for Playwright
uv run playwright install chromium4. Configure environment variables
Create a .env file in the project root:
GEMINI_API_KEY=your_gemini_api_key_hereGet your free API key at Google AI Studio
š Running the Application
python -m uv run host.pyYou'll see:
MCP Client Started!
Type your queries or 'quit' to exit.
Query: š¬ Example Queries & Output
Query:
×× ××× ×××××ר ××× × ×רק?Agent Actions:
[Calling tool weather_Israel__open_weather_forecast_israel with args {}]
[Calling tool weather_Israel__enter_weather_forecast_city_israel with args {'city': '×× × ×רק'}]
[Calling tool weather_Israel__select_weather_forecast_city_israel with args {}]
[Calling tool weather_Israel__get_weather_page_content with args {}]Response:
The current temperature in Bnei Brak is 30°C with wind speed of 15 km/h
and gusts up to 37 km/h from the west. Humidity is at 52%.
Hourly forecast for today:
⢠14:00 ā 30°C, humidity 52%, wind 15 km/h
⢠15:00 ā 30°C, humidity 52%, wind 15 km/h
⢠16:00 ā 29°C, humidity 54%, wind 14 km/h
...More examples:
What's the weather in Jerusalem?
×× ××Ŗ××××Ŗ ×××פ×?
How's the weather in Tel Aviv today?
What are the weather alerts in California? (uses USA tools)ļæ½ How It Works ā Step by Step
User asks a question ā
"What's the weather in Tel Aviv?"Gemini analyzes the query and identifies the required tools
Tool 1 ā Playwright opens a headless Chromium browser and navigates to the weather site
Tool 2 ā Playwright types the city name into the search field (character by character to trigger autocomplete)
Tool 3 ā Playwright clicks the first matching result in the dropdown
Tool 4 ā Playwright extracts all visible text from the forecast page
Gemini receives the raw page content and formulates a clean, structured answer
User gets a natural language response with temperature, wind, humidity, and hourly forecast
š§ Key Design Decisions
Keyboard simulation (
keyboard.type()) instead offill()ā triggers the website's JavaScript autocompleteDirect REST API calls to Gemini with
httpx(verify=False)ā bypasses SSL issues in restricted network environmentsGlobal browser state ā shared between tool calls so the same page instance persists across the multi-step workflow
Graceful error handling ā each tool validates state and returns clear error messages
š Troubleshooting
Issue | Solution |
| Use |
| Create |
| Rate limit ā wait 1 minute or use a different API key |
Browser doesn't open | Run |
SSL errors | The code already disables SSL verification for restricted networks |
š Resources
š License
This project is open source and available for educational purposes.
Built with Playwright š and the Model Context Protocol š¤
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 Servers
- Flicense-qualityCmaintenanceEnables users to query real-time weather data for Israeli cities using natural language, automatically scraping a weather website via Playwright and returning AI-generated answers.Last updated
- Flicense-qualityDmaintenanceEnables querying real-time weather data for Israeli cities through natural language, using Playwright to scrape weather2day and Gemini LLM to answer.Last updated
- FlicenseBqualityCmaintenanceEnables LLMs to query real-time weather data in Israel by automating a browser to scrape weather2day.co.il.Last updated4
- Flicense-qualityDmaintenanceEnables users to retrieve real-time weather forecasts for Israeli cities by autonomously browsing a weather website using Playwright.Last updated
Related MCP Connectors
AI-powered browser automation ā navigate, click, fill forms, and extract data from any website.
Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.
US weather, alerts, earthquakes and elevation for AI agents, from NWS/NOAA and USGS. No API keys.
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/yael3222664-alt/MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server