Weather MCP Server
Provides weather information to LLM agents via two implementations: USA using National Weather Service API and Israel using Playwright browser automation.
README
# 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)
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.