{"serverId":"mcp-registry/io.github.trondbjoroy/met-mcp","tools":[{"name":"find_weather_stations","fixed":{"name":"find_weather_stations","description":"Find the nearest official weather stations (Frost). Use the station id (e.g. SN50540) with get_historical_weather.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["latitude","longitude"],"properties":{"count":{"type":"integer","default":5,"maximum":20,"minimum":1,"description":"Maximum number of stations to return"},"latitude":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees"},"longitude":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees"}}},"annotations":{"readOnlyHint":true},"title":"Find weather stations"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":174,"tokensAfter":174},{"name":"get_forecast","fixed":{"name":"get_forecast","description":"Get an hourly weather forecast from MET Norway (Yr) for a coordinate. Works worldwide, best coverage in the Nordics.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["latitude","longitude"],"properties":{"hours":{"type":"integer","default":24,"maximum":48,"minimum":1,"description":"How many hours ahead to include"},"latitude":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees"},"longitude":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees"}}},"annotations":{"readOnlyHint":true},"title":"Get weather forecast"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":171,"tokensAfter":171},{"name":"get_historical_weather","fixed":{"name":"get_historical_weather","description":"Daily historical observations from a weather station (Frost archive, some stations go back over 100 years). Find station ids with find_weather_stations.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["station_id","from","to"],"properties":{"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"End date (exclusive), YYYY-MM-DD"},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Start date, YYYY-MM-DD"},"elements":{"type":"array","items":{"type":"string"},"default":["mean(air_temperature P1D)","sum(precipitation_amount P1D)","max(wind_speed P1D)"],"description":"Frost element ids. Defaults: daily mean temperature, precipitation sum, max wind."},"station_id":{"type":"string","pattern":"^SN\\d+$","description":"Station id from find_weather_stations, e.g. SN50540"}}},"annotations":{"readOnlyHint":true},"title":"Get historical weather"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":255,"tokensAfter":255},{"name":"get_nowcast","fixed":{"name":"get_nowcast","description":"Minute-by-minute precipitation for the next 2 hours, radar-based. Nordic region only. Answers 'do I need an umbrella right now?'","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["latitude","longitude"],"properties":{"latitude":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees"},"longitude":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees"}}},"annotations":{"readOnlyHint":true},"title":"Get precipitation nowcast"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":142,"tokensAfter":142},{"name":"get_ocean_forecast","fixed":{"name":"get_ocean_forecast","description":"Wave height, wave direction, and sea temperature. Covers the Norwegian coast and nearby seas.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["latitude","longitude"],"properties":{"hours":{"type":"integer","default":24,"maximum":48,"minimum":1,"description":"How many hours ahead to include"},"latitude":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees"},"longitude":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees"}}},"annotations":{"readOnlyHint":true},"title":"Get ocean forecast"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":166,"tokensAfter":166},{"name":"get_sun_events","fixed":{"name":"get_sun_events","description":"Sunrise, sunset, and solar noon for a coordinate and date. Works worldwide.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["latitude","longitude","date"],"properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Date as YYYY-MM-DD"},"latitude":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees"},"longitude":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees"},"utc_offset":{"type":"string","default":"+00:00","pattern":"^[+-]\\d{2}:\\d{2}$","description":"UTC offset for the returned times, e.g. '+02:00' for Norwegian summer time"}}},"annotations":{"readOnlyHint":true},"title":"Get sunrise and sunset"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":205,"tokensAfter":205},{"name":"get_weather_alerts","fixed":{"name":"get_weather_alerts","description":"Official danger warnings (wind, flood, ice, forest fire...) from MET Norway. Covers Norway and its waters. Omit coordinates to get all current alerts. Alert text is in Norwegian.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"latitude":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees"},"longitude":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees"}}},"annotations":{"readOnlyHint":true},"title":"Get weather alerts"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":148,"tokensAfter":148}],"toolsChanged":7,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}