Skip to main content
Glama
WindWise MCP

WindWise MCP

by kacaben

Compare spots

compare_locations
Read-onlyIdempotent

Compare wind and optional wave forecasts across 2–5 locations for one day and rank them by usable hours, wind steadiness, and wave size for your chosen water activity.

Instructions

Compare wind (and optionally waves) across 2-5 places for one day and rank them for a session. Ranking: most hours in usable windows, then longest continuous window, then steadier wind, then smaller waves. Set activity (e.g. dinghy_sailing) to rank for that wind range. Use for 'Bucerias or La Cruz tomorrow?' questions.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "locations": "<locations>"
    },
    "name": "compare_locations"
  }
}

Input Schema

NameRequiredDescriptionDefault
dayNoWhich day: "today", "tomorrow" or a local date "YYYY-MM-DD" (up to 15 days ahead).today
activityNoPreset wind range for an activity (wing_foiling = 12+ kn, dinghy_sailing = 10-18 kn). Explicit min/max/gust values override the preset.
end_hourNoEnd of the time range, local hour 1-24 (exclusive): 18 means up to 18:00.
locationsYes2-5 place names to compare, e.g. ["Bucerias, Mexico", "La Cruz de Huanacaxtle"].
start_hourNoStart of the time range, local hour 0-23 (inclusive).
include_marineNoAlso fetch wave height (adds one request per location).
max_gust_knotsNoReject hours whose gusts exceed this, in knots.
max_wind_knotsNoMaximum sustained wind in knots. Defaults to the activity preset, or no upper limit.
min_wind_knotsNoMinimum sustained wind in knots. Defaults to the activity preset, or 12 kn.
min_window_hoursNoIgnore stretches of good wind shorter than this many hours (default 2).

Output Schema

NameRequiredDescriptionDefault
dateYesThe compared date; null when the spots' time zones put the day on different dates.
hoursYes
notesYes
rankingYes
activityYes
failuresNo
attributionYesRequired credit for the data source.
windRangeKnYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent and openWorld, so the safety profile is covered. The description does add real behavioral value by disclosing the ranking tie-break order and that include_marine costs one extra request per location, but it says nothing about how ambiguous place names are resolved in an open-world lookup or about failures when a location is not found.

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?

Front-loaded with what the tool does and how it ranks, followed by the one parameter that changes ranking semantics and a realistic example query. No sentence is filler and the ordering matches what an agent needs before choosing the tool.

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?

A 10-parameter tool with full schema coverage and an output schema, so return format need not be described, and the description covers purpose, ranking logic and the key preset parameter. The only meaningful gap is open-world location resolution behavior, which an agent could otherwise get wrong.

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 the baseline is 3; every parameter including day, wind bounds, window hours and include_marine is documented in the schema itself. The description adds only marginal meaning, namely that activity drives the ranking rather than just filtering, which the schema already largely implies.

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: compare wind (and optionally waves) across 2-5 places for one day and rank them for a session. The scope (2-5 places, one day, ranking) is precise enough to separate it from the single-location forecast siblings without needing their schemas.

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 clear usage context including the activity preset for ranking and a concrete example question ('Bucerias or La Cruz tomorrow?'). It does not explicitly state when not to use it or name the alternative tools for single-spot forecasts, so it falls short of a 5.

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