Skip to main content
Glama

Get what boats did at one place

get_bay_evidence
Read-onlyIdempotent

What boats did at one place, as its page on the site shows it. Its nights. Its nights by the eight compass points the wind blew from, split under 10, 10 to 20 and 20 kt or more, with the different boats and the windiest night of each. Its boats by length and type (cells under 3 boats null), its day stops by wind, its nights by swell direction where its page shows them, and the places nearby with how far and which way. It carries tonight's forecast at the place: the night's strongest forecast wind and the place's nights in that wind, as its page's Tonight shows it. Give bay_id, or name with near (WGS84 decimal degrees) to rank places of one name. Several places of one name come back as candidates.

Input Schema

NameRequiredDescriptionDefault
nameNoThe place's name, when bay_id isn't known. Several places of one name are listed as candidates, never guessed.
nearNoA position to rank places of the same name by nearness, WGS84 decimal degrees.
bay_idNoThe place's id, as find_anchorages and list results give it (the page address's last part, e.g. cane-garden-bay).

Output Schema

NameRequiredDescriptionDefault
bayYes
noteYes
sourceYes
tonightYesTonight at this place, null when the forecast isn't available or for candidates.
candidatesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / tonight / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "counted_in": {
      -        "additionalProperties": false,
      -        "description": "The wind its nights are counted in: its compass point at 10 or 20 kt or more, as its band; no point under 3 kt.",
      -        "properties": {
      -          "from": {
      -            "anyOf": [
      -              {
      -                "enum": [
      -                  "N",
      -                  "NE",
      -                  "E",
      -                  "SE",
      -                  "S",
      -                  "SW",
      -                  "W",
      -                  "NW"
      -                ],
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "description": "Null when the wind asked is under 3 kt: no settled direction, so every night counts, as on the site."
      -          },
      -          "min_kt": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "min_kt"
      -        ],
      -        "type": "object"
      -      },
      -      "counted_with_swell": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "from": {
      -                "enum": [
      -                  "N",
      -                  "NE",
      -                  "E",
      -                  "SE",
      -                  "S",
      -                  "SW",
      -                  "W",
      -                  "NW"
      -                ],
      -                "type": "string"
      -              },
      -              "min_m": {
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "from",
      -              "min_m"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The forecast swell those nights are counted with, as on the site: its compass point and the height it is counted from, m (0.5, 1.25 or 2.5 m or more). Null: the wind alone (a sheltered place, or the swell there under 0.5 m)."
      -      },
      -      "credit": {
      -        "additionalProperties": false,
      -        "description": "The forecast's credit. Show its text, linked to its url, wherever this forecast is shown.",
      -        "properties": {
      -          "text": {
      -            "const": "Weather data by Open-Meteo.com",
      -            "type": "string"
      -          },
      -          "url": {
      -            "const": "https://open-meteo.com/",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "text",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "from": {
      -        "description": "The forecast wind's compass point.",
      -        "enum": [
      -          "N",
      -          "NE",
      -          "E",
      -          "SE",
      -          "S",
      -          "SW",
      -          "W",
      -          "NW"
      -        ],
      -        "type": "string"
      -      },
      -      "gust_kt": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The forecast gust, whole kt."
      -      },
      -      "gusts_kt": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "max": {
      -                "type": "number"
      -              },
      -              "min": {
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "min",
      -              "max"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Lowest and highest gust of those nights, kt."
      -      },
      -      "mean_kt": {
      -        "description": "The forecast mean wind, whole kt.",
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      "nights": {
      -        "description": "Nights boats stayed here in that wind.",
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "time": {
      -        "description": "The night's strongest forecast time on the clock at the place, ISO with its offset.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "time",
      -      "from",
      -      "mean_kt",
      -      "gust_kt",
      -      "counted_in",
      -      "nights",
      -      "gusts_kt",
      -      "counted_with_swell",
      -      "credit"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "counted_in": {
      +        "additionalProperties": false,
      +        "description": "The wind its nights are counted in: its compass point at 10 or 20 kt or more, as its band; no point under 3 kt.",
      +        "properties": {
      +          "from": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "N",
      +                  "NE",
      +                  "E",
      +                  "SE",
      +                  "S",
      +                  "SW",
      +                  "W",
      +                  "NW"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Null when the wind asked is under 3 kt: no settled direction, so every night counts, as on the site."
      +          },
      +          "min_kt": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "min_kt"
      +        ],
      +        "type": "object"
      +      },
      +      "credit": {
      +        "additionalProperties": false,
      +        "description": "The forecast's credit. Show its text, linked to its url, wherever this forecast is shown.",
      +        "properties": {
      +          "text": {
      +            "const": "Weather data by Open-Meteo.com",
      +            "type": "string"
      +          },
      +          "url": {
      +            "const": "https://open-meteo.com/",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "text",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "from": {
      +        "description": "The forecast wind's compass point.",
      +        "enum": [
      +          "N",
      +          "NE",
      +          "E",
      +          "SE",
      +          "S",
      +          "SW",
      +          "W",
      +          "NW"
      +        ],
      +        "type": "string"
      +      },
      +      "gust_kt": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The forecast gust, whole kt."
      +      },
      +      "gusts_kt": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "max": {
      +                "type": "number"
      +              },
      +              "min": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "min",
      +              "max"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Lowest and highest gust of those nights, kt."
      +      },
      +      "mean_kt": {
      +        "description": "The forecast mean wind, whole kt.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "nights": {
      +        "description": "Nights boats stayed here in that wind.",
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "time": {
      +        "description": "The night's strongest forecast time on the clock at the place, ISO with its offset.",
      +        "type": "string"
      +      },
      +      "with_swell": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "from": {
      +                "enum": [
      +                  "N",
      +                  "NE",
      +                  "E",
      +                  "SE",
      +                  "S",
      +                  "SW",
      +                  "W",
      +                  "NW"
      +                ],
      +                "type": "string"
      +              },
      +              "min_m": {
      +                "type": "number"
      +              },
      +              "nights": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "from",
      +              "min_m",
      +              "nights"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Of those nights, the ones that also had the forecast swell there at that time, as the site says it beside the count: the swell's compass point, the height it is counted from, m (0.5, 1.25 or 2.5 m or more), and the nights. Null: no swell to say (a place with no open water that side, the swell there under 0.5 m, or no nights in that wind)."
      +      }
      +    },
      +    "required": [
      +      "time",
      +      "from",
      +      "mean_kt",
      +      "gust_kt",
      +      "counted_in",
      +      "nights",
      +      "gusts_kt",
      +      "with_swell",
      +      "credit"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / properties / tonight / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "counted_in": {
      -        "additionalProperties": false,
      -        "description": "The wind its nights are counted in: its compass point at 10 or 20 kt or more, as its band; no point under 3 kt.",
      -        "properties": {
      -          "from": {
      -            "anyOf": [
      -              {
      -                "enum": [
      -                  "N",
      -                  "NE",
      -                  "E",
      -                  "SE",
      -                  "S",
      -                  "SW",
      -                  "W",
      -                  "NW"
      -                ],
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "description": "Null when the wind asked is under 3 kt: no settled direction, so every night counts, as on the site."
      -          },
      -          "min_kt": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "min_kt"
      -        ],
      -        "type": "object"
      -      },
      -      "credit": {
      -        "additionalProperties": false,
      -        "description": "The forecast's credit. Show its text, linked to its url, wherever this forecast is shown.",
      -        "properties": {
      -          "text": {
      -            "const": "Weather data by Open-Meteo.com",
      -            "type": "string"
      -          },
      -          "url": {
      -            "const": "https://open-meteo.com/",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "text",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "from": {
      -        "description": "The forecast wind's compass point.",
      -        "enum": [
      -          "N",
      -          "NE",
      -          "E",
      -          "SE",
      -          "S",
      -          "SW",
      -          "W",
      -          "NW"
      -        ],
      -        "type": "string"
      -      },
      -      "gust_kt": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The forecast gust, whole kt."
      -      },
      -      "gusts_kt": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "max": {
      -                "type": "number"
      -              },
      -              "min": {
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "min",
      -              "max"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Lowest and highest gust of those nights, kt."
      -      },
      -      "mean_kt": {
      -        "description": "The forecast mean wind, whole kt.",
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      "nights": {
      -        "description": "Nights boats stayed here in that wind.",
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "time": {
      -        "description": "The night's strongest forecast time on the clock at the place, ISO with its offset.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "time",
      -      "from",
      -      "mean_kt",
      -      "gust_kt",
      -      "counted_in",
      -      "nights",
      -      "gusts_kt",
      -      "credit"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "counted_in": {
      +        "additionalProperties": false,
      +        "description": "The wind its nights are counted in: its compass point at 10 or 20 kt or more, as its band; no point under 3 kt.",
      +        "properties": {
      +          "from": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "N",
      +                  "NE",
      +                  "E",
      +                  "SE",
      +                  "S",
      +                  "SW",
      +                  "W",
      +                  "NW"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Null when the wind asked is under 3 kt: no settled direction, so every night counts, as on the site."
      +          },
      +          "min_kt": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "min_kt"
      +        ],
      +        "type": "object"
      +      },
      +      "counted_with_swell": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "from": {
      +                "enum": [
      +                  "N",
      +                  "NE",
      +                  "E",
      +                  "SE",
      +                  "S",
      +                  "SW",
      +                  "W",
      +                  "NW"
      +                ],
      +                "type": "string"
      +              },
      +              "min_m": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "from",
      +              "min_m"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The forecast swell those nights are counted with, as on the site: its compass point and the height it is counted from, m (0.5, 1.25 or 2.5 m or more). Null: the wind alone (a sheltered place, or the swell there under 0.5 m)."
      +      },
      +      "credit": {
      +        "additionalProperties": false,
      +        "description": "The forecast's credit. Show its text, linked to its url, wherever this forecast is shown.",
      +        "properties": {
      +          "text": {
      +            "const": "Weather data by Open-Meteo.com",
      +            "type": "string"
      +          },
      +          "url": {
      +            "const": "https://open-meteo.com/",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "text",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "from": {
      +        "description": "The forecast wind's compass point.",
      +        "enum": [
      +          "N",
      +          "NE",
      +          "E",
      +          "SE",
      +          "S",
      +          "SW",
      +          "W",
      +          "NW"
      +        ],
      +        "type": "string"
      +      },
      +      "gust_kt": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The forecast gust, whole kt."
      +      },
      +      "gusts_kt": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "max": {
      +                "type": "number"
      +              },
      +              "min": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "min",
      +              "max"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Lowest and highest gust of those nights, kt."
      +      },
      +      "mean_kt": {
      +        "description": "The forecast mean wind, whole kt.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "nights": {
      +        "description": "Nights boats stayed here in that wind.",
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "time": {
      +        "description": "The night's strongest forecast time on the clock at the place, ISO with its offset.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "time",
      +      "from",
      +      "mean_kt",
      +      "gust_kt",
      +      "counted_in",
      +      "nights",
      +      "gusts_kt",
      +      "counted_with_swell",
      +      "credit"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed1 schema field changed
    • changedOutput schema / properties / tonight / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "counted_in": {
      -        "additionalProperties": false,
      -        "description": "The wind its nights are counted in: its compass point at 10 or 20 kt or more, as its band.",
      -        "properties": {
      -          "from": {
      -            "enum": [
      -              "N",
      -              "NE",
      -              "E",
      -              "SE",
      -              "S",
      -              "SW",
      -              "W",
      -              "NW"
      -            ],
      -            "type": "string"
      -          },
      -          "min_kt": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "min_kt"
      -        ],
      -        "type": "object"
      -      },
      -      "credit": {
      -        "additionalProperties": false,
      -        "description": "The forecast's credit. Show its text, linked to its url, wherever this forecast is shown.",
      -        "properties": {
      -          "text": {
      -            "const": "Weather data by Open-Meteo.com",
      -            "type": "string"
      -          },
      -          "url": {
      -            "const": "https://open-meteo.com/",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "text",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "from": {
      -        "description": "The forecast wind's compass point.",
      -        "enum": [
      -          "N",
      -          "NE",
      -          "E",
      -          "SE",
      -          "S",
      -          "SW",
      -          "W",
      -          "NW"
      -        ],
      -        "type": "string"
      -      },
      -      "gust_kt": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The forecast gust, whole kt."
      -      },
      -      "gusts_kt": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "max": {
      -                "type": "number"
      -              },
      -              "min": {
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "min",
      -              "max"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Lowest and highest gust of those nights, kt."
      -      },
      -      "mean_kt": {
      -        "description": "The forecast mean wind, whole kt.",
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      "nights": {
      -        "description": "Nights boats stayed here in that wind.",
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "time": {
      -        "description": "The night's strongest forecast time on the clock at the place, ISO with its offset.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "time",
      -      "from",
      -      "mean_kt",
      -      "gust_kt",
      -      "counted_in",
      -      "nights",
      -      "gusts_kt",
      -      "credit"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "counted_in": {
      +        "additionalProperties": false,
      +        "description": "The wind its nights are counted in: its compass point at 10 or 20 kt or more, as its band; no point under 3 kt.",
      +        "properties": {
      +          "from": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "N",
      +                  "NE",
      +                  "E",
      +                  "SE",
      +                  "S",
      +                  "SW",
      +                  "W",
      +                  "NW"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Null when the wind asked is under 3 kt: no settled direction, so every night counts, as on the site."
      +          },
      +          "min_kt": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "min_kt"
      +        ],
      +        "type": "object"
      +      },
      +      "credit": {
      +        "additionalProperties": false,
      +        "description": "The forecast's credit. Show its text, linked to its url, wherever this forecast is shown.",
      +        "properties": {
      +          "text": {
      +            "const": "Weather data by Open-Meteo.com",
      +            "type": "string"
      +          },
      +          "url": {
      +            "const": "https://open-meteo.com/",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "text",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "from": {
      +        "description": "The forecast wind's compass point.",
      +        "enum": [
      +          "N",
      +          "NE",
      +          "E",
      +          "SE",
      +          "S",
      +          "SW",
      +          "W",
      +          "NW"
      +        ],
      +        "type": "string"
      +      },
      +      "gust_kt": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The forecast gust, whole kt."
      +      },
      +      "gusts_kt": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "max": {
      +                "type": "number"
      +              },
      +              "min": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "min",
      +              "max"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Lowest and highest gust of those nights, kt."
      +      },
      +      "mean_kt": {
      +        "description": "The forecast mean wind, whole kt.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "nights": {
      +        "description": "Nights boats stayed here in that wind.",
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "time": {
      +        "description": "The night's strongest forecast time on the clock at the place, ISO with its offset.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "time",
      +      "from",
      +      "mean_kt",
      +      "gust_kt",
      +      "counted_in",
      +      "nights",
      +      "gusts_kt",
      +      "credit"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  4. First observed

TDQS

A3.5/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. The description adds useful behavioral details beyond them: cells under 3 boats are null, some data appears only where the page shows it, ambiguous names are returned as candidates rather than guessed, and tonight's forecast is included.

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 description is front-loaded with purpose, but it is long and repetitive, with a run-on inventory of return fields. Since an output schema exists, much of this detail duplicates structured data and makes the definition harder to scan.

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?

Given the rich annotations, 100% schema coverage, and presence of an output schema, the definition covers the important invocation modes and candidate behavior adequately. It is slightly incomplete because it does not explicitly state whether an identifier is required or what happens if neither bay_id nor name is supplied.

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 schema already documents bay_id, name, and near thoroughly. The description clarifies the bay_id-or-name+near relationship and candidate behavior, but mostly reinforces what the schema already says rather than adding substantial new 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 clearly states the resource: boat activity evidence for one place, including nights, wind breakdowns, nearby places, and forecast. It is specific enough to distinguish the tool from an anchorage search or climatology tool, but it never explicitly contrasts itself with its siblings.

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?

The description gives invocation guidance for choosing bay_id versus name plus near, and explains that duplicate names return candidates. However, it does not say when to use this tool instead of find_anchorages, get_climatology, or list_regions, so alternative selection is left to inference.

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.

Resources