Skip to main content
Glama

Server Details

Ocean conditions by location: water visibility, swell, wind, tide, plus dive and snorkel spot picks.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a distinct output: coverage metadata (list_coverage), facts for one spot (get_conditions), best spot picks (recommend_spot), and best day pick (best_day). The overlap is between best_day and recommend_spot, which share ranking logic but are clearly separated by dimension (time-in-window vs spots-in-area), so descriptions resolve the ambiguity.

Naming Consistency4/5

All names are snake_case, and get_conditions/list_coverage/recommend_spot follow a clean verb_noun pattern. best_day deviates as an adjective_noun that doesn't fit the verb_noun convention, but it remains readable and unambiguous.

Tool Count4/5

Four tools is lean but well-matched to the domain: coverage discovery, raw facts, spot ranking, and day ranking. Each tool earns its place with no redundant surface, though the set sits near the thin end of the spectrum.

Completeness4/5

The surface covers the full decision lifecycle: what's covered (list_coverage), raw conditions (get_conditions), ranking by spot (recommend_spot), and ranking by day (best_day). Minor gaps exist (e.g. no spot lookup by name or comparison of multiple spots side by side), but core workflows are closed.

Available Tools

4 tools
best_dayFind the best dayA
Read-onlyIdempotent
Inspect

Which day in a window (max 7 days) is best for an activity at a destination — a spot, a region, or lat+lon with a radius — and why, versus the runner-up. Returns every day's best score, confidence, caveats and a KaiCast spot card for the winner. Free during early access.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoWindow end, inclusive, at most 7 days. Default: from + 6.
latNoLatitude, decimal degrees. Use with lon.
lonNoLongitude, decimal degrees. Use with lat.
fromNoWindow start, spot-local. Default: today.
spotNoSpot id, e.g. "hanauma-bay".
regionNoRegion id, e.g. "us-hi-oahu".
activityYesWhat the user wants to do.
radius_kmNoSearch radius around lat/lon in km (default 40, max 100).

Output Schema

ParametersJSON Schema
NameRequiredDescription
bestNo
daysNo
cardsYes
schemaYes
sourceYes
statusYes
messageNo
coverageYes
disclaimerYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful context beyond that: the hard 7-day window cap, the fact that it returns every day's score/confidence/caveats plus a spot card for the winner, and the 'free during early access' cost signal.

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

Conciseness5/5

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

The core question is front-loaded in the first clause, followed by a returns sentence and a one-line pricing note. Every sentence carries information; there is no filler or restatement of the title.

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 8-parameter tool with an output schema, the description covers scope, destination forms, window limits and result shape well. The remaining gap is behavioural edge cases — what happens when no destination form is supplied or when spot/region conflict with lat/lon — but the output schema carries the return contract.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds meaning the schema does not enforce: it frames spot, region, and lat+lon+radius as three alternative ways to specify the destination, which is not expressed via oneOf/anyOf in the schema. It does not, however, clarify defaults or fallback behaviour for the date fields.

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 description states a specific verb and resource: it answers 'which day in a window is best for an activity at a destination', and adds the differentiating detail of comparing the winner against a runner-up. It is clearly distinct from siblings like get_conditions (raw conditions) and recommend_spot (place recommendation), and it even names the destination forms it accepts.

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?

Usage is implied rather than stated: the agent can infer this is the tool for picking a day within a short window, and the 'max 7 days' and 'Free during early access' notes hint at scope and cost. However, it never says when to prefer this over get_conditions or recommend_spot, nor does it state prerequisites such as needing a resolvable spot/region.

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

get_conditionsGet ocean conditionsA
Read-onlyIdempotent
Inspect

Facts for ONE covered spot over up to 7 days: 3-hour forecast periods with condition score (0-100) and rating, water visibility (ft), swell height/period/direction, wind, tide state and height, water temperature, plus tide events and data quality. Pass a spot id, or lat+lon to use the nearest covered spot within 30 km. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoLast day, inclusive. At most 7 days after from. Default: from + 6.
latNoLatitude; snaps to the nearest covered spot within 30 km.
lonNoLongitude; use with lat.
fromNoFirst day, spot-local YYYY-MM-DD. Default: today.
spotNoSpot id, e.g. "electric-beach". Pass this OR lat+lon.

Output Schema

