noaa-tidesandcurrents-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| noaa_get_water_levelsA | Get observed water levels from a NOAA tide station as a time series. Choose the interval: "6" = standard 6-minute observations (preliminary or verified, max 31 days per request), "1" = 1-minute preliminary data (max 4 days), "hourly" = verified hourly heights (max 1 year). Heights are relative to the requested datum (MLLW by default — the US nautical chart zero). Returns per record: t (timestamp in requested time zone), v (height), s (sigma), f (quality flags, decoded in output), q (p=preliminary, v=verified). Recent data is preliminary; verification takes days to weeks. Use for: "what is the water level right now" (date=latest), storm surge analysis, comparing observed vs predicted tide. Do NOT use for future tides — use noaa_get_tide_predictions. |
| noaa_get_water_level_summariesA | Get verified summary water-level products from a NOAA station:
Use for: historical extremes, mixed-tide analysis (HH vs H), long-term averages. For raw time series use noaa_get_water_levels; for future tides use noaa_get_tide_predictions. |
| noaa_get_tide_predictionsA | Get NOAA harmonic tide predictions (future or past) for a station. interval="hilo" (recommended for "when is high/low tide") returns the daily tide events with type H/L — up to 10 years per request. Other intervals (h, 1, 5, 6, 10, 15, 30, 60 minutes) return a height time series — up to 1 year per request. Heights are relative to the requested datum (MLLW default). Notes:
|
| noaa_get_currentsA | Get observed current speed and direction from a NOAA current meter station. Current stations use alphanumeric IDs (e.g. "cb0102" Chesapeake, "bh0101" Boston Harbor) — NOT the 7-digit water-level station IDs. Find them with noaa_search_stations (type "currents") or noaa_find_nearest_stations. UNITS WARNING: english = knots, but metric = cm/s (centimeters/second, not m/s). Returns per record: t (time), s (speed), d (direction, degrees true), b (bin number). Max 7 days per request. Set expand_detailed=true to include per-beam echo intensity and correlation diagnostics. |
| noaa_get_current_predictionsA | Get predicted tidal currents for a NOAA current prediction station. interval="max_slack" (recommended for navigation) returns the tidal-current events — maximum flood, maximum ebb, and slack water times — up to 1 year per request. Other intervals (h, 1, 6, 10, 30, 60 minutes) return a velocity time series — up to 31 days. UNITS WARNING: english = knots; metric = cm/s. vel_type="speed_dir" returns Speed/Direction pairs; "default" returns velocities projected on the flood/ebb axis (Velocity_Major: positive = flood direction, negative = ebb) with meanFloodDir/meanEbbDir. Subordinate (type "S") prediction stations derive from a reference station — see noaa_get_prediction_offsets. |
| noaa_get_meteorological_dataA | Get observed meteorological/oceanographic sensor data from a NOAA station. Products: air_temperature, water_temperature, wind (speed/gust/direction), air_pressure, air_gap (bridge clearance to water surface), conductivity, visibility, humidity, salinity. Units by system: temps °F/°C; wind knots (english) or m/s (metric); air_gap feet/meters; visibility nautical miles/kilometers; air_pressure always millibars; salinity always PSU. Max span ~31 days per request; interval "6" (6-minute, default) or "h" (hourly). Not every station has every sensor — check with noaa_get_station_info (expand ["sensors"]). Water-level data is served by noaa_get_water_levels, not this tool. |
| noaa_search_stationsA | Search the NOAA CO-OPS station directory by capability type, name, and/or state. Filter with:
Returns id, name, location, tide type, Great Lakes flag, and for prediction stations whether they are reference (R, harmonic) or subordinate (S, offset-based — hilo predictions only). Results are paginated (limit/offset). For proximity search by coordinates use noaa_find_nearest_stations instead. |
| noaa_find_nearest_stationsA | Find the NOAA stations closest to a latitude/longitude point, sorted by distance. Use this to answer "what's the tide station near ?" — geocode the place to coordinates first, then call this. Filter by type to match the data you need (e.g. type "tidepredictions" before calling noaa_get_tide_predictions, "currents" before noaa_get_currents — current stations have different IDs than water-level stations). Distance is computed great-circle (Haversine) and reported in both km and miles. (NOAA's API has no native coordinate search; this tool maintains a cached station directory.) |
| noaa_get_station_infoA | Get a NOAA station's full metadata record: location, state, time zone, tide type, Great Lakes flag, capability flags, and links to available sub-resources. Optionally expand sub-resources inline via the "expand" list:
Use this before requesting data to confirm what the station actually collects. For datum values use noaa_get_station_datums; for harmonic constituents use noaa_get_harmonic_constituents. |
| noaa_get_station_datumsA | Get the accepted tidal datum values for a station: the elevations of MHHW, MHW, MTL, MSL, DTL, MLW, MLLW, STND, NAVD88 (where computed), plus GT (great diurnal range), MN (mean range), LAT/HAT (lowest/highest astronomical tide), and the station's historical extreme min/max water levels with dates. epoch "current" returns the present National Tidal Datum Epoch (1983–2001) values; "superseded" returns the prior epoch's values (useful for historical comparisons — not all stations have one). All values share one reference zero (the station datum), so datum-to-datum conversion is subtraction: height_above_MLLW = height_above_MSL + (MSL − MLLW). Use this tool to (1) check which datums a station supports before requesting data, and (2) convert heights between datums. |
| noaa_get_harmonic_constituentsA | Get the harmonic constituents NOAA uses to compute tide or current predictions at a station — the amplitude, phase, and angular speed of each tidal constituent (M2, S2, N2, K1, O1, ...). For water-level stations: amplitude (feet/meters), phase_GMT and phase_local (degrees), speed (degrees/hour). For current stations (alphanumeric IDs) constituents are current ellipses (major/minor amplitudes and phases per depth bin — pass bin to filter). Use for: building custom tide computations, checking a station's dominant constituents (M2 amplitude indicates semidiurnal range), verifying whether a station is harmonically predicted at all. Only reference (R) stations have constituents — subordinate stations use offsets (noaa_get_prediction_offsets). |
| noaa_get_prediction_offsetsA | Get the offsets a subordinate (type "S") prediction station applies to its reference station's predictions. kind "tide": returns refStationId, time offsets for high/low tide (minutes), height offsets for high/low tide, and whether the height adjustment is a ratio (multiplied) or fixed value — this is how NOAA derives subordinate-station tide times from the reference harmonic station. kind "current": returns refStationId/bin, mean flood/ebb directions, and time adjustments (minutes) for max flood, slack-before-ebb, max ebb, slack-before-flood plus amplitude ratios. Note: current prediction offsets are indexed per bin — pass the station_bin_suffix ID form (e.g. "ACT0091_1") if the plain ID returns nothing. Reference (R) stations return empty/null offsets — they don't need any. |
| noaa_get_sea_level_trendsA | Get the long-term relative sea level trend at a NOAA station: trend and error (reported by NOAA in mm/yr or inches/decade — the payload's trendUnits field says which), the observation period (startDate/endDate), and seasonal amplitude. Relative sea level combines ocean rise AND local land movement (subsidence/uplift), so trends vary widely by station (e.g. strongly positive on the Gulf Coast, negative in Alaska). Requires a station with a long water-level record; omit station to list all (affil "US" or "Global" filters the network). |
| noaa_get_sea_level_rise_projectionsA | Get NOAA's Interagency Sea Level Rise Scenario projections for a station (from the 2022 technical report): projected relative sea level (meters or feet, see units field) per decade through 2150 under the chosen scenario. Scenarios: low, intermediate-low, intermediate, intermediate-high, high, extreme, or all. Use for coastal planning questions ("how much sea level rise is projected at X by 2050?"). Pair with noaa_get_sea_level_trends (observed) and noaa_get_high_tide_flooding (flooding impact). |
| noaa_get_extreme_water_levelsA | Get NOAA's extreme water level exceedance statistics for a station: the annual exceedance probability levels (e.g. the 1%-annual-chance "100-year" level) and historical extreme events, computed from the station's verified record. Use for flood risk questions ("what water level has a 1% chance per year at X?"). Levels are relative to the station's datums for the 1983–2001 epoch. Only long-record stations have this product. |
| noaa_get_top_ten_water_levelsA | Get a station's highest recorded water levels: analysis "toptenwaterlevels" returns the ten highest events on record (with date, height, causal event name like "Great New England Hurricane", and category); "peakwaterlevels" returns peak event records (optionally filtered by year). Heights are relative to the requested datum (MHHW is typical for flood comparisons). Use for "what's the worst flooding ever recorded at X?". |
| noaa_get_high_tide_floodingA | Get NOAA high tide flooding (HTF, "nuisance"/"sunny day" flooding) statistics for a station. Reports:
Use for: "how often does X flood?", trends in nuisance flooding, future flooding projections. Not all stations have HTF products — check the HTFhistorical flag via noaa_get_station_info. |
| astro_get_moon_phaseA | Get the moon phase for a date (or each day of a date range if end_date is given): phase name (New Moon, Waxing Crescent, ...), illuminated fraction, age in days within the 29.53-day cycle, distance (km), apparent diameter (degrees), and waxing/waning. Tide context: spring tides (largest range) occur just after new and full moons; neap tides after quarter moons. Computed locally — no NOAA data involved. |
| astro_get_next_moon_phaseA | Find the date(s) of the next occurrence(s) of a principal moon phase (New Moon, First Quarter, Full Moon, Last Quarter) from a starting date. Use for: "when is the next full moon?", planning around spring tides (which follow new/full moons by 1–2 days). |
| astro_get_sun_timesA | Get sunrise, sunset, solar noon, dawn/dusk (civil), nautical dawn/dusk, astronomical dawn/dusk, golden hour, and day length for a location and date (or each day of a range if end_date is given). Times are ISO UTC unless an IANA timezone is provided. At high latitudes some events may be null (e.g. no astronomical night in summer). Computed locally. |
| astro_get_sun_positionA | Get the sun's position for a date, time, and location: azimuth (degrees clockwise from north as rendered here), altitude above the horizon (degrees), plus approximate declination and right ascension. Use for: shadow/lighting analysis, solar exposure. Computed locally with suncalc; declination/RA are approximate. |
| astro_get_next_sun_eventA | Find the next occurrence(s) of a sun event (sunrise, sunset, dawn, dusk, solarNoon, night, nightEnd, goldenHourStart, goldenHourEnd, nauticalDawn, nauticalDusk, astronomicalDawn, astronomicalDusk) at a location from a starting date. Use for: "when is sunset today?", planning golden-hour photography or dawn fishing around tide windows. |
| nws_get_wind_forecastA | Get the NWS hourly wind FORECAST (speed, gust, direction — plus wave height where the grid carries it) for a latitude/longitude. Data comes from the NWS forecast grid (api.weather.gov gridpoints — numeric NDFD values, not display strings). Horizon is up to ~7 days (156 hours), starting at the current hour. US and territories only. Wave height appears for marine/nearshore gridpoints; swell/period fields are typically only populated for open-ocean points. Units: english = knots and feet (default), metric = m/s and meters. Direction is degrees true, the direction the wind blows FROM. This is FORECAST data. For observed (measured) wind at a NOAA station right now, use noaa_get_meteorological_data (product "wind"). For the official marine text forecast (Coastal Waters Forecast narrative with small-craft advisories), use nws_get_marine_forecast. |
| nws_get_marine_forecastA | Get the official NWS Coastal Waters Forecast (CWF) narrative for the marine zone covering a latitude/longitude — day-part wind/seas text ("SE winds 10 to 15 kt... Bay waters choppy"), including Small Craft Advisories. The point must lie in (or very near) US coastal waters; CWF zones extend roughly 20-60 NM offshore. Returns the zone's segment from the latest bulletin plus the office-wide synopsis. For numeric hourly wind values use nws_get_wind_forecast; for observed wind at a NOAA station use noaa_get_meteorological_data (product "wind"). |
| noaa_get_reference_guideA | Get curated reference documentation for NOAA CO-OPS concepts and parameters. Topics:
Consult this before constructing unusual requests — especially "datums" (which vertical reference to use and station applicability), "units" (english/metric asymmetries like cm/s current speeds), and "data_limits" (maximum date spans per product). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| tide_report | Produce a tide report (high/low times, current level, context) for a place or station and date. |
| boating_conditions | Assemble tides, currents, wind, weather, and daylight for a location and date — a pre-departure briefing. |
| station_flood_risk | Synthesize high-tide-flooding history, extremes, sea level trend, and projections into a flood risk profile for a station. |
| station_overview | Summarize everything a NOAA station offers: sensors, datums, products, data availability. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| getting-started | Workflow recipes and common pitfalls for this server. |
| NOAA reference: products | Every NOAA CO-OPS data product and which tool serves it |
| NOAA reference: datums | Vertical datums (MLLW, MSL, IGLD...) and station applicability |
| NOAA reference: units | What english vs metric means per measurement (incl. cm/s currents) |
| NOAA reference: time_zones | gmt / lst / lst_ldt semantics and restrictions |
| NOAA reference: intervals | Valid interval values per product family |
| NOAA reference: station_types | Station type filters and station ID formats |
| NOAA reference: data_limits | Maximum date-range span per product |
| NOAA reference: quality_flags | Data quality fields (v/s/f/q), flag letters, HH/H/L/LL |
| NOAA reference: date_formats | Accepted date formats and parameter combinations |
| NOAA reference: marine_forecast | NWS wind & marine forecast tools vs CO-OPS observations |
TDQS
Scored across 25 tools
Most tools target distinct resources and actions, but several flood/water-level tools overlap conceptually (e.g. water levels vs summaries, high tide flooding vs extreme water levels vs top ten water levels). Observed vs predicted distinctions also require reading descriptions. The descriptions help substantially, so boundaries are mostly clear rather than perfect.
All tool names use snake_case and follow a prefix_verb_noun pattern with coherent noaa_, astro_, and nws_ namespaces. Variations like search_stations, find_nearest_stations, and get_* remain predictable and consistent.
25 tools is on the high side for a single server, but the breadth spans NOAA observations, predictions, summaries, station metadata, astronomy, and NWS forecasts. Each tool appears to serve a distinct product rather than duplicating functionality, making the count slightly heavy but reasonable.
The surface covers station discovery, metadata, datums, harmonic constituents, prediction offsets, observations, predictions, summaries, sea level trends/projections, flooding/extremes, plus astronomy and forecast companions. No obvious lifecycle gap is apparent for the stated tides-and-currents domain.