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

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

NameRequiredDescriptionDefault
resultYes
statusYes
workerYes
price_usdYes
provenanceYes
receipt_idYes
attributionNo
receipt_urlYes
billing_warningNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / anyOf
      Removed value: -[
      -  {
      -    "required": [
      -      "location"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "lat",
      -      "lng"
      -    ]
      -  }
      -]
    • addedInput schema / minProperties
      Added value: +1
  2. 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"
  3. 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"
      +]
  4. 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"
      +}
  5. 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`."
  6. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the bar is lower. The description adds real value beyond them: data provenance (MET Norway model, US NWS alerts), a $0.10 per-call cost, and disclosure that partial failures surface via sections_failed/alerts_covered/notes rather than a hard error.

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 core capability and provenance before input/output detail, which is good structure. The long enumeration of return fields is somewhat redundant given an output schema exists, but it is dense and largely earns its space as a quick-glance contract.

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 lookup with a full output schema and complete annotation coverage, this description covers sources, pricing, input flexibility, and degraded-output signaling. Nothing an agent needs to select and 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 the baseline is 3. The description restates the location forms and the lat/lng alternative already documented in the schema, adding only a slight clarification that coordinates substitute for a location (matching minProperties: 1). No extra syntax or format detail beyond the schema.

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 opens with a specific verb+resource ('Weather forecast anywhere on Earth') and enumerates the exact scope: current conditions, 24-hour hourly, seven-day daily, plus NWS alerts. This is clearly distinguishable from siblings like hubvibe_maps_places or hubvibe_data_forecast, which cover places and non-weather forecasting.

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 by the scope statement and the accepted input formats (place name, US street address, airport code, or lat/lng), which tells an agent when it qualifies. However, no explicit when-to-use vs. when-not guidance or named alternatives (e.g., maps_places for POI lookup) are given.

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.