ParametersJSON Schema
NameRequiredDescription
spotYes
schemaYes
sourceYes
periodsYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld=false), and the description adds real context beyond them: the 7-day cap, the 30 km snapping radius, the inclusion of a data-quality field, and that access is free. It does not mention pagination or any failure mode when no covered spot is within 30 km.

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 resource and scope, then the input rule and cost in a short second sentence. The long comma-separated enumeration of return fields is somewhat dense and partly duplicates the output schema, but it is not padded or repetitive.

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?

Covers scope, date window, spot-vs-coordinate resolution, the 30 km fallback, and cost. With an output schema present, the return-value detail need not be in the description, and 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 all five parameters are already documented, including the spot-OR-lat/lon exclusivity. The description restates the spot-vs-lat/lon choice and the nearest-spot rule, adding little syntax or format detail beyond the schema; baseline 3 is appropriate.

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 (get) and resource (ocean conditions) with explicit scope: facts for ONE covered spot over up to 7 days, enumerated as 3-hour forecast periods. The 'ONE spot' scope cleanly separates it from siblings like best_day and recommend_spot without needing to name them.

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?

Gives clear input-selection guidance ('Pass a spot id, or lat+lon to use the nearest covered spot within 30 km') and notes the tool is free, but never says when to prefer this over best_day or recommend_spot. Usage is implied by the fact-listing scope rather than stated.

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

list_coverageList KaiCast coverageA
Read-onlyIdempotent
Inspect

Which regions and spots KaiCast covers, and whether each region supports ranked decisions (spot picks and best-day answers) or facts only. Also lists supported activities and how directly each is modeled. Anywhere not listed is not covered. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoLimit to one region id.

Output Schema

ParametersJSON Schema
NameRequiredDescription
schemaYes
sourceYes
regionsYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is low; the description still adds real value by disclosing the cost profile ("Free") and the semantic tiering of results (ranked decisions vs facts only). It does not add auth, rate-limit, or pagination context, but none is suggested by the annotations.

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

Conciseness5/5

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

Three short sentences plus a one-word cost note, all front-loaded: coverage scope first, capability tiers second, activities third, and the negative boundary ("Anywhere not listed is not covered") immediately after. Nothing is redundant with the title or schema.

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 read-only, no-required-parameter metadata tool with full schema coverage and an output schema, the description supplies everything an agent needs: what is covered, how results are graded, the closed-world boundary, and that it is free. Return-value details are rightly delegated to the output schema.

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?

There is a single optional region parameter with 100% schema description coverage, so the schema already documents its meaning ("Limit to one region id."). The description does not mention the region filter or what an unfiltered call returns, which is the baseline-3 case where structured fields carry the parameter semantics.

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

Purpose4/5

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

The description states a specific resource (KaiCast coverage: regions, spots, supported activities) and what each entry conveys (ranked-decision capability vs facts-only). It is clearly distinguishable from the action-oriented siblings (best_day, get_conditions, recommend_spot), though it never names them explicitly to sharpen the contrast.

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?

"Anywhere not listed is not covered" and "Free" give the agent a clear decision rule for interpreting results and a cost signal for when to call it. What is missing is an explicit statement that this should be consulted before recommend_spot/best_day for an unlisted region.

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

recommend_spotRecommend spotsA
Read-onlyIdempotent
Inspect

Ranked top picks (max 5) for an activity in one area on one day — by region id, or lat+lon with a radius. Each pick has the best daylight window, why (from the published conditions), a confidence score with its factors, caveats, and a KaiCast spot card. Returns status "not_covered" / "conditions_only" / "activity_not_modeled" honestly instead of guessing. Activities: snorkel (native model), dive, freedive, spearfish (proxy model; spots in water closed to spearfishing are excluded), surf (not modeled). Free during early access.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNoLatitude, decimal degrees. Use with lon.
lonNoLongitude, decimal degrees. Use with lat.
dateNoSpot-local day to plan for. Default: today, or tomorrow once today's daylight has passed. Up to 6 days ahead.
spotNoSpot id, e.g. "hanauma-bay".
limitNoHow many picks (default 3, max 5).
regionNoRegion id, e.g. "us-hi-oahu".
activityYesWhat the user wants to do.
radius_kmNoSearch radius around lat/lon in km (default 40, max 100).

Output Schema

ParametersJSON Schema
NameRequiredDescription
cardsYes
picksYes
schemaYes
sourceYes
statusYes
messageNo
coverageYes
disclaimerYes

TDQS

