Weather MCP Server
# Weather MCP Server š¤ļø
## About
This project implements an MCP Server that provides weather information to an LLM Agent.
The project demonstrates two different approaches:
- **USA Weather MCP** - retrieves weather information using the National Weather Service API.
- **Israel Weather MCP** - retrieves weather information using Playwright browser automation from the weather2day website.
The main goal is to demonstrate how an LLM Agent can use MCP Tools to interact with external sources and enrich its context.
---
## Technologies
- Python
- MCP SDK (FastMCP)
- OpenAI API
- Playwright
- httpx
---
## Project Structure
weather-mcp/
ā
āāā host.py
āāā client.py
āāā weather\\\_USA.py
āāā weather\\\_Israel.py
āāā README.md
---
# šŗšø USA Weather MCP
The USA MCP uses the National Weather Service API.
Available tools:
### get_forecast_in_USA
Returns weather forecast by location coordinates.
Input:
- Latitude
- Longitude
### get_alerts_in_USA
Returns active weather alerts for a USA state.
Input:
- State code (example: CA, NY)
---
# š®š± Israel Weather MCP
The Israel MCP uses Playwright to automate a browser and extract weather information from:
https://www.weather2day.co.il/forecast
The Agent can:
1. Open the weather website.
2. Enter a city name.
3. Select the requested city.
4. Extract weather information from the page.
5. Use the extracted information to answer the user.
Available tools:
### open_weather_forecast_israel
Opens the weather forecast website.
### enter_weather_forecast_city_israel
Receives a city name and enters it into the search field.
### select_weather_forecast_city_israel
Selects the first city from the autocomplete list.
### extract_weather_forecast_content_israel
Extracts weather information from the selected city page and provides it as context for the LLM.
### close_weather_browser
Closes the browser session.
---
## Installation
Install dependencies:
uv sync
Install Playwright browser:
uv run playwright install chromium
---
## Running
Run the project:
uv run host.py
---
## Example Questions
Israel:
×× ××× ×××××ר ××× × ×רק?
USA:
What is the weather in Miami?
---
## Learning Goals
This project demonstrates:
- Building a custom MCP Server
- Creating MCP Tools with FastMCP
- Connecting an LLM Agent to external tools
- Browser automation with Playwright
- Extracting information from websites
- Providing external context to an LLM (RAG)