Skip to main content
Glama
RyanCardin15

noaa-tidesandcurrents-mcp

by RyanCardin15

Get Current Predictions

noaa_get_current_predictions
Read-onlyIdempotent

Retrieve predicted tidal currents for a NOAA station, including max flood, max ebb, and slack water events or velocity time series for navigation planning.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
binNoDepth bin number (current meters measure at multiple depths). Find valid bins with noaa_get_station_info (expand ["bins"]). bin=0 returns ALL bins but caps the request at 7 days. Omit at single-bin stations.
dateNoShortcut window: "today" = midnight to now, "latest" = single most recent reading, "recent" = last 72 hours. Mutually exclusive with begin_date/end_date/range.
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"max_slack" = max flood/ebb + slack events (1-year max span); h/1/6/10/30/60 = time series (31-day max span).max_slack
vel_typeNo"default" = flood/ebb-axis velocity (Velocity_Major signed: + flood, - ebb); "speed_dir" = speed and compass direction.default
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.1/5.0
Behavior4/5

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

Annotations already cover the read-only/idempotent/non-destructive profile, so the description's value is the added context: per-request span caps (1 year vs 31 days), the unit-system inconsistency (knots vs cm/s), and the sign convention for Velocity_Major. It does not address error behavior or rate limits, keeping it short of a 5.

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 organized into interval, units, and vel_type blocks with a capitalized UNITS WARNING that is easy to scan. Dense for its length but no sentence is filler.

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

Completeness4/5

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

For an 11-parameter tool the description covers the consequential knobs (interval, units, vel_type, station type) and an output schema exists so return values need no explanation. It stops just short of full completeness by not contrasting against the observed-currents sibling.

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% and the schema already documents interval spans, units, vel_type sign conventions, and station ID formats, so the description largely restates structured data. The only genuinely additive semantic is 'recommended for navigation' on max_slack; baseline 3 applies when the schema does the heavy lifting.

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 predicted tidal currents for a NOAA current prediction station' — and the word 'predicted' implicitly separates this from the observed-data sibling noaa_get_currents. An agent can identify the tool's scope without opening the schema.

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

Usage Guidelines4/5

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

Gives real usage context: interval="max_slack" is 'recommended for navigation', and subordinate (type 'S') stations route to noaa_get_prediction_offsets. It does not, however, explicitly state when to prefer this over noaa_get_currents or noaa_get_tide_predictions, so it is clear on context but silent on exclusions.

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