Provides access to US National Weather Service (NWS) data, allowing retrieval of weather alerts by state and weather forecasts for specific coordinates.
WeatherMCP
This project is an MCP server built as a hands-on exercise. It provides weather data and alerts from the US National Weather Service (NWS) via a simple API using the FastMCP framework.
Features
Weather Alerts: Get active weather alerts for any US state.
Forecast: Retrieve weather forecasts for a specific latitude and longitude.
Related MCP server: Weather-MCP-Server
Requirements
Python 3.8+
uv (for dependency management and running)
Installation
Install dependencies using uv:
uv pip install -r requirements.txtOr, if you use
pyproject.toml:uv pip install -r pyproject.toml(Optional) Create a virtual environment:
uv venv .venv source .venv/bin/activate
Running the MCP Server
To start the server using uv:
The server will start and listen for MCP requests via stdio.
Available Tools
1. get_alerts(state: str)
Description: Get active weather alerts for a US state.
Argument:
state— Two-letter US state code (e.g.,CA,NY).Returns: Formatted string of current alerts or a message if none are found.
2. get_forecast(latitude: float, longitude: float)
Description: Get weather forecast for a specific location.
Arguments:
latitude— Latitude of the location (float)longitude— Longitude of the location (float)
Returns: Formatted string with the next 5 forecast periods.
Notes
This project is for educational and hands-on purposes.
Data is sourced from the National Weather Service API.
Feel free to extend or modify the project for your own experiments!