Weather MCP Server
# Weather MCP Server
A Model Context Protocol (MCP) server that provides weather data from the US National Weather Service (NWS) API. Use this server to get weather forecasts and active weather alerts for US locations directly within Claude.
## Features
This server exposes two tools:
- **get_forecast** - Get detailed weather forecasts for any US location by latitude/longitude
- **get_alerts** - Get active weather alerts for any US state
## Prerequisites
- Python 3.13+
- [uv](https://docs.astral.sh/uv/) package manager
## Installation
1. Clone the repository:
```bash
git clone https://github.com/amplifyautomation/weather-mcp-server.git
cd weather-mcp-server
```
2. Install dependencies:
```bash
uv sync
```
## Configuration
### Claude Desktop
Add the following to your Claude Desktop configuration file:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"/path/to/weather-mcp-server",
"run",
"weather.py"
]
}
}
}
```
Replace `/path/to/weather-mcp-server` with the actual path to this project.
### Claude Code
Add to your Claude Code settings or project's `.mcp.json`:
```json
{
"mcpServers": {
"weather": {
"command": "uv",
"args": ["--directory", "/path/to/weather-mcp-server", "run", "weather.py"]
}
}
}
```
## Usage Examples
Once configured, you can ask Claude:
- "What's the weather forecast for San Francisco?" (Claude will look up coordinates)
- "Get the forecast for latitude 37.7749, longitude -122.4194"
- "Are there any weather alerts in California?"
- "What weather warnings are active in TX?"
## Tools Reference
### get_forecast
Get weather forecast for a specific location.
**Parameters:**
- `latitude` (float): Latitude of the location
- `longitude` (float): Longitude of the location
**Returns:** Detailed forecast for the next 5 periods including temperature, wind, and conditions.
### get_alerts
Get active weather alerts for a US state.
**Parameters:**
- `state` (string): Two-letter US state code (e.g., CA, NY, TX)
**Returns:** List of active alerts including event type, affected area, severity, description, and instructions.
## Data Source
Weather data is provided by the [National Weather Service API](https://www.weather.gov/documentation/services-web-api), which is free to use and does not require an API key. Note that this API only covers US locations.
## License
MIT
TDQS
Scored across 2 tools
get_alerts and get_forecast are clearly distinct in both purpose and input parameters—one targets alerts by state, the other forecasts by coordinates. There is no overlap or ambiguity between the two.
Both tools follow the same get_ verb_noun pattern, making the naming scheme predictable and consistent. No mixed conventions or vague verbs.
With only two tools, the server sits at the thin end of the spectrum. Each tool is useful, but the count feels minimal for a weather service that could reasonably offer current conditions, hourly forecasts, or location search.
The core alert and forecast capabilities are covered, but obvious weather-domain operations are missing, such as current conditions, location search, or more granular forecast types. Agents may need to work around these gaps.