Skip to main content
Glama

HubVibe: Pay-per-Call Agent Tools: Web Search, Email Verify, KYC Screening, Stocks, Crypto, News

Weather at a location, now and for seven days

hubvibe_maps_weather
Read-onlyIdempotent

Weather forecast anywhere on Earth: current conditions, the next 24 hours and a seven-day forecast (temperature, precipitation, wind, humidity, cloud, pressure, condition) from MET Norway's forecast model, plus active US National Weather Service alerts for US locations. Input: location as a place name, US street address or airport code, or lat and lng. $0.10 per call. Returns: location, place{name, lat, lon, country, source}, current{time, temperature_c, wind_speed_ms, wind_direction_deg, humidity_pct, cloud_cover_pct, pressure_hpa, condition, precipitation_mm}, hourly[24], daily[7]{date, min_c, max_c, precipitation_mm, condition}, alerts[], alerts_covered, units{}, forecast_updated_at, attribution[], sections_failed[], notes[], checked_at.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
latNoLatitude, instead of a location.
lngNoLongitude, instead of a location.
languageNoOptional BCP-47 language tag (en, ja, ko, pt-BR): the human-readable strings of the result (notes, details, reasons) are translated into this language; data, codes, numbers and URLs are untouched. Default: as produced.
locationNoPlace name (Kyoto), US street address, or airport code (JFK).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
statusYes
workerYes
price_usdYes
provenanceYes
receipt_idYes
attributionNo
receipt_urlYes
billing_warningNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changed
    • removedOutput schema / description
      Removed value: -"The 200 body of every paid /work call. `result` is the worker's own output (its schema is per route); everything else is the same on every /work route. A receipt for the job is at `receipt_url`."
    • removedOutput schema / properties / attribution / description
      Removed value: -"Present only when the result's text was machine-translated: the credit to show with it."
    • removedOutput schema / properties / attribution / items / description
      Removed value: -"A credit."
    • removedOutput schema / properties / attribution / items / properties
      Removed value: -{
      -  "text": {
      -    "description": "Credit.",
      -    "examples": [
      -      "Translated by Google"
      -    ],
      -    "type": "string"
      -  },
      -  "url": {
      -    "description": "Link.",
      -    "examples": [
      -      "https://translate.google.com"
      -    ],
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / attribution / items / required
      Removed value: -[
      -  "text",
      -  "url"
      -]
    • removedOutput schema / properties / attribution / items / type
      Removed value: -"object"
    • removedOutput schema / properties / billing_warning / description
      Removed value: -"Present only when the charge was recorded with a caveat."
    • removedOutput schema / properties / billing_warning / examples
      Removed value: -[
      -  "settlement pending"
      -]
    • removedOutput schema / properties / price_usd / description
      Removed value: -"What this call cost, in USD."
    • removedOutput schema / properties / price_usd / examples
      Removed value: -[
      -  0.02
      -]
    • removedOutput schema / properties / provenance / description
      Removed value: -"How the result was produced: which providers ran and how long each took."
    • removedOutput schema / properties / provenance / properties
      Removed value: -{
      -  "attempts": {
      -    "description": "Provider attempts made, including retries and failovers.",
      -    "examples": [
      -      1
      -    ],
      -    "type": "integer"
      -  },
      -  "elapsed_ms": {
      -    "description": "Wall-clock milliseconds for the whole job.",
      -    "examples": [
      -      340
      -    ],
      -    "type": "integer"
      -  },
      -  "providers_used": {
      -    "description": "Providers that served the job.",
      -    "examples": [
      -      [
      -        "coinbase-advanced-trade-public"
      -      ]
      -    ],
      -    "items": {
      -      "description": "Provider name.",
      -      "examples": [
      -        "coinbase-advanced-trade-public"
      -      ],
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "steps": {
      -    "description": "Every step the job ran, in order.",
      -    "items": {
      -      "description": "One step of the job.",
      -      "properties": {
      -        "ms": {
      -          "description": "Milliseconds the step took.",
      -          "examples": [
      -            312
      -          ],
      -          "type": "integer"
      -        },
      -        "ok": {
      -          "description": "Whether the step succeeded.",
      -          "examples": [
      -            true
      -          ],
      -          "type": "boolean"
      -        },
      -        "provider": {
      -          "description": "Provider that served the step.",
      -          "examples": [
      -            "coinbase-advanced-trade-public"
      -          ],
      -          "type": "string"
      -        },
      -        "reason": {
      -          "description": "Failure reason, on a failed step.",
      -          "examples": [
      -            "provider_timeout"
      -          ],
      -          "type": "string"
      -        },
      -        "step": {
      -          "description": "Step name inside the worker.",
      -          "examples": [
      -            "quote"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "step",
      -        "ok",
      -        "ms"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  }
      -}
    • removedOutput schema / properties / provenance / required
      Removed value: -[
      -  "steps",
      -  "providers_used",
      -  "attempts",
      -  "elapsed_ms"
      -]
    • removedOutput schema / properties / receipt_id / description
      Removed value: -"Receipt id for this job."
    • removedOutput schema / properties / receipt_id / examples
      Removed value: -[
      -  "rcpt_9f1c2b3a4d5e6f70"
      -]
    • removedOutput schema / properties / receipt_url / description
      Removed value: -"Where to fetch the machine-readable receipt (free, no payment)."
    • removedOutput schema / properties / receipt_url / examples
      Removed value: -[
      -  "/work/receipts/rcpt_9f1c2b3a4d5e6f70"
      -]
    • removedOutput schema / properties / result / properties
      Removed value: -{
      -  "alerts": {
      -    "description": "Active US National Weather Service alerts; empty outside the US or when none.",
      -    "examples": [
      -      []
      -    ],
      -    "items": {
      -      "description": "An active NWS alert.",
      -      "properties": {
      -        "effective": {
      -          "description": "From.",
      -          "examples": [
      -            "2026-09-28T12:00:00-05:00"
      -          ],
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "event": {
      -          "description": "Alert type.",
      -          "examples": [
      -            "Air Quality Alert"
      -          ],
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "expires": {
      -          "description": "Until.",
      -          "examples": [
      -            "2026-09-29T00:00:00-05:00"
      -          ],
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "headline": {
      -          "description": "Headline.",
      -          "examples": [
      -            "Air Quality Alert issued September 28 ..."
      -          ],
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "severity": {
      -          "description": "Severity.",
      -          "examples": [
      -            "Moderate"
      -          ],
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        }
      -      },
      -      "required": [
      -        "event",
      -        "severity",
      -        "headline",
      -        "effective",
      -        "expires"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "alerts_covered": {
      -    "description": "Whether alerts were checked (US points).",
      -    "examples": [
      -      true
      -    ],
      -    "type": "boolean"
      -  },
      -  "attribution": {
      -    "description": "Credits to show with the data.",
      -    "items": {
      -      "description": "A required credit.",
      -      "properties": {
      -        "license": {
      -          "description": "Licence.",
      -          "examples": [
      -            "CC BY 4.0"
      -          ],
      -          "type": "string"
      -        },
      -        "text": {
      -          "description": "Credit.",
      -          "examples": [
      -            "Data from MET Norway"
      -          ],
      -          "type": "string"
      -        },
      -        "url": {
      -          "description": "Link.",
      -          "examples": [
      -            "https://www.met.no/en"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "text",
      -        "url",
      -        "license"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "checked_at": {
      -    "description": "When this node read the source (UTC). Nothing here is cached.",
      -    "examples": [
      -      "2026-09-26T18:00:00Z"
      -    ],
      -    "format": "date-time",
      -    "type": "string"
      -  },
      -  "current": {
      -    "description": "Weather at one hour.",
      -    "properties": {
      -      "cloud_cover_pct": {
      -        "description": "Cloud cover.",
      -        "examples": [
      -          13.3
      -        ],
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "condition": {
      -        "description": "MET symbol code.",
      -        "examples": [
      -          "fair_day"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "humidity_pct": {
      -        "description": "Relative humidity.",
      -        "examples": [
      -          83.7
      -        ],
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "precipitation_mm": {
      -        "description": "Precipitation in the next hour.",
      -        "examples": [
      -          0
      -        ],
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "pressure_hpa": {
      -        "description": "Sea-level pressure.",
      -        "examples": [
      -          1013.5
      -        ],
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "temperature_c": {
      -        "description": "Air temperature.",
      -        "examples": [
      -          14.6
      -        ],
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "time": {
      -        "description": "Hour (UTC).",
      -        "examples": [
      -          "2026-09-28T16:00:00Z"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "wind_direction_deg": {
      -        "description": "Wind from.",
      -        "examples": [
      -          172.4
      -        ],
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "wind_speed_ms": {
      -        "description": "Wind speed.",
      -        "examples": [
      -          2.7
      -        ],
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "time",
      -      "temperature_c",
      -      "wind_speed_ms",
      -      "wind_direction_deg",
      -      "humidity_pct",
      -      "cloud_cover_pct",
      -      "pressure_hpa",
      -      "condition",
      -      "precipitation_mm"
      -    ],
      -    "type": "object"
      -  },
      -  "daily": {
      -    "description": "Up to seven days.",
      -    "items": {
      -      "description": "One day.",
      -      "properties": {
      -        "condition": {
      -          "description": "Midday symbol.",
      -          "examples": [
      -            "partlycloudy_day"
      -          ],
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "date": {
      -          "description": "Day (UTC).",
      -          "examples": [
      -            "2026-09-29"
      -          ],
      -          "type": "string"
      -        },
      -        "max_c": {
      -          "description": "High.",
      -          "examples": [
      -            21.4
      -          ],
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "min_c": {
      -          "description": "Low.",
      -          "examples": [
      -            12.1
      -          ],
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "precipitation_mm": {
      -          "description": "Total precipitation.",
      -          "examples": [
      -            1.2
      -          ],
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "date",
      -        "min_c",
      -        "max_c",
      -        "precipitation_mm",
      -        "condition"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "forecast_updated_at": {
      -    "description": "When MET Norway last updated this forecast.",
      -    "examples": [
      -      "2026-09-28T13:18:23Z"
      -    ],
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "hourly": {
      -    "description": "The next 24 hours.",
      -    "items": {
      -      "description": "Weather at one hour.",
      -      "properties": {
      -        "cloud_cover_pct": {
      -          "description": "Cloud cover.",
      -          "examples": [
      -            13.3
      -          ],
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "condition": {
      -          "description": "MET symbol code.",
      -          "examples": [
      -            "fair_day"
      -          ],
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "humidity_pct": {
      -          "description": "Relative humidity.",
      -          "examples": [
      -            83.7
      -          ],
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "precipitation_mm": {
      -          "description": "Precipitation in the next hour.",
      -          "examples": [
      -            0
      -          ],
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "pressure_hpa": {
      -          "description": "Sea-level pressure.",
      -          "examples": [
      -            1013.5
      -          ],
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "temperature_c": {
      -          "description": "Air temperature.",
      -          "examples": [
      -            14.6
      -          ],
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "time": {
      -          "description": "Hour (UTC).",
      -          "examples": [
      -            "2026-09-28T16:00:00Z"
      -          ],
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "wind_direction_deg": {
      -          "description": "Wind from.",
      -          "examples": [
      -            172.4
      -          ],
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "wind_speed_ms": {
      -          "description": "Wind speed.",
      -          "examples": [
      -            2.7
      -          ],
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        }
      -      },
      -      "required": [
      -        "time",
      -        "temperature_c",
      -        "wind_speed_ms",
      -        "wind_direction_deg",
      -        "humidity_pct",
      -        "cloud_cover_pct",
      -        "pressure_hpa",
      -        "condition",
      -        "precipitation_mm"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "location": {
      -    "description": "Location as given; null when coordinates were sent.",
      -    "examples": [
      -      "Kyoto"
      -    ],
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "notes": {
      -    "description": "Caveats; empty when none.",
      -    "examples": [
      -      []
      -    ],
      -    "items": {
      -      "description": "A caveat.",
      -      "examples": [
      -        "alerts: NWS alerts timed out"
      -      ],
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "place": {
      -    "description": "The point forecast.",
      -    "properties": {
      -      "country": {
      -        "description": "ISO country when known.",
      -        "examples": [
      -          "US"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "lat": {
      -        "description": "Latitude.",
      -        "examples": [
      -          35.0117
      -        ],
      -        "type": "number"
      -      },
      -      "lon": {
      -        "description": "Longitude.",
      -        "examples": [
      -          135.7683
      -        ],
      -        "type": "number"
      -      },
      -      "name": {
      -        "description": "Where it resolved.",
      -        "examples": [
      -          "Kyoto (city in Japan)"
      -        ],
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "source": {
      -        "description": "How the place was found.",
      -        "examples": [
      -          "Wikidata Q34600"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "name",
      -      "lat",
      -      "lon",
      -      "country",
      -      "source"
      -    ],
      -    "type": "object"
      -  },
      -  "sections_failed": {
      -    "description": "Empty when none.",
      -    "examples": [
      -      []
      -    ],
      -    "items": {
      -      "description": "A section whose source did not answer.",
      -      "examples": [
      -        "alerts"
      -      ],
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "units": {
      -    "description": "Units.",
      -    "properties": {
      -      "precipitation": {
      -        "description": "Unit.",
      -        "examples": [
      -          "mm"
      -        ],
      -        "type": "string"
      -      },
      -      "pressure": {
      -        "description": "Unit.",
      -        "examples": [
      -          "hPa"
      -        ],
      -        "type": "string"
      -      },
      -      "temperature": {
      -        "description": "Unit.",
      -        "examples": [
      -          "celsius"
      -        ],
      -        "type": "string"
      -      },
      -      "wind_speed": {
      -        "description": "Unit.",
      -        "examples": [
      -          "m/s"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "temperature",
      -      "wind_speed",
      -      "precipitation",
      -      "pressure"
      -    ],
      -    "type": "object"
      -  }
      -}
    • removedOutput schema / properties / result / required
      Removed value: -[
      -  "location",
      -  "place",
      -  "current",
      -  "hourly",
      -  "daily",
      -  "alerts",
      -  "alerts_covered",
      -  "units",
      -  "forecast_updated_at",
      -  "attribution",
      -  "sections_failed",
      -  "notes",
      -  "checked_at"
      -]
    • removedOutput schema / properties / status / description
      Removed value: -"Present only on a delivered result."
    • removedOutput schema / properties / worker / description
      Removed value: -"Catalog name of the worker that ran."
    • removedOutput schema / properties / worker / examples
      Removed value: -[
      -  "market.quote"
      -]
    • removedOutput schema / title
      Removed value: -"maps.weather response"
  2. Changed25 schema fields changed
    • addedInput schema / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "location"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "lat",
      +      "lng"
      +    ]
      +  }
      +]
    • addedInput schema / properties / lat
      Added value: +{
      +  "description": "Latitude, instead of a location.",
      +  "maximum": 90,
      +  "minimum": -90,
      +  "type": "number"
      +}
    • addedInput schema / properties / lng
      Added value: +{
      +  "description": "Longitude, instead of a location.",
      +  "maximum": 180,
      +  "minimum": -180,
      +  "type": "number"
      +}
    • addedInput schema / properties / location / description
      Added value: +"Place name (Kyoto), US street address, or airport code (JFK)."
    • addedInput schema / properties / location / maxLength
      Added value: +200
    • addedInput schema / properties / location / minLength
      Added value: +2
    • changedInput schema / required
      Previous value: -[
      -  "location"
      -]New value: +[]
    • addedOutput schema / properties / attribution
      Added value: +{
      +  "description": "Present only when the result's text was machine-translated: the credit to show with it.",
      +  "items": {
      +    "description": "A credit.",
      +    "properties": {
      +      "text": {
      +        "description": "Credit.",
      +        "examples": [
      +          "Translated by Google"
      +        ],
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "Link.",
      +        "examples": [
      +          "https://translate.google.com"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "text",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / result / properties / alerts
      Added value: +{
      +  "description": "Active US National Weather Service alerts; empty outside the US or when none.",
      +  "examples": [
      +    []
      +  ],
      +  "items": {
      +    "description": "An active NWS alert.",
      +    "properties": {
      +      "effective": {
      +        "description": "From.",
      +        "examples": [
      +          "2026-09-28T12:00:00-05:00"
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "event": {
      +        "description": "Alert type.",
      +        "examples": [
      +          "Air Quality Alert"
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "expires": {
      +        "description": "Until.",
      +        "examples": [
      +          "2026-09-29T00:00:00-05:00"
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "headline": {
      +        "description": "Headline.",
      +        "examples": [
      +          "Air Quality Alert issued September 28 ..."
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "severity": {
      +        "description": "Severity.",
      +        "examples": [
      +          "Moderate"
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "event",
      +      "severity",
      +      "headline",
      +      "effective",
      +      "expires"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / result / properties / alerts_covered
      Added value: +{
      +  "description": "Whether alerts were checked (US points).",
      +  "examples": [
      +    true
      +  ],
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / result / properties / attribution
      Added value: +{
      +  "description": "Credits to show with the data.",
      +  "items": {
      +    "description": "A required credit.",
      +    "properties": {
      +      "license": {
      +        "description": "Licence.",
      +        "examples": [
      +          "CC BY 4.0"
      +        ],
      +        "type": "string"
      +      },
      +      "text": {
      +        "description": "Credit.",
      +        "examples": [
      +          "Data from MET Norway"
      +        ],
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "Link.",
      +        "examples": [
      +          "https://www.met.no/en"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "text",
      +      "url",
      +      "license"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / result / properties / checked_at
      Added value: +{
      +  "description": "When this node read the source (UTC). Nothing here is cached.",
      +  "examples": [
      +    "2026-09-26T18:00:00Z"
      +  ],
      +  "format": "date-time",
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / current
      Added value: +{
      +  "description": "Weather at one hour.",
      +  "properties": {
      +    "cloud_cover_pct": {
      +      "description": "Cloud cover.",
      +      "examples": [
      +        13.3
      +      ],
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "condition": {
      +      "description": "MET symbol code.",
      +      "examples": [
      +        "fair_day"
      +      ],
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "humidity_pct": {
      +      "description": "Relative humidity.",
      +      "examples": [
      +        83.7
      +      ],
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "precipitation_mm": {
      +      "description": "Precipitation in the next hour.",
      +      "examples": [
      +        0
      +      ],
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "pressure_hpa": {
      +      "description": "Sea-level pressure.",
      +      "examples": [
      +        1013.5
      +      ],
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "temperature_c": {
      +      "description": "Air temperature.",
      +      "examples": [
      +        14.6
      +      ],
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "time": {
      +      "description": "Hour (UTC).",
      +      "examples": [
      +        "2026-09-28T16:00:00Z"
      +      ],
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "wind_direction_deg": {
      +      "description": "Wind from.",
      +      "examples": [
      +        172.4
      +      ],
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "wind_speed_ms": {
      +      "description": "Wind speed.",
      +      "examples": [
      +        2.7
      +      ],
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "time",
      +    "temperature_c",
      +    "wind_speed_ms",
      +    "wind_direction_deg",
      +    "humidity_pct",
      +    "cloud_cover_pct",
      +    "pressure_hpa",
      +    "condition",
      +    "precipitation_mm"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / result / properties / daily
      Added value: +{
      +  "description": "Up to seven days.",
      +  "items": {
      +    "description": "One day.",
      +    "properties": {
      +      "condition": {
      +        "description": "Midday symbol.",
      +        "examples": [
      +          "partlycloudy_day"
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "date": {
      +        "description": "Day (UTC).",
      +        "examples": [
      +          "2026-09-29"
      +        ],
      +        "type": "string"
      +      },
      +      "max_c": {
      +        "description": "High.",
      +        "examples": [
      +          21.4
      +        ],
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "min_c": {
      +        "description": "Low.",
      +        "examples": [
      +          12.1
      +        ],
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "precipitation_mm": {
      +        "description": "Total precipitation.",
      +        "examples": [
      +          1.2
      +        ],
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "date",
      +      "min_c",
      +      "max_c",
      +      "precipitation_mm",
      +      "condition"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / result / properties / forecast_updated_at
      Added value: +{
      +  "description": "When MET Norway last updated this forecast.",
      +  "examples": [
      +    "2026-09-28T13:18:23Z"
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / result / properties / hourly
      Added value: +{
      +  "description": "The next 24 hours.",
      +  "items": {
      +    "description": "Weather at one hour.",
      +    "properties": {
      +      "cloud_cover_pct": {
      +        "description": "Cloud cover.",
      +        "examples": [
      +          13.3
      +        ],
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "condition": {
      +        "description": "MET symbol code.",
      +        "examples": [
      +          "fair_day"
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "humidity_pct": {
      +        "description": "Relative humidity.",
      +        "examples": [
      +          83.7
      +        ],
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "precipitation_mm": {
      +        "description": "Precipitation in the next hour.",
      +        "examples": [
      +          0
      +        ],
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pressure_hpa": {
      +        "description": "Sea-level pressure.",
      +        "examples": [
      +          1013.5
      +        ],
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "temperature_c": {
      +        "description": "Air temperature.",
      +        "examples": [
      +          14.6
      +        ],
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "time": {
      +        "description": "Hour (UTC).",
      +        "examples": [
      +          "2026-09-28T16:00:00Z"
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "wind_direction_deg": {
      +        "description": "Wind from.",
      +        "examples": [
      +          172.4
      +        ],
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "wind_speed_ms": {
      +        "description": "Wind speed.",
      +        "examples": [
      +          2.7
      +        ],
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "time",
      +      "temperature_c",
      +      "wind_speed_ms",
      +      "wind_direction_deg",
      +      "humidity_pct",
      +      "cloud_cover_pct",
      +      "pressure_hpa",
      +      "condition",
      +      "precipitation_mm"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / result / properties / location / description
      Previous value: -"Location as given."New value: +"Location as given; null when coordinates were sent."
    • changedOutput schema / properties / result / properties / location / examples
      Previous value: -[
      -  "San Francisco, CA"
      -]New value: +[
      +  "Kyoto"
      +]
    • changedOutput schema / properties / result / properties / location / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / result / properties / notes
      Added value: +{
      +  "description": "Caveats; empty when none.",
      +  "examples": [
      +    []
      +  ],
      +  "items": {
      +    "description": "A caveat.",
      +    "examples": [
      +      "alerts: NWS alerts timed out"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / result / properties / place
      Added value: +{
      +  "description": "The point forecast.",
      +  "properties": {
      +    "country": {
      +      "description": "ISO country when known.",
      +      "examples": [
      +        "US"
      +      ],
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "lat": {
      +      "description": "Latitude.",
      +      "examples": [
      +        35.0117
      +      ],
      +      "type": "number"
      +    },
      +    "lon": {
      +      "description": "Longitude.",
      +      "examples": [
      +        135.7683
      +      ],
      +      "type": "number"
      +    },
      +    "name": {
      +      "description": "Where it resolved.",
      +      "examples": [
      +        "Kyoto (city in Japan)"
      +      ],
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "description": "How the place was found.",
      +      "examples": [
      +        "Wikidata Q34600"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "name",
      +    "lat",
      +    "lon",
      +    "country",
      +    "source"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / properties / result / properties / result
      Removed value: -{
      -  "description": "Current conditions, in Google Maps Grounding Lite's own response shape.",
      -  "examples": [
      -    {
      -      "temperature": {
      -        "degrees": 17.2,
      -        "unit": "CELSIUS"
      -      },
      -      "weatherCondition": {
      -        "type": "PARTLY_CLOUDY"
      -      }
      -    }
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / result / properties / sections_failed
      Added value: +{
      +  "description": "Empty when none.",
      +  "examples": [
      +    []
      +  ],
      +  "items": {
      +    "description": "A section whose source did not answer.",
      +    "examples": [
      +      "alerts"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / result / properties / units
      Added value: +{
      +  "description": "Units.",
      +  "properties": {
      +    "precipitation": {
      +      "description": "Unit.",
      +      "examples": [
      +        "mm"
      +      ],
      +      "type": "string"
      +    },
      +    "pressure": {
      +      "description": "Unit.",
      +      "examples": [
      +        "hPa"
      +      ],
      +      "type": "string"
      +    },
      +    "temperature": {
      +      "description": "Unit.",
      +      "examples": [
      +        "celsius"
      +      ],
      +      "type": "string"
      +    },
      +    "wind_speed": {
      +      "description": "Unit.",
      +      "examples": [
      +        "m/s"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "temperature",
      +    "wind_speed",
      +    "precipitation",
      +    "pressure"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / result / required
      Previous value: -[
      -  "location",
      -  "result"
      -]New value: +[
      +  "location",
      +  "place",
      +  "current",
      +  "hourly",
      +  "daily",
      +  "alerts",
      +  "alerts_covered",
      +  "units",
      +  "forecast_updated_at",
      +  "attribution",
      +  "sections_failed",
      +  "notes",
      +  "checked_at"
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / language
      Added value: +{
      +  "description": "Optional BCP-47 language tag (en, ja, ko, pt-BR): the human-readable strings of the result (notes, details, reasons) are translated into this language; data, codes, numbers and URLs are untouched. Default: as produced.",
      +  "maxLength": 35,
      +  "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / description
      Previous value: -"The 200 body of every paid /work call. `result` is the worker's own output (its schema is per route); everything else is the same on all 38 routes. A receipt for the job is at `receipt_url`."New value: +"The 200 body of every paid /work call. `result` is the worker's own output (its schema is per route); everything else is the same on every /work route. A receipt for the job is at `receipt_url`."
  5. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds valuable context the annotations do not: the $0.10 per-call cost, the MET Norway data source, NWS as the US alert source, and the existence of alerts_covered and sections_failed fields hinting at partial-failure behavior.

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?

Purpose, sources, cost, inputs and outputs are all present and reasonably front-loaded. The long 'Returns:' enumeration is somewhat wasteful given an output schema exists, but the labeled structure keeps it scannable and it is not repetitive prose.

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?

Because the output schema exists, the return-value enumeration is not strictly needed, but the description still conveys source, cost, and the US-only alert caveat that an agent should know. Nothing critical for correct invocation is missing, though explicit sibling routing would complete it.

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 of 3 applies. The description restates the location input formats (place name, address, airport code, lat/lng), which the schema already documents, and makes no mention of the optional language parameter.

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+resource (weather forecast) with explicit scope: current conditions, 24-hour and seven-day forecast, plus NWS alerts. Clearly distinguishable from siblings like hubvibe_maps_places (geocoding) and hubvibe_maps_route/hubvibe_traffic_route (routing).

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?

Explains accepted input forms (place name, US address, airport code, or lat/lng) and notes alert coverage is US-only, which implies usage. However, it never says when to prefer this tool over siblings such as hubvibe_maps_places for resolving a location, nor any prerequisites or exclusions.

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.