Skip to main content
Glama

Gillby

High/low tides, hourly tide curve, sun and moon

get_tides
Read-onlyIdempotent

Predicted high and low tides (ft above MLLW, NOAA CO-OPS) for the next days days at a spot or lat+lon, the hourly tide height curve and inlet current (kt, + flood / - ebb), plus sunrise/sunset and moon phase. Times are ISO with the Eastern offset. Interpretation: omit boat unless the user supplied or confirmed it. Describe lightning as flashes observed or not detected in the stated window, never a clear/safe guarantee. Report unavailable/QC-failed sources even when freshness.stale=false; fresh does not mean every source is usable. Model sea height is not breaking surf height. Tide heights at different local MLLW gauges do not establish relative channel depths. High tide is not necessarily slack current. For kitesurfing use get_conditions with kiteStyle (freeride/waves/foil), kiteExperience and rider-supplied kiteMinWindKt/kiteMaxWindKt. Read kiteboarding for weather screening, gust spread and explicitly unverified launch status. Never infer the rider wind range, legal launch access or rescue coverage. Activity keys: kite, surf, skim (flatland), skim-wave (wave riding), paddle (flatwater paddleboard), sup-surf (SUP surf). Skim suitability is unscored without shoreline observations; missing scores must not inherit another activity. Offshore wind can favor surf while increasing paddleboard drift risk. A point depth cannot prove route clearance. Do not invent detection percentages, future readings, vessel ownership, or app settings instructions. Units: ft, kt, s, F, mi; directions FROM. Returns data and source/freshness metadata.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the bar is lower, and the description still adds real behavior: the upstream source (NOAA CO-OPS), the vertical/current datums, that times carry the Eastern offset, and that results include source/freshness metadata that can be unusable even when freshness.stale=false. Much of the 'Interpretation' block is generic output-reporting policy rather than behavior of this call, which keeps it out of the 5 band.

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

Conciseness2/5

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

The purpose sentence is well front-loaded, but it is immediately buried under a long 'Interpretation:' block mixing lightning reporting rules, kite wind-range rules, activity keys, and channel-depth cautions that have little to do with calling get_tides. Several sentences do not earn their place for this tool, and one references a nonexistent `boat` parameter.

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 a no-output-schema tool with a nested query object, the description adequately covers what is returned (high/low events, hourly curve, inlet current, sun/moon), the units and the provenance metadata. The main gap is that the locator parameters and their interaction are under-specified relative to the noise that surrounds them.

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?

With schema description coverage reported at 0%, the description must compensate, and it only partially does: it explains that `spot` or lat+lon selects the location and that `days` controls the forecast horizon ('next `days` days'). It adds no guidance on valid spot-id form, range bounds (1–7), or precedence when both spot and coordinates are supplied.

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?

The first sentence names a specific verb+resource (predicted high/low tides from NOAA CO-OPS), the exact payload (hourly curve, inlet current, sunrise/sunset, moon phase), units (ft above MLLW, kt with flood/ebb sign), and the locator forms (spot id or lat+lon). This clearly separates it from siblings like get_currents, get_waves and get_conditions.

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

Usage Guidelines3/5

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

There is explicit routing for adjacent needs ('For kitesurfing use get_conditions with kiteStyle...', 'Read kiteboarding for weather screening'), which shows awareness of alternatives. However, it never states the core when-to-use/when-not for get_tides itself versus tools like get_currents, and it references a 'boat' input that does not exist in this schema, muddying the guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.