# Weather Mcp

> MCP server providing 12 weather tools to AI assistants. Features: forecasts, current conditions, historical data (1940-present), weather alerts, air quality, marine conditions, lightning detection, weather radar imagery, river monitoring, and wildfire tracking. Global coverage. No API keys required.

- **Type:** MCP server
- **Install:** `agentstack add mcp-weather-mcp-weather-mcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [weather-mcp](https://agentstack.voostack.com/s/weather-mcp)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [weather-mcp](https://github.com/weather-mcp)
- **Source:** https://github.com/weather-mcp/weather-mcp

## Install

```sh
agentstack add mcp-weather-mcp-weather-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Weather MCP Server

[](https://www.npmjs.com/package/@dangahagan/weather-mcp)
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.dgahagan/weather-mcp)
[](https://opensource.org/licenses/MIT)

An MCP (Model Context Protocol) server that provides **global weather data** to AI systems like Claude Code. Uses NOAA's API for detailed US weather, plus Open-Meteo for international forecasts and historical weather data worldwide.

**📦 Available in the [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.dgahagan/weather-mcp)** as `io.github.dgahagan/weather-mcp`

**No API keys required!** All APIs (NOAA, Open-Meteo) are free to use with no authentication needed.

## Features

- **Global Weather Forecasts**: Get forecasts for any location worldwide (ENHANCED in v0.4.0)
  - Automatic source selection: NOAA (US, more detailed) or Open-Meteo (international)
  - Extended forecasts up to 16 days (was 7)
  - Sunrise/sunset times with daylight duration
  - Daily or hourly granularity
  - Precipitation probability display
  - Temperature trends, humidity, wind, and UV index
- **Current Conditions**: Get enhanced real-time weather observations for US locations
  - Heat index and wind chill when relevant
  - 24-hour temperature range
  - Wind gusts and detailed cloud cover
  - Recent precipitation history
  - Optional fire weather indices (see below)
- **Location Search**: Find coordinates for any location worldwide (v0.4.0)
  - Convert location names to coordinates ("Paris" → 48.8534°, 2.3488°)
  - Support for cities, airports, landmarks, and regions globally
  - Detailed metadata: timezone, elevation, population, country
  - Enables natural language queries: "What's the weather in Tokyo?"
- **Saved Locations**: Save and reuse favorite locations (NEW in v1.7.0)
  - Save frequently used locations with simple aliases ("home", "work", "cabin")
  - Use saved locations by name instead of coordinates in all weather tools
  - Tag locations with activities ("boating", "hiking", "skiing") for contextual weather info
  - Automatic geocoding when saving (just provide location name)
  - Persistent storage in `~/.weather-mcp/locations.json`
  - Manage locations: save, list, view details, remove
  - Makes queries natural: "What's the weather at home?" instead of providing coordinates
- **Climate Normals - Historical Context**: Compare weather to 30-year averages (NEW in v1.2.0)
  - **Optional enhancement** for current conditions and forecasts (`include_normals=true`)
  - Shows normal high/low temperatures and precipitation for comparison
  - Displays departure from normal ("10°F warmer than normal")
  - **Hybrid data strategy**: Open-Meteo computed normals (global, free) or optional NOAA NCEI official normals (US only, requires free API token)
  - Based on 1991-2020 climate normals period
  - Helps understand if weather is unusual for the time of year
- **Snow and Ice Data**: Enhanced winter weather information (NEW in v1.2.0)
  - Snow depth on ground (current conditions, US only)
  - Snowfall accumulation forecasts with time periods
  - Ice accumulation forecasts for freezing rain events
  - Smart threshold-based display (filters trace amounts)
  - Unit conversions from metric to imperial
- **Timezone-Aware Display**: All timestamps in local time (NEW in v1.2.0)
  - Automatic timezone detection from coordinates
  - All times displayed in location's local timezone
  - Includes timezone abbreviations (EST, PDT, etc.)
  - Handles daylight saving time transitions
  - Formatted time ranges for forecast periods
- **Weather Alerts**: Get active weather watches, warnings, and advisories for US locations
  - Severity levels (Extreme, Severe, Moderate, Minor)
  - Urgency and certainty indicators
  - Effective and expiration times
  - Instructions and recommended responses
- **Historical Data**: Access historical weather observations for any location worldwide
  - Recent data (last 7 days): Detailed hourly observations from NOAA real-time API (US only)
  - Archival data (>7 days old): Hourly/daily weather data from 1940-present via Open-Meteo (global coverage)
- **Air Quality Monitoring**: Comprehensive air quality data for any location worldwide (v0.5.0)
  - Air Quality Index (AQI) with automatic region detection (US AQI or European EAQI)
  - Health recommendations based on AQI levels
  - Pollutant concentrations (PM2.5, PM10, O₃, NO₂, SO₂, CO, NH₃)
  - UV Index with sun protection recommendations
  - Optional hourly air quality forecasts (5-day outlook)
  - Categorized health risk levels (Good, Moderate, Unhealthy, etc.)
  - Activity recommendations for sensitive populations
- **Severe Weather Probabilities**: Probabilistic severe weather forecasting (NEW in v0.6.0)
  - US locations only (NOAA gridpoint data)
  - Optional enhancement to forecasts (`include_severe_weather` parameter)
  - Thunderstorm probability for next 48 hours
  - Wind gust probabilities (20-60+ mph categories)
  - Tropical storm and hurricane wind probabilities
  - Lightning activity levels
  - Smart display showing only significant threats
  - Works with both daily and hourly forecasts
- **Fire Weather Data**: Fire danger indices for US locations (v0.5.0)
  - Haines Index (atmospheric fire growth potential)
  - Grassland Fire Danger Index
  - Red Flag Threat Index
  - Mixing Height (smoke dispersion indicator)
  - Transport Wind Speed (smoke transport)
  - Optional enhancement to current conditions
- **Marine Conditions**: Comprehensive marine weather for coastal and ocean areas (NEW in v0.6.0)
  - Global coverage for waves, swell, and ocean currents
  - Significant wave height with safety categorization (Calm to Extreme)
  - Wind waves (locally generated) and swell (distant systems) separation
  - Wave period and direction for planning
  - Ocean current velocity and direction
  - Optional 5-day marine forecast with daily summaries
  - Safety assessment for maritime activities (sailing, boating, surfing)
  - Wave interpretation guide based on Douglas Sea Scale
  - Important: Data has limited coastal accuracy - NOT for navigation
- **Weather Imagery**: Visual weather radar and precipitation maps (NEW in v1.5.0)
  - Global precipitation radar from RainViewer API
  - Static radar images showing current precipitation
  - Animated radar loops (up to 2 hours of history)
  - Tile URLs for efficient rendering
  - Automatic coordinate-to-tile calculation
  - Visual confirmation of approaching weather
  - Free, no API key required
- **Lightning Activity**: Real-time lightning strike detection and safety monitoring (NEW in v1.5.0)
  - Real-time strike detection from Blitzortung.org network
  - Strikes within customizable radius (default: 100km)
  - 4-level safety assessment (Safe, Elevated, High, Extreme)
  - Distance to nearest strike with comprehensive statistics
  - Strike polarity and amplitude information
  - Safety recommendations based on proximity
  - Critical for outdoor activity safety planning
  - Free, no API key required
- **River Conditions**: Monitor river levels and flood status for safety and recreation (NEW in v1.6.0)
  - Current water levels from NOAA and USGS gauges
  - Flood stage thresholds (action, minor, moderate, major)
  - Streamflow data in cubic feet per second
  - Distance-based gauge filtering within customizable radius
  - Safety assessment for boating and recreation
  - Historical flood crest data when available
  - US coverage via NOAA NWPS and USGS Water Services
- **Wildfire Information**: Track active wildfires and fire perimeters (NEW in v1.6.0)
  - Active wildfire locations and prescribed burns
  - Fire size, containment status, and discovery date
  - Distance-based proximity filtering
  - 4-level safety assessment (Extreme Danger, High Alert, Caution, Awareness)
  - Evacuation recommendations based on proximity
  - Detailed fire attributes (type, location, status)
  - Data from NIFC WFIGS (National Interagency Fire Center)
- **Service Status Checking**: Proactively verify API availability with health checks
- **Enhanced Error Handling**: Detailed, actionable error messages with status page links
- **Intelligent Caching**: Built-in in-memory cache reduces API calls and improves performance

## Caching

The Weather MCP server includes an intelligent in-memory caching system that significantly improves performance for AI-driven weather queries.

### Benefits

- **Faster Responses**: Cached queries return in 1 day old)**: Cached indefinitely (finalized data never changes)
- **Recent Historical (50km): No immediate lightning threat
  - **Elevated** (16-50km): Monitor conditions, plan indoor access
  - **High** (8-16km): Seek shelter immediately
  - **Extreme** (50km): Stay informed
- Evacuation recommendations and safety guidance

**Note:** Data from NIFC WFIGS (Wildland Fire Interagency Geospatial Services). Always consult official sources for evacuation orders at https://inciweb.nwcg.gov/

### 13. save_location (NEW in v1.7.0)
Save a location with an alias for easy reuse in weather queries.

**Parameters:**
- `alias` (required): Short name for the location (e.g., "home", "work", "cabin"). Max 50 characters.
- `location_query` (optional): Location to geocode and save (e.g., "Seattle, WA", "Paris, France"). Not required if latitude/longitude provided.
- `latitude` (optional): Latitude if providing coordinates directly. Not required if location_query provided.
- `longitude` (optional): Longitude if providing coordinates directly. Not required if location_query provided.
- `name` (optional): Display name (required when using latitude/longitude directly)
- `activities` (optional): Activities you do at this location (e.g., ["boating", "fishing"]). Helps AI provide relevant weather information. Each activity max 50 characters.

**Description:**
Saves a location to persistent storage (`~/.weather-mcp/locations.json`) for easy reuse. Accepts either a location query (which will be automatically geocoded using Nominatim/OpenStreetMap) or direct coordinates. Once saved, the location can be used in any weather tool by providing `location_name` instead of coordinates.

**Smart Updates:** If the alias already exists and you only provide `name` and/or `activities` (without location details), it will update just those fields while preserving all coordinates and metadata. This makes it easy to add activities or rename locations without re-specifying the full address.

**Examples:**
```
"Save my home location in Seattle, WA"
  → save_location(alias="home", location_query="Seattle, WA")

"Save the cabin at Lake Tahoe"
  → save_location(alias="cabin", location_query="Lake Tahoe, CA")

"Save coordinates 47.6062, -122.3321 as my office"
  → save_location(alias="office", latitude=47.6062, longitude=-122.3321, name="Seattle Office")

"Save the lake house where we go boating and fishing"
  → save_location(alias="lake_house", location_query="Lake Tahoe, CA", activities=["boating", "fishing"])

"Save my favorite hiking spot"
  → save_location(alias="trail", location_query="Mt. Rainier, WA", activities=["hiking", "camping", "photography"])

"Add more activities to the cabin" (smart update - no location needed)
  → save_location(alias="cabin", activities=["boating", "fishing", "hiking", "swimming"])

"Rename my campsite" (smart update - no location needed)
  → save_location(alias="campsite", name="Yosemite Valley Campground")
```

**Returns:**
- Confirmation of save with location details
- Coordinates, timezone, and administrative region
- Usage examples showing how to use with weather tools

### 14. list_saved_locations (NEW in v1.7.0)
View all saved locations.

**Parameters:** None

**Description:**
Lists all locations saved in your persistent storage with their aliases, names, coordinates, and save dates. Helpful for seeing what location names are available for use with weather tools.

**Examples:**
```
"Show my saved locations"
"What locations do I have saved?"
"List all my saved places"
```

**Returns:**
- List of all saved locations with full details
- Usage examples for each location
- Total count of saved locations

### 15. get_saved_location (NEW in v1.7.0)
Get details for a specific saved location.

**Parameters:**
- `alias` (required): The name of the saved location to retrieve (e.g., "home", "work")

**Description:**
Retrieves detailed information about a specific saved location, including coordinates, timezone, region information, and save/update timestamps.

**Examples:**
```
"Show details for my home location"
"What are the coordinates for my cabin?"
"Get info about my work location"
```

**Returns:**
- Location name and coordinates
- Timezone and administrative regions
- Save and update timestamps
- Usage examples

### 16. remove_saved_location (NEW in v1.7.0)
Remove a saved location.

**Parameters:**
- `alias` (required): The name of the saved location to remove (e.g., "home", "work")

**Description:**
Permanently removes a saved location from storage. The location data is deleted and can no longer be used with weather tools unless saved again.

**Examples:**
```
"Remove my work location"
"Delete the cabin from saved locations"
"Remove home"
```

**Returns:**
- Confirmation of removal
- Count of remaining saved locations

## Using Saved Locations with Weather Tools

Once you've saved locations, you can use them with any weather tool by providing `location_name` instead of coordinates:

**Examples:**
```
# Instead of:
get_forecast(latitude=47.6062, longitude=-122.3321)

# You can use:
get_forecast(location_name="home")

# Natural language queries work too:
"What's the weather forecast at home?"
"How's the air quality at my cabin?"
"Are there any weather alerts for my work location?"
```

**Currently Supported Tools:**
- `get_forecast` - Weather forecasts using saved locations

**Coming Soon:** Support for saved locations in all weather tools (current conditions, alerts, air quality, marine conditions, etc.)

## Error Handling & Service Status

### Enhanced Error Messages

This MCP server provides detailed, actionable error messages when issues occur. All error messages include:

- **Clear problem description** - What went wrong and why
- **Contextual help** - Specific guidance based on the error type
- **Status page links** - Direct links to official service status pages
- **Recommended actions** - Concrete steps to resolve or investigate the issue

**Example Error Messages:**

When a service is down:
```
NOAA API server error: Service temporarily unavailable

The NOAA Weather API may be experiencing an outage.

Check service status:
- Planned outages: https://weather-gov.github.io/api/planned-outages
- Service notices: https://www.weather.gov/notification
- Report issues: nco.ops@noaa.gov or (301) 683-1518
```

When rate limited:
```
Open-Meteo API rate limit exceeded (10,000 requests/day for non-commercial use).

Please retry later or consider:
- Reducing request frequency
- Using daily instead of hourly data for longer periods
- Upgrading to a commercial plan for higher limits

More info: https://open-meteo.com/en/pricing
```

### Service Status Checking

Use the `check_service_status` tool to proactively verify API availability:

```
# Query example
"Check if the weather services are working"

# Returns:
- ✅/❌ Status for NOAA API (US forecasts & current conditions)
- ✅/❌ Status for Open-Meteo API (global historical data)
- Links to official status pages
- Recommended actions if issues detected
- Overall service availability summary
```

**When to use:**
- Before making multiple weather requests
- When experiencing errors or timeouts
- To verify service availability after an outage
- For monitoring and alerting purposes

**Status Page Links:**
- **NOAA API:**
  - Planned outages: https://weather-gov.github.io/api/planned-outages
  - Service notices: https://www.weather.gov/notification
  - Report issues: https://weather-gov.github.io/api/reporting-issues

- **Open-Meteo API:**
  - Pro

…

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [weather-mcp](https://github.com/weather-mcp)
- **Source:** [weather-mcp/weather-mcp](https://github.com/weather-mcp/weather-mcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-weather-mcp-weather-mcp
- Seller: https://agentstack.voostack.com/s/weather-mcp
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
