Weather MCP Server
```markdown
# Weather MCP Server
An MCP (Model Context Protocol) server that exposes weather tools — `get_forecast` and `get_alerts` — backed by the US National Weather Service API.
## Setup
```
uv sync
```
## Usage
Run standalone to verify it starts correctly:
```
uv run weather.py
```
Or connect to it from an MCP client, e.g. the companion [mcp-client](https://github.com/00aimlds00/mcp-client):
```
uv run client.py path/to/weather.py
```
## Tools
- **get_forecast(latitude, longitude)** — returns the weather forecast for a US location
- **get_alerts(state)** — returns active weather alerts for a US state (two-letter code)
## Note
Data is sourced from the US National Weather Service, so coverage is limited to US locations.
## Requirements
- Python (see `.python-version`)
## License
MIT
```
<img width="1330" height="692" alt="Screenshot 2026-08-23 204710" src="https://github.com/user-attachments/assets/b18de202-3818-431b-bdf2-48761b3737b5" />
<img width="1177" height="802" alt="Screenshot 2026-08-23 204607" src="https://github.com/user-attachments/assets/e8d026ce-3eaa-4dc0-a950-8cab7655c966" />
TDQS
Scored across 2 tools
get_alerts and get_forecast have entirely distinct purposes: one retrieves weather alerts for a state, the other retrieves forecasts for coordinates. There is no overlap or potential confusion between them.
Both tools follow the same get_noun pattern, making the naming scheme predictable and internally consistent. Even with just two tools, the convention is clear.
Two tools falls into the borderline range for a weather service. While the tools are both useful, the count feels thin for a general-purpose weather server that would typically also include current conditions or location-based search.
The server covers alerts and forecasts, but lacks other common weather operations such as current conditions, hourly forecasts, or marine weather. These are notable gaps, though the two existing tools cover important requested functionality.