{"protocolVersion":"2025-06-18","serverInfo":{"name":"wetter-ensemble","title":"Weather Ensemble","version":"1.0.0"},"capabilities":{"tools":{"listChanged":false}},"transport":{"type":"http","endpoint":"https://ensemble.netzhandwerker.de/mcp","methods":["POST"]},"payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","note":"tools/list needs no payment. tools/call settles the tool price over x402."},"tools":[{"name":"weather_ensemble","description":"Compare ICON-D2, ICON-EU, IFS, AIFS, GFS, GEM, UKMO, AROME/ARPEGE, HARMONIE, GSM and GRAPES for one coordinate, hour by hour. Single model forecasts are free everywhere. This API sells the disagreement between the models: per hour a median with a p15/p85 band, the full spread, an agreement score, rain probability from pooled ensemble members, a frost read, and the official DWD warnings in force. Paid per call in USDC over x402.","inputSchema":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in decimal degrees."},"hours":{"type":"integer","minimum":1,"maximum":168,"default":24,"description":"Forecast hours, up to 168 (seven days). Short range models drop out beyond their own horizon; the per hour \"models\" count shows it."},"variables":{"type":"array","items":{"type":"string","enum":["temperature_2m","apparent_temperature","dew_point_2m","relative_humidity_2m","precipitation","snowfall","cloud_cover","wind_speed_10m","wind_gusts_10m","surface_pressure","pressure_msl","shortwave_radiation","cape","wind_direction_10m","weather_code"]},"default":["temperature_2m","precipitation","wind_speed_10m"],"maxItems":8,"description":"Which variables to compare. wind_direction_10m is aggregated as a circular mean with a directional consensus, weather_code as a majority vote; every other variable gets median, p15, p85, min, max and spread."},"models":{"type":"array","items":{"type":"string","enum":["icon_d2","icon_eu","knmi_harmonie_arome_netherlands","dmi_seamless","meteofrance_seamless","ukmo_seamless","ecmwf_ifs025","ecmwf_aifs025_single","gfs_seamless","gem_seamless","jma_seamless","cma_grapes_global"]},"default":["icon_d2","icon_eu","knmi_harmonie_arome_netherlands","dmi_seamless","meteofrance_seamless","ukmo_seamless","ecmwf_ifs025","ecmwf_aifs025_single","gfs_seamless","gem_seamless","jma_seamless","cma_grapes_global"],"minItems":2,"description":"Restrict the comparison to a subset of the twelve models. At least two, because a comparison of one model is just a forecast."},"timezone":{"type":"string","default":"UTC","description":"IANA zone name for the returned timestamps, for example Europe/Berlin."}}}},{"name":"weather_warnings","description":"Official DWD severe weather warnings in force for one coordinate in Germany, each with severity, urgency, certainty and an explicit effective/onset/expires validity window. Paid per call in USDC over x402.","inputSchema":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number","minimum":-90,"maximum":90},"lon":{"type":"number","minimum":-180,"maximum":180}}}}]}