Find NOAA tide stations and NDBC buoys, fetch tide predictions, water levels, tidal currents, and live buoy conditions via MCP. STDIO or Streamable HTTP.
Strong tool definitions with excellent naming, comprehensive parameter schemas, and detailed descriptions. All 5 tools follow verb_noun pattern (noaa_marine_*). Descriptions are 150-350 chars, well above the 10-char minimum and within the 194-char production baseline. Input schemas are complete with types, descriptions, and enums where appropriate. Output schemas are documented in descriptions. Error handling is implicit (read-only tools with clear prerequisites). Minor gaps: output field structures not formally documented in JSON Schema; no explicit pagination guidance for large result sets; no per-tool error recovery hints.
Find CO-OPS tide, water-level and current stations and NDBC buoys near a location, by name, or by station ID, returning a unified list with source, data capabilities, coordinates, and — for NDBC — the physical platform class. This is the required first step for resolving a place name, a coordinate pair, or a bare station number to the station IDs the data tools take: CO-OPS tide and water-level IDs are numeric (e.g. 9447130 for Seattle), CO-OPS current IDs are alphanumeric (e.g. ACT4176), and NDBC buoy IDs are 5-character alphanumeric codes (e.g. 46041).
Live marine conditions from an NDBC buoy: wave height, period and direction, wind speed, gust and direction, sea-surface temperature, air temperature, barometric pressure, and dew point. All values are SI units — wind in m/s, wave height in m, pressure in hPa, temperatures in °C — except TIDE, which is in feet, and VIS, in nautical miles, both rarely populated at offshore buoys; a numeric field is null when the buoy sensor did not report a value, which is normal offshore.
Observed ocean-current depth profile from an NDBC ADCP buoy — the most recent measurement of current speed and direction at each depth bin, returning depth in meters, direction in degrees true (the direction the current flows toward), and speed in cm/s. It is distinct from noaa_marine_get_currents, which returns CO-OPS tidal-current predictions of max flood, ebb and slack rather than these observed acoustic-Doppler measurements.
Tidal current predictions for a CO-OPS current station: max flood and ebb speeds, slack times, and the station's mean flood and ebb bearings. These are forecast predictions from CO-OPS, distinct from noaa_marine_get_current_profile, which returns NDBC observed ocean-current measurements binned by depth. The default MAX_SLACK interval is the practical planning view, showing when currents peak and when slack water occurs, and a 6-minute interval returns the continuous curve for detailed analysis, each row carrying its own flood/ebb/slack sense.
Output schemas not formally documented in JSON Schema format. Descriptions mention field names and units (e.g., 'wave height in m, wind in m/s') but no structured schema object is visible for tool responses.
Pagination guidance incomplete. Tools accept limit and offset/bin parameters but descriptions do not explicitly state max result counts, default limits, or how to detect end-of-results. LLMs may not know when to stop paginating.
No explicit error recovery guidance. Descriptions state tools are read-only but do not provide actionable error messages or recovery hints (e.g., 'If station not found, call noaa_marine_find_stations first').
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | A | 85 | 2026-07-28+ | v2 |
Verified monthly means for a CO-OPS water-level station, one row per station-month: the month's highest and lowest water, its tidal datums (MHHW, MHW, MSL, MTL, MLW, MLLW, DTL), tidal ranges (GT, MN, DHQ, DLQ), and lunitidal intervals (HWI, LWI) — the record a sea-level or tidal-range trend over years to decades is read from. Heights are relative to the requested datum in the requested units.
Date format flexibility not fully documented. Parameters accept both YYYYMMDD and YYYY-MM-DD but descriptions do not clarify which is preferred or if both are truly equivalent.
Enum values for 'types' parameter in find_stations are not exhaustively listed in the description. The description says 'tide, current, water_level (CO-OPS only); met, current_profile, water_quality, buoy (NDBC only)' but does not clarify which combinations are valid or if 'buoy' is a data type or platform class.