Skip to main content
Glama
RyanCardin15

noaa-tidesandcurrents-mcp

by RyanCardin15

Get Tide Predictions

noaa_get_tide_predictions
Read-onlyIdempotent

Retrieve NOAA harmonic tide predictions for a station, returning high/low tide events or height time series for chosen dates and intervals.

Instructions

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:

  • Great Lakes stations have NO tide predictions (lake levels are not tidal).

  • Subordinate stations (type "S") only support interval=hilo; use the station's reference (R) station for interval series.

  • Predictions are astronomical only — they exclude weather effects (storm surge, wind setup). Compare with noaa_get_water_levels for actual conditions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoShortcut window: "today" = midnight to now, "latest" = single most recent reading, "recent" = last 72 hours. Mutually exclusive with begin_date/end_date/range.
datumNoVertical reference datum for heights. MLLW is the standard chart datum for coastal stations. IGLD and LWD apply to Great Lakes stations ONLY; NAVD/CRD exist only at stations where computed. Check a station's supported datums with noaa_get_station_datums.MLLW
rangeNoNumber of hours. With begin_date: hours forward. With end_date: hours back. Alone: hours back from now.
unitsNoUnit system. english: feet, °F, knots (wind AND currents), nautical miles. metric: meters, °C, m/s for wind but cm/s for currents, kilometers. Air pressure is millibars and salinity is PSU in BOTH systems.english
stationYesStation ID. Water-level/met stations use 7-digit numeric IDs (e.g. "9414290" San Francisco); current stations use alphanumeric IDs (e.g. "cb0102"). Find stations with noaa_search_stations or noaa_find_nearest_stations.
end_dateNoEnd date/time. Same formats as begin_date.
intervalNo"hilo" = high/low tide events only (max 10-year span). "h" = hourly, or 1/5/6/10/15/30/60-minute series (max 1-year span).hilo
time_zoneNoTime zone for timestamps: gmt = UTC, lst = station local standard time (no DST), lst_ldt = station local time with DST. Note: daily_mean data requires lst.lst_ldt
begin_dateNoStart date/time. Formats: yyyyMMdd, "yyyyMMdd HH:mm", MM/dd/yyyy, or ISO yyyy-MM-dd[THH:mm].
response_formatNoOutput format: "markdown" for a readable summary table, "json" for the complete structured payload.markdown

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
_responseYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.1

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description still adds genuinely useful non-obvious behavior: predictions are astronomical only and exclude storm surge/wind setup, Great Lakes stations are unsupported, and subordinate stations are hilo-only. Return format and pagination behavior are not discussed, but the output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then a compact notes list of caveats; every sentence carries an actionable caveat or recommendation. Minor redundancy with the schema's interval and datum text keeps it just short of ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, single-required-parameter query tool with full schema coverage and an output schema, the description covers the remaining agent-critical gaps: interval choice, span limits, datum relativity, station-type restrictions, and the astronomical-only caveat. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including datum, interval spans, time_zone, units and date formats is already documented in the schema. The description largely restates interval spans and the MLLW default rather than adding syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get NOAA harmonic tide predictions ... for a station') and immediately scopes it to future or past predictions. It distinguishes itself from the closest sibling by contrasting with noaa_get_water_levels for actual conditions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly recommends interval=hilo for the 'when is high/low tide' question and routes the agent to noaa_get_water_levels for actual (non-astronomical) conditions. It also states when-not conditions: Great Lakes stations have no predictions, and subordinate stations only support hilo.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.