Find My Tide
Server Details
Tide times and heights for about 4,600 US and Canadian stations. Not for navigation.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: search_stations finds stations, get_conditions retrieves weather conditions, and get_tides provides tide times and heights. There is no overlap in their responsibilities, so an agent can easily select the correct tool for a given task.
All tool names follow a consistent verb_noun pattern: get_conditions, get_tides, search_stations. The verbs (get, get, search) and nouns (conditions, tides, stations) are descriptive and predictable, making the set easy to navigate.
With 3 tools, the server is well-scoped for its purpose of providing tide and condition data. Each tool serves a necessary function (search, conditions, tides) and no redundant tools exist, fitting comfortably within the ideal 3-15 range.
The tool surface fully covers the core workflow: discover stations via search_stations, retrieve current weather with get_conditions, and obtain tide predictions with get_tides. There are no obvious gaps—users can accomplish all primary tasks without missing operations.
Available Tools
3 toolsget_conditionsGet current conditions at a stationARead-onlyIdempotentInspect
Current wind speed and direction, sea surface temperature and sky at a tide station. Any of them may be missing where the forecast service has no data.
| Name | Required | Description | Default |
|---|---|---|---|
| station_id | Yes | From search_stations, e.g. "noaa:9447130". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint, which cover the safety and idempotence profile. The description adds a valuable behavioral caveat: 'Any of them may be missing where the forecast service has no data.' This informs the agent that results may be incomplete, which is beyond what annotations state. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the main output and a crucial caveat. Every sentence earns its place, with no unnecessary filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description lists the returned fields and notes missing-data behavior, which is sufficient for an agent to understand the tool's scope. It does not explicitly reference siblings, but that is not necessary for completeness. The main gap is the absence of guidance on error handling, which is minor for a read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for the single parameter, station_id, including guidance on how to obtain it ('From search_stations, e.g. "noaa:9447130"'). The description itself does not add parameter meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific data returned (wind speed/direction, sea surface temperature, sky) at a tide station, which is a clear resource and scope. It implies the verb 'get' through 'Current'. It does not explicitly differentiate from siblings, but the content makes it distinct from get_tides and search_stations, so it is slightly above average.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention get_tides or search_stations, nor any conditions for selection. An agent would have to infer its purpose from the name and content, which is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tidesGet tide predictionsARead-onlyIdempotentInspect
High and low tide times and heights for one station, over one or more days in the station's local time, plus the current height and direction when the range includes now. Times are ISO 8601 with the station's UTC offset. Heights are above the station's chart datum, in feet for US stations and metres for Canadian ones unless units is given.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | First day, YYYY-MM-DD in the station's local calendar. Defaults to today there. | |
| days | No | ||
| units | No | ||
| station_id | Yes | From search_stations, e.g. "noaa:9447130". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and idempotentHint=true, which already indicate a safe, non-mutating operation. The description goes beyond this by clarifying time zones (ISO 8601 with station UTC offset), height units (feet vs metres depending on station region, overridable via units), and the chart datum reference. These add genuine behavioral context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured paragraph that front-loads the core function (high/low tides) before adding unit/zone details. Every sentence earns its place, and there is no redundant restatement of the title or schema. It is concise but informative, though slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description effectively communicates the return content (high/low times and heights, plus current height/direction) and key data formats. It addresses units and time zones, which are critical for correct interpretation. For a moderate-complexity read-only tool, this is fairly complete; missing details like error behavior are not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: date and station_id have descriptions, but days and units lack them. The tool description adds important semantics for units (feet vs metres based on station, unless overridden) and mentions the days concept ('over one or more days'), but does not explain the days parameter's default, range, or meaning beyond that. It partially compensates for the schema gaps but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns high/low tide times and heights for a single station over a date range, plus current height and direction when appropriate. This is a specific verb+resource combination that distinguishes it from siblings like search_stations (finding stations) and get_conditions (likely weather).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says the tool works 'for one station' and implies the station must be identified, but it does not explicitly state when to use this tool versus search_stations (e.g., 'use search_stations to find station_id first') or mention exclusions. The schema notes station_id comes from search_stations, but that's not in the description itself, so routing guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_stationsSearch tide stationsARead-onlyIdempotentInspect
Find tide stations in the United States, Canada and US territories by place name, by position, or both. With a name, results are ranked by how well they match (then by distance, if a position is given). With only a position, the nearest stations come first. Returns each station's id, which get_tides and get_conditions take.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | A place, station or region name, e.g. "Monterey", "Bay of Fundy", "BC". | |
| latitude | No | Decimal degrees. | |
| longitude | No | Decimal degrees. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds valuable behavioral detail beyond the annotations: result ranking rules, distance-based ordering when only position is given, and the fact that station IDs are returned for downstream consumption. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each carrying distinct information: scope, name-based ranking, position-based ranking, and return value. The description is front-loaded with the core purpose and contains no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with no output schema, the description covers geographic scope, ranking behavior, and the essential return value (station ID). It does not describe the full output shape or possible empty-result behavior, but the ID-centric output and sibling-tool linkage are sufficient for correct invocation in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 75% schema coverage, the schema documents query, latitude, and longitude directly. The description adds meaning not present in the schema by explaining how query and position interact, and how ranking depends on whether both are supplied. The limit parameter is left to schema defaults and constraints, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Find tide stations') and immediately scopes the search to the United States, Canada, and US territories. It also explains the output (station IDs) and its connection to get_tides/get_conditions, clearly distinguishing this search tool from those data-retrieval siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly lays out the three invocation modes—by place name, by position, or both—and how ranking changes across them. It also signals workflow usage by noting the returned ID feeds get_tides and get_conditions, though it does not explicitly state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_conditions - First observed
get_tides - First observed
search_stations
Related MCP Connectors
NOAA Tides & Currents — observations, predictions, datums, station metadata
NOAA tides and currents: water levels, tide predictions, currents, met data, flooding, sun and moon
Tides MCP — NOAA Tides and Currents data
Find NOAA tide stations and NDBC buoys, fetch tide predictions, currents, and live conditions.
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides Canadian tide predictions from the IWLS API, enabling retrieval of 7-day tide forecasts and station listings for monitoring stations across Canada.4-
- AlicenseNot gradedqualityFmaintenanceProvides NOAA tide predictions and observed water levels, allowing AI agents to query tide stations and current water level data.2 npmMIT
- FlicenseNot gradedqualityBmaintenanceMCP server that provides tide predictions, station lookup, and tidal event alerts for US coastal locations using live NOAA data.-
- AlicenseNot gradedqualityAmaintenanceFind NOAA tide stations and NDBC buoys, fetch tide predictions, water levels, tidal currents, and live buoy conditions via MCP.227 npm1Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.