MCP-Server

pegel

de.fluvigil/pegel
Daten & Analytik Wissenschaft & Engineering Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Provides river gauge, groundwater, flood, forecast, weather, and historical water-level data from German and Swiss sources.

get_flood_situation
Hochwasserlage
Current flood situation: stations with an active LHP flood class (1 small … 4 very large), optionally per federal state.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'locale': {'enum': ['de', 'en'], 'type': 'string', 'description': 'Language for classification text (headline/description); defaults to German'}, 'federalState': {'type': 'string', 'description': 'ISO 3166-2 code, e.g. DE-BY'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stationsWithFlood', 'countByClass', 'stations'], 'properties': {'stations': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'water', 'federalState', 'lhpClass', 'lhpClassName'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'water': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'lhpClass': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'federalState': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'lhpClassName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': {}}}, 'countByClass': {'type': 'object', 'description': 'Station count per flood class name', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'stationsWithFlood': {'type': 'number'}}, 'additionalProperties': {}}
get_forecast
Wasserstandsvorhersage
Newest published water-level forecast for a station: the median of the state agency model run, future points within the horizon. Only gauges whose state publishes numeric forecasts have one, so an empty result is normal. Indicative, not an official warning.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stationId'], 'properties': {'stationId': {'type': 'string', 'description': 'Namespaced station id, e.g. "lhp:RP_2640010"'}, 'horizonHours': {'type': 'number', 'description': 'Hours ahead, default 72, capped at 240'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stationId', 'horizonHours', 'unit', 'valueDivisor', 'generatedAt', 'source', 'count', 'points', 'note'], 'properties': {'note': {'type': 'string'}, 'unit': {'type': 'string'}, 'count': {'type': 'number'}, 'points': {'type': 'array', 'items': {'type': 'object', 'required': ['validAt', 'valueCentimeters'], 'properties': {'validAt': {'type': 'string'}, 'valueCentimeters': {'type': 'number'}}, 'additionalProperties': {}}}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'stationId': {'type': 'string'}, 'generatedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Model run time; null when none was published'}, 'horizonHours': {'type': 'number'}, 'valueDivisor': {'type': 'number', 'description': 'Divide valueCentimeters by this to read it in `unit`'}}, 'additionalProperties': {}}
get_readings
Messreihe
Time series for a station (downsampled to ≤200 points; history depth on this tier: last 90 days, default last 7 days). type "level" (default) → level series as stored valueCentimeters: centimetres above gauge zero for most gauges, but an elevation ×100 for groundwater wells and for gauges reporting an absolute elevation (Swiss gauges, the Neusiedler See) — divide by valueDivisor to read it in unit. type "discharge" → discharge Q in m³/s where the station provides it.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stationId'], 'properties': {'to': {'type': 'string', 'description': 'ISO 8601 end, defaults to now'}, 'from': {'type': 'string', 'description': 'ISO 8601 start, e.g. 2026-06-01T00:00:00Z'}, 'type': {'enum': ['level', 'discharge'], 'type': 'string', 'description': 'Series type: level (default) or discharge (m³/s)'}, 'stationId': {'type': 'string', 'description': 'Namespaced station id, e.g. "pegelonline:<uuid>" or "lhp:BY_10026301"'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stationId', 'count', 'summary'], 'properties': {'note': {'type': 'string', 'description': 'Present when the series was downsampled'}, 'unit': {'type': 'string', 'description': 'Unit of a level series; absent for discharge'}, 'count': {'type': 'number'}, 'summary': {'anyOf': [{'type': 'object', 'properties': {}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Min and max (level: in unit) and latest point; null when empty'}, 'readings': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'additionalProperties': {}}, 'description': 'Level series as stored valueCentimeters'}, 'discharge': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'additionalProperties': {}}, 'description': 'Discharge series, m³/s'}, 'stationId': {'type': 'string'}, 'valueDivisor': {'type': 'number', 'description': 'Divide valueCentimeters by this to read in unit'}}, 'additionalProperties': {}}
get_station
Pegel-Stammdaten
Master data of one station: measurement type, current value with its unit, thresholds (MNW/MHW, alert marks, as stored valueCentimeters), flood class, coordinates.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stationId'], 'properties': {'locale': {'enum': ['de', 'en'], 'type': 'string', 'description': 'Language for classification text (headline/description); defaults to German'}, 'stationId': {'type': 'string', 'description': 'Namespaced station id, e.g. "pegelonline:<uuid>" or "lhp:BY_10026301"'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'name', 'water', 'latitude', 'longitude', 'measurementType', 'latestValue', 'unit', 'valueDivisor', 'latestValueCentimeters', 'latestMeasuredAt', 'thresholds', 'floodWarning'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'unit': {'type': 'string'}, 'water': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}, 'thresholds': {'type': 'array', 'items': {'type': 'object', 'required': ['shortname', 'valueCentimeters'], 'properties': {'shortname': {'type': 'string'}, 'valueCentimeters': {'type': 'number'}}, 'additionalProperties': {}}}, 'latestValue': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Latest level, in `unit`'}, 'floodWarning': {'anyOf': [{'type': 'object', 'required': ['provider', 'providerLabel', 'sectionCode', 'sectionName', 'level', 'levelLabel', 'publishedAt', 'infoUrl'], 'properties': {'level': {'type': 'number', 'description': '1 no particular vigilance … 4 exceptional flood'}, 'infoUrl': {'type': 'string'}, 'provider': {'type': 'string'}, 'levelLabel': {'type': 'string'}, 'publishedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'sectionCode': {'type': 'string'}, 'sectionName': {'type': 'string'}, 'providerLabel': {'type': 'string', 'description': 'Credit line of the warning service'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The river section warning this gauge inherits; it describes the reach, not the gauge'}, 'valueDivisor': {'type': 'number', 'description': 'Divide any valueCentimeters by this to read it in `unit`'}, 'measurementType': {'type': 'string', 'description': 'river | groundwater | sea_level | reservoir'}, 'latestMeasuredAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'latestValueCentimeters': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': {}}
get_weather
Wettervorhersage am Pegel
Daily weather forecast at the station coordinate (DWD data via Bright Sky).
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stationId'], 'properties': {'stationId': {'type': 'string', 'description': 'Namespaced station id, e.g. "pegelonline:<uuid>" or "lhp:BY_10026301"'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stationId', 'stationName', 'attribution', 'available', 'daily'], 'properties': {'daily': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {}, 'additionalProperties': {}}}, {'type': 'null'}]}, 'available': {'type': 'boolean', 'description': 'False when the forecast provider is unreachable'}, 'stationId': {'type': 'string'}, 'attribution': {'type': 'string'}, 'stationName': {'type': 'string'}}, 'additionalProperties': {}}
search_stations
Pegel suchen
Search stations in Germany and its neighbouring countries — river gauges, groundwater wells, reservoirs, coastal gauges — by name or water body, optionally filtered by region (a German federal state or a country code). latestValue is given in the station's unit.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'query': {'type': 'string', 'description': 'Station or water name, e.g. "Köln" or "Rhein"'}, 'locale': {'enum': ['de', 'en'], 'type': 'string', 'description': 'Language for classification text (headline/description); defaults to German'}, 'federalState': {'type': 'string', 'description': 'ISO 3166-2 code for a German state, e.g. DE-NW; CH, AT, CZ, LU or FR for a country'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['totalMatches', 'stations'], 'properties': {'note': {'type': 'string', 'description': 'Present when the result was capped'}, 'stations': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'water', 'federalState', 'measurementType', 'latestValue', 'unit', 'latestValueCentimeters', 'lhpClass', 'floodWarning'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'unit': {'type': 'string', 'description': 'cm over gauge zero; m ü. NN for wells; the datum unit (m ü. M., m ü. A.) for gauges reporting an absolute elevation'}, 'water': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'lhpClass': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'latestValue': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Latest level, in `unit`'}, 'federalState': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'floodWarning': {'anyOf': [{'type': 'object', 'required': ['provider', 'providerLabel', 'sectionCode', 'sectionName', 'level', 'levelLabel', 'publishedAt', 'infoUrl'], 'properties': {'level': {'type': 'number', 'description': '1 no particular vigilance … 4 exceptional flood'}, 'infoUrl': {'type': 'string'}, 'provider': {'type': 'string'}, 'levelLabel': {'type': 'string'}, 'publishedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'sectionCode': {'type': 'string'}, 'sectionName': {'type': 'string'}, 'providerLabel': {'type': 'string', 'description': 'Credit line of the warning service'}}, 'additionalProperties': {}}, {'type': 'null'}], 'description': 'The river section warning this gauge inherits; it describes the reach, not the gauge'}, 'measurementType': {'type': 'string', 'description': 'river | groundwater | sea_level | reservoir'}, 'latestValueCentimeters': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Stored raw value; an elevation ×100 where unit is not cm'}}, 'additionalProperties': {}}}, 'totalMatches': {'type': 'number', 'description': 'Matches before the result cap'}}, 'additionalProperties': {}}
Geändert
get_station
25. September 2026 02:50
Geändert
get_flood_situation
25. September 2026 02:50
Geändert
search_stations
25. September 2026 02:50
Hinzugefügt
get_forecast
17. September 2026 12:39
Hinzugefügt
get_weather
17. September 2026 12:39
Hinzugefügt
get_readings
17. September 2026 12:39
Hinzugefügt
get_station
17. September 2026 12:39
Hinzugefügt
get_flood_situation
17. September 2026 12:39
Hinzugefügt
search_stations
17. September 2026 12:39