A4.1/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds substantial behavior beyond them: the honest status returns ('not_covered', 'conditions_only', 'activity_not_modeled'), per-pick contents (daylight window, confidence with factors, caveats, spot card), which activities use native vs proxy models, that closed-to-spearfishing waters are excluded, and that it is free during early access. This is exactly the value-add the dimension asks for.

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?

Dense but front-loaded: the core scope leads, followed by return shape, then activity caveats and pricing. Every sentence carries information, though the parenthetical-heavy activity sentence is crammed and requires a second read.

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?

Despite an output schema existing, the description still summarizes the return shape (statuses and pick contents) in a way that sets expectations. Combined with full schema coverage and annotation-backed safety, an agent has everything needed to select and invoke this correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns extra by explaining the two alternative addressing modes (region vs lat+lon+radius) and by annotating activity semantics that the enum alone cannot convey — snorkel as native model, spearfish as proxy with exclusions, surf as unmodeled.

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

Purpose4/5

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

The description states a specific verb+resource with scope: 'Ranked top picks (max 5) for an activity in one area on one day', including the two addressing modes (region id or lat+lon with radius). This is well beyond a restatement of the name. It stops short of 5 because it never explicitly names or contrasts with siblings like best_day, which is the closest adjacent tool (day-ranking vs spot-ranking).

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?

Usage is implied through the scope statement (one activity, one area, one day, up to 6 days ahead) and the activity list with modeling caveats. However, there is no explicit when-to-use/when-not or 'use best_day instead when you want to compare days' guidance, and no alternatives are named despite three sibling tools.

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.

  1. 2 tool updates
    • Changedbest_day2 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"Region id from list_coverage, e.g. \"us-hi-oahu\"."New value: +"Region id, e.g. \"us-hi-oahu\"."
      • changedInput schema / properties / spot / description
        Previous value: -"Spot id from list_coverage or get_conditions, e.g. \"hanauma-bay\"."New value: +"Spot id, e.g. \"hanauma-bay\"."
    • Changedrecommend_spot2 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"Region id from list_coverage, e.g. \"us-hi-oahu\"."New value: +"Region id, e.g. \"us-hi-oahu\"."
      • changedInput schema / properties / spot / description
        Previous value: -"Spot id from list_coverage or get_conditions, e.g. \"hanauma-bay\"."New value: +"Spot id, e.g. \"hanauma-bay\"."
  2. 2 tool updates
    • Changedbest_day2 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"Region id, e.g. \"us-hi-oahu\"."New value: +"Region id from list_coverage, e.g. \"us-hi-oahu\"."
      • changedInput schema / properties / spot / description
        Previous value: -"Spot id, e.g. \"hanauma-bay\"."New value: +"Spot id from list_coverage or get_conditions, e.g. \"hanauma-bay\"."
    • Changedrecommend_spot2 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"Region id, e.g. \"us-hi-oahu\"."New value: +"Region id from list_coverage, e.g. \"us-hi-oahu\"."
      • changedInput schema / properties / spot / description
        Previous value: -"Spot id, e.g. \"hanauma-bay\"."New value: +"Spot id from list_coverage or get_conditions, e.g. \"hanauma-bay\"."
  3. 2 tool updates
    • Changedbest_day2 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"Region id from list_coverage, e.g. \"us-hi-oahu\"."New value: +"Region id, e.g. \"us-hi-oahu\"."
      • changedInput schema / properties / spot / description
        Previous value: -"Spot id from list_coverage or get_conditions, e.g. \"hanauma-bay\"."New value: +"Spot id, e.g. \"hanauma-bay\"."
    • Changedrecommend_spot2 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"Region id from list_coverage, e.g. \"us-hi-oahu\"."New value: +"Region id, e.g. \"us-hi-oahu\"."
      • changedInput schema / properties / spot / description
        Previous value: -"Spot id from list_coverage or get_conditions, e.g. \"hanauma-bay\"."New value: +"Spot id, e.g. \"hanauma-bay\"."
  4. 4 tool updates
    • First observedbest_day
    • First observedget_conditions
    • First observedlist_coverage
    • First observedrecommend_spot

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time water temperature and tide predictions for any lake, river, ocean, bay, or beach using NOAA, USGS, and other sources.
    20 PyPI
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Beach Safety MCP — comprehensive beach and surf conditions for any beach worldwide: waves, swell, wind, air and water temperature, UV index, rip current risk, and a 1-10 safety score. No API keys needed. Python, stdio transport.
    2
    4
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources