Weather Forecast, Alerts & METAR MCP Server
Pricing
from $3.00 / 1,000 read operations
Weather Forecast, Alerts & METAR MCP Server
Weather MCP server for Claude, ChatGPT, Cursor and VS Code. 17 read-only tools return forecasts up to 10 days for any coordinates from MET Norway, US forecasts and active alerts from the National Weather Service, METAR and TAF for airports worldwide, and US tide predictions and water levels.
Pricing
from $3.00 / 1,000 read operations
Rating
0.0
(0)
Developer
MrBridge
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
⛅ Weather Forecast, Alerts & METAR MCP Server
Weather Forecast, Alerts & METAR MCP Server is an MCP server that gives Claude, ChatGPT, Cursor, VS Code and other MCP clients weather data from four public sources, through 17 read-only tools. It covers forecasts for any coordinates on Earth up to 10 days ahead, US forecasts, active alerts, station readings and forecaster discussions, METAR and TAF reports for airports worldwide, SIGMETs and pilot reports, and tides, water levels and currents on US coasts. Forecasts come from MET Norway, US data from the National Weather Service and NOAA, and this server is not affiliated with any of them.
Ask Claude "Will it rain in Berlin this evening?" It calls wx_get_hourly_forecast with latitude 52.52, longitude 13.405 and the Europe/Berlin time zone, then answers hour by hour in local time with temperature, precipitation and wind, credited "Data from MET Norway". The tools take coordinates rather than place names, so the assistant passes the latitude and longitude of the place you mention, or you give them yourself.
What this server exposes
This server gives an AI client 17 read-only weather tools over four public sources, with no account or API key. MET Norway's Locationforecast supplies the current weather, daily summaries and hour-by-hour forecasts for any coordinates on Earth. The US National Weather Service adds official US forecasts by 12-hour period and by hour, active watches and warnings, the latest station observation and the forecasters' area discussion. The NOAA Aviation Weather Center provides METAR observations and TAF forecasts for airports worldwide, SIGMETs, pilot reports and station lookup by ICAO id. NOAA Tides and Currents covers US coasts and the Great Lakes: tide station search, high and low tide times, observed water levels against the predicted tide, water and air temperature, wind and pressure at coastal stations, and tidal current predictions. Tools take latitude and longitude rather than place names. Every answer names its source and carries the notices that source requires. This server is not affiliated with MET Norway, NOAA or the National Weather Service.
Tools
| Tool | What it answers | Billed event |
|---|---|---|
wx_get_forecast | Get the current weather and a daily forecast anywhere | tool-read |
wx_get_hourly_forecast | Get an hour-by-hour forecast anywhere | tool-read |
wx_get_us_forecast | Get the US forecast by 12-hour periods | tool-read |
wx_get_us_hourly_forecast | Get the US hourly forecast | tool-read |
wx_get_us_alerts | Get active US weather alerts | tool-read |
wx_get_us_observation | Get the latest observed conditions at a US station | tool-read |
wx_get_us_forecast_discussion | Get the latest US forecast discussion | tool-read |
wx_get_metar | Get airport weather observations (METAR) | tool-read |
wx_get_taf | Get airport forecasts (TAF) | tool-read |
wx_get_sigmets | Get the SIGMETs in force | tool-read |
wx_get_pireps | Get pilot reports near an airport | tool-read |
wx_find_aviation_stations | Find aviation weather stations | tool-read |
wx_find_tide_stations | Find NOAA tide, water level and current stations | tool-read |
wx_get_tide_predictions | Get tide predictions for a US station | tool-read |
wx_get_water_levels | Get recent water levels at a US station | tool-read |
wx_get_marine_observations | Get the latest coastal observations at a US station | tool-action |
wx_get_current_predictions | Get tidal current predictions for a US station | tool-read |
wx_get_forecast: Get the current weather and a daily forecast anywhere
Use this when you need the current weather and a daily forecast (up to 10 days) for any place in the world: minimum and maximum temperature, precipitation and, where MET Norway provides it, its probability, wind and a plain-language condition per day. Data from MET Norway, attribution included. Do not use for hour-by-hour detail (use wx_get_hourly_forecast), official US forecasts, warnings or observations (use wx_get_us_forecast, wx_get_us_alerts, wx_get_us_observation) or past weather (not available). Parameters: latitude and longitude in decimal degrees (e.g. 48.8566 and 2.3522 for Paris), altitude_m (optional, metres), days (1 to 10, default 7), timezone (IANA name such as "Europe/Paris", recommended for exact local days), units ("metric" or "us"), response_format ("concise", or "detailed" to add gusts, UV, pressure, cloud cover and a condition per quarter of the day).
| Parameter | Type | Required | Example |
|---|---|---|---|
latitude | number | yes | 48.8566 |
longitude | number | yes | 2.3522 |
altitude_m | integer | no | 35 |
timezone | string | no | "Europe/Paris" |
units | "metric" or "us" | no | "metric" |
days | integer | no | 7 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { location, updated_at, units, current, daily[], notes[], attribution }. Upstream: MET Norway. Cache: hourly (1 hour). Read-only.
wx_get_hourly_forecast: Get an hour-by-hour forecast anywhere
Use this when you need the forecast step by step for any place in the world, for example rain this evening or wind this afternoon. Steps are hourly for about the first two to four days, then 6-hourly, and each row says which period its precipitation covers. Data from MET Norway, attribution included. Do not use for a day-by-day overview (use wx_get_forecast) or for the official US hourly forecast (use wx_get_us_hourly_forecast). Parameters: latitude and longitude in decimal degrees (e.g. 52.52 and 13.405 for Berlin), altitude_m (optional), timezone (IANA name such as "Europe/Berlin"), units ("metric" or "us"), limit (1 to 72 steps, default 24), offset (steps to skip, for the next page), response_format ("concise", or "detailed" to add UTC time, symbol code, humidity, pressure, cloud cover, dew point and UV).
| Parameter | Type | Required | Example |
|---|---|---|---|
latitude | number | yes | 48.8566 |
longitude | number | yes | 2.3522 |
altitude_m | integer | no | 35 |
timezone | string | no | "Europe/Paris" |
units | "metric" or "us" | no | "metric" |
limit | integer | no | 24 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { location, updated_at, units, hours[], pagination, notes[], attribution }. Upstream: MET Norway. Cache: hourly (1 hour). Read-only.
wx_get_us_forecast: Get the US forecast by 12-hour periods
Use this when you need the official US forecast for the next 7 days at a point in the United States or its territories, by day and night periods ("Tonight", "Monday"), with temperature, chance of precipitation, wind and the forecaster's wording. Source: US National Weather Service. Do not use for places outside the US (use wx_get_forecast), hour-by-hour detail (use wx_get_us_hourly_forecast) or warnings (use wx_get_us_alerts). Parameters: latitude and longitude in decimal degrees (e.g. 38.8894 and -77.0352 for Washington, DC), units ("metric" or "us", NWS words the texts in these units), response_format ("concise", or "detailed" to add the full forecast text of each period).
| Parameter | Type | Required | Example |
|---|---|---|---|
latitude | number | yes | 38.8894 |
longitude | number | yes | -77.0352 |
units | "metric" or "us" | no | "metric" |
response_format | "concise" or "detailed" | no | "concise" |
Returns { location, updated_at, units, periods[], notes[], attribution }. Upstream: NWS. Cache: intraday (5 minutes). Read-only.
wx_get_us_hourly_forecast: Get the US hourly forecast
Use this when you need the official hour-by-hour US forecast (up to about 156 hours) at a point in the United States or its territories: temperature, chance of precipitation, wind and a short forecast per hour. Source: US National Weather Service. Do not use for places outside the US (use wx_get_hourly_forecast), for a day-by-day view (use wx_get_us_forecast) or for observed conditions (use wx_get_us_observation). Parameters: latitude and longitude in decimal degrees (e.g. 41.8781 and -87.6298 for Chicago), units ("metric" or "us"), limit (1 to 72 hours, default 24), offset (hours to skip, for the next page), response_format ("concise", or "detailed" to add end time, day or night, dew point and humidity).
| Parameter | Type | Required | Example |
|---|---|---|---|
latitude | number | yes | 38.8894 |
longitude | number | yes | -77.0352 |
units | "metric" or "us" | no | "metric" |
limit | integer | no | 24 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { location, updated_at, units, hours[], pagination, notes[], attribution }. Upstream: NWS. Cache: intraday (5 minutes). Read-only.
wx_get_us_alerts: Get active US weather alerts
Use this when you need the weather warnings, watches and advisories in force now in the United States: at a point, in a state, territory or marine area, or in a forecast zone or county. Most severe first. Source: US National Weather Service. Do not use for forecasts (use wx_get_us_forecast), for aviation hazards (use wx_get_sigmets) or for places outside the US. Give exactly one of: latitude and longitude (e.g. 39.05 and -95.68 for Topeka), area (2-letter code, e.g. "KS", or a marine area such as "GM"), zone (UGC id, e.g. "KSZ056" or "KSC177"). Optional filters: severity (minimum: "minor", "moderate", "severe" or "extreme"), event (text in the event name, e.g. "tornado"). limit (1 to 50, default 10, 15 at most in detailed mode), offset, response_format ("concise", or "detailed" to add the description, instructions and response).
| Parameter | Type | Required | Example |
|---|---|---|---|
latitude | number | no | 38.8894 |
longitude | number | no | -77.0352 |
area | string | no | "KS" |
zone | string | no | "KSZ056" |
severity | "minor" or "moderate" or "severe" or "extreme" | no | "severe" |
event | string | no | "tornado" |
limit | integer | no | 10 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { where, total_active, alerts[], pagination, notes[], attribution }. Upstream: NWS. Cache: live (30 seconds). Read-only.
wx_get_us_observation: Get the latest observed conditions at a US station
Use this when you need the weather actually observed now at a US weather station (usually an airport): temperature, dew point, humidity, wind, pressure, visibility and sky, with the age of the reading. With coordinates the nearest stations are tried in order until one has a fresh reading. Source: US National Weather Service. Do not use for forecasts (use wx_get_us_forecast), for places outside the US (use wx_get_metar near the point) or for raw aviation reports (use wx_get_metar). Give either latitude and longitude in decimal degrees (e.g. 42.3601 and -71.0589 for Boston) or station_id (4-letter ICAO id, e.g. "KBOS"). units ("metric" or "us"), response_format ("concise", or "detailed" to add heat index, wind chill, 24-hour extremes, altimeter setting, cloud layers and the raw METAR).
| Parameter | Type | Required | Example |
|---|---|---|---|
latitude | number | no | 38.8894 |
longitude | number | no | -77.0352 |
station_id | string | no | "KBOS" |
units | "metric" or "us" | no | "metric" |
response_format | "concise" or "detailed" | no | "concise" |
Returns { station, observed_at, age_minutes, description, temperature, dewpoint, humidity_percent, wind_speed, wind_gust, wind_direction_deg, wind_direction, pressure, visibility, precipitation_last_hour, heat_index, wind_chill, max_temperature_24h, min_temperature_24h, altimeter_setting, cloud_layers[], raw_message, units, notes[], attribution }. Upstream: NWS. Cache: intraday (5 minutes). Read-only.
wx_get_us_forecast_discussion: Get the latest US forecast discussion
Use this when you need the reasoning of US forecasters for the coming days, for example the timing of a storm or the confidence in a forecast: the latest Area Forecast Discussion of the local forecast office, split into sections (synopsis, near term, short term, long term, aviation, marine). Source: US National Weather Service. Do not use for the forecast figures themselves (use wx_get_us_forecast), for warnings (use wx_get_us_alerts) or outside the US. Give either latitude and longitude in decimal degrees (e.g. 29.7604 and -95.3698 for Houston) or office (3-letter forecast office id, e.g. "HGX"). max_chars (1000 to 20000, default 6000) caps the text returned, whole sections first.
| Parameter | Type | Required | Example |
|---|---|---|---|
latitude | number | no | 38.8894 |
longitude | number | no | -77.0352 |
office | string | no | "HGX" |
max_chars | integer | no | 6000 |
Returns { office, issued_at, product_name, product_id, sections[], sections_total, total_chars, truncated, notes[], attribution }. Upstream: NWS. Cache: intraday (5 minutes). Read-only.
wx_get_metar: Get airport weather observations (METAR)
Use this when you need the latest observed weather at airports anywhere in the world (METAR): wind in knots, visibility, clouds, temperature, altimeter, flight category and the raw report, for given ICAO ids or around a point. Data from the NOAA Aviation Weather Center. Do not use for forecasts (use wx_get_taf for airports, wx_get_forecast otherwise) or to look up station ids only (use wx_find_aviation_stations). Parameters: station_ids (1 to 20 ICAO ids, e.g. ["KJFK", "EGLL"]) or latitude and longitude in decimal degrees with radius_km (5 to 150, default 50), history_hours (optional, 1 to 24: every report of the period instead of the latest one, 6 hours at most around a point, stations times hours kept under the 400-report upstream cap), limit (1 to 50, default 20), offset, response_format ("concise", or "detailed" to add coordinates, elevation, sea level pressure, precipitation and report type).
| Parameter | Type | Required | Example |
|---|---|---|---|
station_ids | array of string | no | ["KJFK","EGLL"] |
latitude | number | no | 40.7128 |
longitude | number | no | -74.006 |
radius_km | number | no | 50 |
history_hours | number | no | 6 |
limit | integer | no | 20 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { observations[], missing_stations[], pagination, notes[], attribution }. Upstream: AWC. Cache: intraday (5 minutes). Read-only.
wx_get_taf: Get airport forecasts (TAF)
Use this when you need the terminal aerodrome forecast (TAF) of airports anywhere in the world: validity period and the raw forecast, plus the decoded change groups (FM, TEMPO, BECMG, PROB) in detailed mode, for given ICAO ids or around a point. Data from the NOAA Aviation Weather Center. Do not use for current observations (use wx_get_metar) or for a general forecast away from airports (use wx_get_forecast). Parameters: station_ids (1 to 20 ICAO ids, e.g. ["LFPG"]) or latitude and longitude in decimal degrees with radius_km (5 to 150, default 50), limit (1 to 50, default 20, 10 at most in detailed mode), offset, response_format ("concise" or "detailed" with decoded groups and coordinates).
| Parameter | Type | Required | Example |
|---|---|---|---|
station_ids | array of string | no | ["KJFK","EGLL"] |
latitude | number | no | 40.7128 |
longitude | number | no | -74.006 |
radius_km | number | no | 50 |
limit | integer | no | 20 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { forecasts[], missing_stations[], pagination, notes[], attribution }. Upstream: AWC. Cache: intraday (5 minutes). Read-only.
wx_get_sigmets: Get the SIGMETs in force
Use this when you need the aviation hazard warnings (SIGMETs) in force or announced: convective storms, severe turbulence, severe icing, volcanic ash, tropical cyclones, over the United States (domestic SIGMETs) or worldwide (international SIGMETs), with validity, levels and movement. Data from the NOAA Aviation Weather Center. Do not use for pilot reports (use wx_get_pireps), airport observations (use wx_get_metar) or ground weather warnings (use wx_get_us_alerts). Parameters: scope ("us", "international" or "all", default "all"), hazard (optional: convective, turbulence, icing, volcanic_ash, tropical_cyclone), fir_id (optional ICAO FIR id, international only, e.g. "KZWY"), altitude_ft (optional, keeps SIGMETs whose levels include it, e.g. 35000), limit (1 to 50, default 20, 15 at most in detailed mode), offset, response_format ("concise" or "detailed" with raw text and area points).
| Parameter | Type | Required | Example |
|---|---|---|---|
scope | "us" or "international" or "all" | no | "all" |
hazard | "convective" or "turbulence" or "icing" or "volcanic_ash" or "tropical_cyclone" | no | "turbulence" |
fir_id | string | no | "KZWY" |
altitude_ft | integer | no | 35000 |
limit | integer | no | 20 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { sigmets[], pagination, notes[], attribution }. Upstream: AWC. Cache: intraday (5 minutes). Read-only.
wx_get_pireps: Get pilot reports near an airport
Use this when you need recent pilot reports (PIREPs and AIREPs) around an airport: turbulence, icing, cloud tops, weather and winds aloft as reported by aircraft, with aircraft type, altitude, position and the raw report. Coverage is mostly the United States and the North Atlantic. Data from the NOAA Aviation Weather Center. Do not use for official hazard warnings (use wx_get_sigmets) or airport observations (use wx_get_metar). Parameters: station_id (ICAO id of the centre airport, e.g. "KDEN"), radius_nm (10 to 300, default 100, in nautical miles, unit being confirmed with the provider), age_hours (1 to 12, default 2), min_intensity (optional: light, moderate or severe, keeps reports at or above it), limit (1 to 50, default 20), offset, response_format ("concise", or "detailed" to add flight phase, temperature, wind, visibility, clouds, vertical gust and braking action).
| Parameter | Type | Required | Example |
|---|---|---|---|
station_id | string | yes | "KDEN" |
radius_nm | integer | no | 100 |
age_hours | integer | no | 2 |
min_intensity | "light" or "moderate" or "severe" | no | "moderate" |
limit | integer | no | 20 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { station_id, reports[], pagination, notes[], attribution }. Upstream: AWC. Cache: intraday (5 minutes). Read-only.
wx_find_aviation_stations: Find aviation weather stations
Use this when you need the name, coordinates, elevation and country of airports from their ICAO ids, or the weather reporting stations around a point, with whether each one issues METAR observations and TAF forecasts. The coordinates can feed wx_get_forecast. Data from the NOAA Aviation Weather Center. Do not use for the weather itself (use wx_get_metar or wx_get_taf) or for tide stations (use wx_find_tide_stations). Parameters: station_ids (1 to 20 ICAO ids, e.g. ["LFPG", "KJFK"]) or latitude and longitude in decimal degrees with radius_km (5 to 150, default 50), limit (1 to 50, default 20), offset, response_format ("concise", or "detailed" to add the FAA id).
| Parameter | Type | Required | Example |
|---|---|---|---|
station_ids | array of string | no | ["KJFK","EGLL"] |
latitude | number | no | 40.7128 |
longitude | number | no | -74.006 |
radius_km | number | no | 50 |
limit | integer | no | 20 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { stations[], missing_stations[], pagination, notes[], attribution }. Upstream: AWC. Cache: reference (30 days). Read-only.
wx_find_tide_stations: Find NOAA tide, water level and current stations
Use this when you need the id of a NOAA tide, water level or tidal current station in US coastal waters (states and territories), by name, state or distance from a point, before asking for tides, water levels, coastal observations or currents. Do not use for places outside US waters (no coverage) or for weather forecasts (use wx_get_forecast). Parameters: kind ("tide_predictions" default, "water_levels" for live readings and coastal observations, "current_predictions"), name_query (part of the station name, e.g. "Santa Monica"), state (2-letter code, e.g. "CA"), latitude and longitude in decimal degrees with radius_km (1 to 500, default 50) to sort by distance, limit (1 to 50, default 10), offset, response_format ("detailed" adds the UTC offset, reference station and depth). Give at least one of name_query, state or coordinates.
| Parameter | Type | Required | Example |
|---|---|---|---|
kind | "tide_predictions" or "water_levels" or "current_predictions" | no | "tide_predictions" |
name_query | string | no | "Santa Monica" |
state | string | no | "CA" |
latitude | number | no | 34.0195 |
longitude | number | no | -118.4912 |
radius_km | number | no | 50 |
limit | integer | no | 10 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { kind, next_tool, stations[], pagination, attribution }. Upstream: NOAA CO-OPS. Cache: reference (30 days). Read-only.
wx_get_tide_predictions: Get tide predictions for a US station
Use this when you need the times and heights of high and low tides, or hourly tide heights, at a NOAA tide station in US coastal waters. Get the station id first with wx_find_tide_stations. Predictions are astronomical and leave out storm surge. Do not use for measured water levels (use wx_get_water_levels), tidal currents (use wx_get_current_predictions) or places outside US waters. Parameters: station_id (e.g. "8443970" for Boston), start_date (YYYY-MM-DD, default today at the station), days (default 2, 1 to 31 for high_low, 1 to 7 for hourly), interval ("high_low" default or "hourly"), datum (default "MLLW"), units ("metric" or "us"), time_zone ("local" or "gmt"), limit (1 to 200, default 50), offset, response_format ("detailed" adds the published type code).
| Parameter | Type | Required | Example |
|---|---|---|---|
station_id | string | yes | "8443970" |
start_date | string | no | "2026-09-28" |
days | integer | no | 2 |
interval | "high_low" or "hourly" | no | "high_low" |
datum | "MLLW" or "MLW" or "MSL" or "MTL" or "MHW" or "MHHW" or "NAVD" or "STND" or "CRD" or "IGLD" or "LWD" | no | "MLLW" |
units | "metric" or "us" | no | "metric" |
time_zone | "local" or "gmt" | no | "local" |
limit | integer | no | 50 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { station, start_date, end_date, interval, datum, units, time_zone, predictions[], pagination, notes[], attribution }. Upstream: NOAA CO-OPS. Cache: daily (1 day). Read-only.
wx_get_water_levels: Get recent water levels at a US station
Use this when you need the measured water level at a NOAA station in US coastal waters or the Great Lakes over the last hours, compared with the predicted tide, for example to see a storm surge. Get the station id with wx_find_tide_stations (kind "water_levels"). Do not use for future tides (use wx_get_tide_predictions), water temperature or wind (use wx_get_marine_observations) or places outside US waters. Parameters: station_id (e.g. "8518750" for The Battery, New York), hours_back (1 to 72, default 6), interval ("6min" default or "hourly"), compare_to_predictions (default true, not possible on the Great Lakes), datum (default LWD on the Great Lakes, MLLW elsewhere), units ("metric" or "us"), time_zone ("local" or "gmt"), limit (1 to 200, default 30, newest first), offset, response_format ("detailed" adds sigma and flags).
| Parameter | Type | Required | Example |
|---|---|---|---|
station_id | string | yes | "8518750" |
hours_back | integer | no | 6 |
interval | "6min" or "hourly" | no | "6min" |
compare_to_predictions | boolean | no | true |
datum | "MLLW" or "MLW" or "MSL" or "MTL" or "MHW" or "MHHW" or "NAVD" or "STND" or "CRD" or "IGLD" or "LWD" | no | "MLLW" |
units | "metric" or "us" | no | "metric" |
time_zone | "local" or "gmt" | no | "local" |
limit | integer | no | 30 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { station, hours_back, interval, datum, units, time_zone, latest, preliminary, readings[], pagination, notes[], attribution }. Upstream: NOAA CO-OPS. Cache: intraday (5 minutes). Read-only.
wx_get_marine_observations: Get the latest coastal observations at a US station
Use this when you need the latest water temperature, air temperature, wind, air pressure, humidity or visibility measured at a NOAA station on US coasts or the Great Lakes, for example the water temperature at a pier. Get the station id with wx_find_tide_stations (kind "water_levels"). Do not use for water levels (use wx_get_water_levels), weather forecasts (use wx_get_forecast) or places outside US waters. Parameters: station_id (e.g. "9410840" for Santa Monica), measurements (list among "water_temperature", "air_temperature", "wind", "air_pressure", "humidity", "visibility", default the first four), units ("metric" or "us"), time_zone ("local" or "gmt"). Readings are the latest within 18 minutes, each measurement a station does not report is listed in not_available.
| Parameter | Type | Required | Example |
|---|---|---|---|
station_id | string | yes | "9410840" |
measurements | array of string | no | ["water_temperature","wind"] |
units | "metric" or "us" | no | "metric" |
time_zone | "local" or "gmt" | no | "local" |
Returns { station, time_zone, readings[], not_available[], notes[], attribution }. Upstream: NOAA CO-OPS. Cache: intraday (5 minutes). Read-only.
wx_get_current_predictions: Get tidal current predictions for a US station
Use this when you need the times of slack water and of maximum flood and ebb currents, or hourly current speeds, at a NOAA current prediction station in US waters. Get the station id and bin with wx_find_tide_stations (kind "current_predictions"). Predictions leave out wind and river effects. Do not use for tide heights (use wx_get_tide_predictions) or places outside US waters. Parameters: station_id (e.g. "SFB1201" for the San Francisco Bay entrance), bin (optional depth bin, default the one nearest the surface), start_date (YYYY-MM-DD, default today at the station), days (default 1, 1 to 14 for max_slack, 1 to 3 for hourly), interval ("max_slack" default or "hourly"), units ("metric" cm/s or "us" knots), time_zone ("local" or "gmt"), limit (1 to 100, default 30), offset, response_format ("detailed" adds signed velocity, bin and depth).
| Parameter | Type | Required | Example |
|---|---|---|---|
station_id | string | yes | "SFB1201" |
bin | integer | no | 20 |
start_date | string | no | "2026-09-28" |
days | integer | no | 1 |
interval | "max_slack" or "hourly" | no | "max_slack" |
units | "metric" or "us" | no | "metric" |
time_zone | "local" or "gmt" | no | "local" |
limit | integer | no | 30 |
offset | integer | no | 0 |
response_format | "concise" or "detailed" | no | "concise" |
Returns { station, start_date, end_date, interval, units, time_zone, events[], pagination, notes[], attribution }. Upstream: NOAA CO-OPS. Cache: daily (1 day). Read-only.
Connect
Endpoint (Streamable HTTP): https://mrbridge--weather-mcp.apify.actor/mcp
Every client authenticates with your Apify API token, found in Apify Console > Settings > API & Integrations. Clients that support custom headers send it as Authorization: Bearer <token>. The others use the ?token= URL variant, which must be treated as a secret: keep it out of commits, screenshots and shared logs.
Claude Code
$claude mcp add --transport http weather "https://mrbridge--weather-mcp.apify.actor/mcp" --header "Authorization: Bearer ${APIFY_TOKEN}"
Cursor, VS Code and other JSON configurations
{"mcpServers": {"weather": {"type": "http","url": "https://mrbridge--weather-mcp.apify.actor/mcp","headers": {"Authorization": "Bearer ${APIFY_TOKEN}"}}}}
claude.ai and Claude Desktop
Add a custom connector with the URL https://mrbridge--weather-mcp.apify.actor/mcp?token=YOUR_APIFY_TOKEN and no authentication. Prefilled link (replace the token placeholder before saving): add Weather Forecast, Alerts & METAR MCP Server to Claude.
ChatGPT (developer mode)
Settings > Apps > Create, URL https://mrbridge--weather-mcp.apify.actor/mcp?token=YOUR_APIFY_TOKEN, authentication "No authentication". ChatGPT snapshots the tool list: after a server update, an admin has to click Refresh on the app.
OpenAI Responses API
{"type": "mcp","server_label": "weather","server_url": "https://mrbridge--weather-mcp.apify.actor/mcp","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN"},"require_approval": "never"}
Add allowed_tools to restrict the tool list. Tool calls must finish within about 60 seconds on this API, and every tool of this server answers in under 50 seconds.
Anthropic Messages API
{"mcp_servers": [{"type": "url","url": "https://mrbridge--weather-mcp.apify.actor/mcp","name": "weather","authorization_token": "YOUR_APIFY_TOKEN"}],"tools": [{"type": "mcp_toolset","mcp_server_name": "weather"}]}
Send the beta header anthropic-beta: mcp-client-2025-11-20.
One-click OAuth alternative
https://mcp.apify.com/?tools=mrbridge/weather-mcp connects through Apify OAuth without a token. It exposes the Actor as a single tool rather than the granular tools listed above.
Cost control
Each Standby run has a spending limit (maxTotalChargeUsd). When a call uses the last of it, the result is still returned, and later calls in that run answer CHARGE_LIMIT_REACHED until the limit is raised.
Why use Weather Forecast, Alerts & METAR MCP Server?
Weather questions rarely stop at one source. A weekend away needs a forecast, and a day on the coast starts with the tide table. This server puts four public sources behind one connection, and every answer says where its numbers come from.
- Forecasts anywhere, no key. MET Norway forecasts for any latitude and longitude, hourly for the first two to four days, then in 6-hour steps, up to 10 days.
- US detail. NWS forecasts by 12-hour period and by hour for 7 days, active watches and warnings with the most severe first, the latest station reading, and the reasoning of the local forecast office.
- Airport reports worldwide. METAR and TAF by ICAO id or around a point, SIGMETs in force, and pilot reports, mostly over the US and the North Atlantic. Useful for study and simulation, not a flight briefing.
- Tides and water levels. High and low tide times, tidal currents, and the measured water level next to the predicted tide at NOAA stations on US coasts and the Great Lakes.
- Nothing found, nothing billed. When there is no active alert, no SIGMET or no METAR in range, the tool says so in a plain sentence and the call costs nothing.
- Credit lines included. Every answer carries its source line and the notices its licence requires, ready to keep when you reuse the data.
- 🔌 Model Context Protocol over Streamable HTTP at a single endpoint,
https://mrbridge--weather-mcp.apify.actor/mcp, for Claude, ChatGPT, Cursor, VS Code and the OpenAI and Anthropic APIs. - ⚡ Apify Standby mode. The first call after a quiet spell waits a few seconds while the server starts. Later calls skip that wait until the server has been idle for 5 minutes.
Pricing (Pay-per-Event)
| Event | Charged when | Price |
|---|---|---|
apify-actor-start | run start (platform default) | see the Store page |
tool-read (primary event) | each successful read tool call | see the Store page |
tool-action | each successful call of a detailed or computed tool | see the Store page |
Never charged: initialize, tools/list, pings, readiness probes, and any call that ends in an error (invalid input, not found, upstream failure, timeout, spending limit).
Platform usage comes on top of these events. This server runs in Apify Standby mode, and you also pay the platform usage of your own Standby run, billed to your Apify account like any other run: the memory set for the Standby run, for as long as the server is up, idle time included, until the run stops at its idle timeout. The Apify pay-per-event documentation says so: "For runs in Standby mode, users always pay the platform usage costs in addition to the event charges."
Limits, caveats and attribution
- Coordinates, not place names. No geocoder is included. Airports can be found by ICAO id and tide stations by name, state or distance.
- Coverage. The
wx_get_us_*tools cover the United States and its territories only, the tide tools the US coasts and the Great Lakes (water levels only there, the Great Lakes have no tide predictions). MET Norway covers the whole globe, with its finest detail in the Nordic countries. Some of its fields, such as the chance of precipitation and wind gusts, come only where MET Norway provides them: a platform test on 2026-10-05 had them for Oslo and not for Paris. Where they are missing the answer gives null, and the expected precipitation amount is still there. METARs and TAFs cover airports worldwide, pilot reports mostly the US and the North Atlantic. - Forecast length. MET Norway forecasts reach 9 to 10 days, hourly for the first two to four days and then in 6-hour steps. NWS forecasts cover 7 days. This version has no historical weather, air quality or ocean wave forecast.
- Freshness. MET Norway forecasts are cached for up to an hour, since its terms forbid asking again before the forecast expires (about 30 minutes). Other forecasts and observations are cached for 5 minutes, US alerts for 30 seconds and station lists for 30 days. NWS observations can lag about 20 minutes behind the station.
- Derived values. Daily summaries, unit conversions and local times from an estimated offset are computed by this server and labelled in the answer.
- Aviation. The aviation tools are not an official weather briefing. Use an approved source for flight planning.
- Tides. Tide and current predictions are astronomical and ignore weather effects such as wind, river flow and storm surge. Recent water levels are preliminary: NOAA has not verified them yet. The tide and current tools are not a navigation aid.
- Rate limits. The server paces itself under each source's limits (MET Norway 20 requests per second, Aviation Weather Center 100 per minute, the others undocumented). Heavy traffic can still meet
UPSTREAM_RATE_LIMITED. - Attribution. Every answer carries an
attributionblock with the source line, the terms URL and the required notices. Keep it when you reuse the data.
Data terms
By using this server you agree to use the data it returns in line with the terms of each source, and to pass the same obligations on to anyone you share it with.
- MET Norway: Licensing and data policy, data under CC BY 4.0 and NLOD 2.0. Credit "Data from MET Norway", link to the licence, say what you changed, and do not suggest that MET Norway endorses you.
- National Weather Service and Aviation Weather Center: NWS disclaimer. The data is in the public domain. Do not claim it as your own, do not present modified content as official government material, and do not use the NWS or NOAA name or logo to suggest endorsement.
- NOAA Tides and Currents: CO-OPS disclaimers. Credit NOAA when you redistribute the data, and treat preliminary data with caution.
The fee for this server pays for the service (hosting, caching, normalisation), not for a licence on the data.
Use cases
Trip and event planning. "What will the weather be in Paris each day next week?" wx_get_forecast with latitude 48.8566, longitude 2.3522, days 7 and the Europe/Paris time zone returns the minimum and maximum temperature, precipitation, wind and a plain-language condition for each local day.
A digest of US warnings. "Which weather warnings are active in Kansas right now?" wx_get_us_alerts with area "KS" lists the watches, warnings and advisories in force, most severe first. For the why behind a forecast, wx_get_us_forecast_discussion returns the local forecasters' own discussion, section by section.
Learning to read airport weather. Student pilots and flight simulator users can ask for the latest METAR and TAF at KJFK and EGLL and have the assistant explain each group. wx_get_metar and wx_get_taf return the raw report next to the decoded fields.
A day at the beach. "When are high and low tide in Boston tomorrow?" wx_get_tide_predictions for station 8443970 answers with times and heights. The predictions are astronomical, so they leave out storm surge.
Newsroom and research checks. During a coastal storm, compare the water level at The Battery in New York (station 8518750) with the predicted tide. wx_get_water_levels returns both, flagged as preliminary readings that NOAA has not verified yet.
Frequently asked questions
Do I need a weather API key?
No. The four sources are public and need no key, and no e-mail address is asked of you. You need an Apify account and its API token, as shown in the Connect section.
Can I ask about a city by name?
The tools take latitude and longitude, because no geocoder is included. Your assistant can pass the coordinates of a place it knows, or you can give them. Airports are found by ICAO id with wx_find_aviation_stations, and tide stations by name, state or distance with wx_find_tide_stations.
How much does it cost to ask about the weather?
Two things are billed to your Apify account. First, the tool calls: $0.01 per successful call to wx_get_marine_observations (an action) and $0.005 per successful call to any other tool (a read). These are the prices on the Apify Free plan, and the discounts of paid plans lower them. Errors, empty answers (no active alert, no SIGMET, no METAR in range), the spending-limit refusal and protocol traffic (initialize, tool lists, pings) are never charged. Second, the platform usage of your own Standby run, on top of the events: the memory set for the run (256 MB) for as long as the server is up, idle time included, until it stops 5 minutes after your last call, plus a small start event per new run. A 10-minute session of 30 calls, 2 of them actions, comes to $0.16 in tool calls on the Free plan plus 1 to 2 cents of platform usage. Live prices for your Apify plan are on the Pricing tab, and maxTotalChargeUsd caps the event charges of one run.
How far ahead do forecasts go, and how fresh are they?
MET Norway forecasts reach 9 to 10 days, hourly for the first two to four days and then in 6-hour steps. US forecasts cover 7 days, and the hourly one about 156 hours. MET Norway forecasts are cached for up to an hour, because its terms forbid asking again before a forecast expires (about 30 minutes). Other forecasts and observations are cached for 5 minutes, US alerts for 30 seconds and station lists for 30 days. US station observations can lag about 20 minutes behind the station.
Does every forecast give a chance of rain?
No. US forecasts give a chance of precipitation per period and per hour. MET Norway sends a probability for some areas only: in a platform test it came back for Oslo and not for Paris. Where the source has none, the field is empty and the forecast still gives the expected amount.
Which places are covered?
Forecasts from MET Norway cover the whole globe. The wx_get_us_* tools cover the United States and its territories. METAR and TAF cover airports worldwide, and pilot reports come mostly from the US and the North Atlantic. Tide tools cover US coasts and territories, plus water levels on the Great Lakes, which have no tide predictions. Past weather and ocean wave forecasts are not in this version, and neither is air pollution data.
Can I use it for flight planning, sailing or other safety decisions?
No. The aviation tools are not an official weather briefing, and tide and current predictions are astronomical, so they ignore storm surge and the effect of wind or rivers. Use an approved briefing service before a flight, and official marine forecasts and local warnings whenever safety is at stake. This server is meant for research and everyday planning.
Why is my first call slow?
Cold start. After 5 idle minutes the server stops, and the next call waits a few seconds while Apify starts a new run. The first tide or current call after a start also loads NOAA's station list, which took 5 to 10 seconds in the platform test. Later calls read it from memory.
Is this server affiliated with MET Norway, the National Weather Service or NOAA?
No. It is an independent server that reads their public data, names them as sources and carries their notices in every answer. None of them endorses it. The price pays for running the service, not for a licence on the data, whose terms are listed in the Data terms section.
Your feedback
Found a wrong reading or a broken tool? Open an issue on the Issues tab and it will be looked at. More MCP servers, scrapers and data studies from the same team are on mr-bridge.com.
Changelog
- 0.1.5: Output, dataset and key-value store schemas, as Apify asks for publication: the Output tab of a run started from the Console shows the connection details and one row per tool.
- 0.1.4: the Input tab shows the endpoint and how to connect an AI client, and a run started from the Console outputs the connection details and the tool list
- 0.1.3: pricing events tool-read and tool-action.
wx_get_marine_observationsbills onetool-actionevent ($0.01 on the Apify Free plan), every other tool onetool-readevent ($0.005), and paid plans pay less - 0.1.2: server name aligned with the Store title
- 0.1.1: tool and README texts no longer suggest a navigation use for the current predictions, and say the precipitation probability comes only where MET Norway provides it. The
binexample of the current predictions is now a bin that its example station has - 0.1.0: initial build (private, unpublished)