pegel
German and Swiss river gauges, groundwater and flood levels from ten official sources
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin get_flood_situation
- LOWin get_weather
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"pegel": {
"url": "https://fluvigil.de/mcp"
}
}
}Remote-Endpunkte
https://fluvigil.de/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (6)
🟢search_stations(query, federalState, locale)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"description": "Station or water name, e.g. \"Köln\" or \"Rhein\"",
"type": "string"
},
"federalState": {
"description": "ISO 3166-2 code for a German state, e.g. DE-NW; CH, AT, CZ, LU or FR for a country",
"type": "string"
},
"locale": {
"description": "Language for classification text (headline/description); defaults to German",
"type": "string",
"enum": [
"de",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"totalMatches": {
"type": "number",
"description": "Matches before the result cap"
},
"stations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"water": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"federalState": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"measurementType": {
"type": "string",
"description": "river | groundwater | sea_level | reservoir"
},
"latestValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Latest level, in `unit`"
},
"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"
},
"latestValueCentimeters": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Stored raw value; an elevation ×100 where unit is not cm"
},
"lhpClass": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"floodWarning": {
"anyOf": [
{
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"providerLabel": {
"type": "string",
"description": "Credit line of the warning service"
},
"sectionCode": {
"type": "string"
},
"sectionName": {
"type": "string"
},
"level": {
"type": "number",
"description": "1 no particular vigilance … 4 exceptional flood"
},
"levelLabel": {
"type": "string"
},
"publishedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"infoUrl": {
"type": "string"
}
},
"required": [
"provider",
"providerLabel",
"sectionCode",
"sectionName",
"level",
"levelLabel",
"publishedAt",
"infoUrl"
],
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "The river section warning this gauge inherits; it describes the reach, not the gauge"
}
},
"required": [
"id",
"name",
"water",
"federalState",
"measurementType",
"latestValue",
"unit",
"latestValueCentimeters",
"lhpClass",
"floodWarning"
],
"additionalProperties": {}
}
},
"note": {
"description": "Present when the result was capped",
"type": "string"
}
},
"required": [
"totalMatches",
"stations"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢get_flood_situation(federalState, locale)
Current flood situation: stations with an active LHP flood class (1 small … 4 very large), optionally per federal state.
Eingabe-Schema
{
"type": "object",
"properties": {
"federalState": {
"description": "ISO 3166-2 code, e.g. DE-BY",
"type": "string"
},
"locale": {
"description": "Language for classification text (headline/description); defaults to German",
"type": "string",
"enum": [
"de",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"stationsWithFlood": {
"type": "number"
},
"countByClass": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
},
"description": "Station count per flood class name"
},
"stations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"water": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"federalState": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"lhpClass": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"lhpClassName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"water",
"federalState",
"lhpClass",
"lhpClassName"
],
"additionalProperties": {}
}
}
},
"required": [
"stationsWithFlood",
"countByClass",
"stations"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢get_station(stationId, locale)
Master data of one station: measurement type, current value with its unit, thresholds (MNW/MHW, alert marks, as stored valueCentimeters), flood class, coordinates.
Eingabe-Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string",
"description": "Namespaced station id, e.g. \"pegelonline:<uuid>\" or \"lhp:BY_10026301\""
},
"locale": {
"description": "Language for classification text (headline/description); defaults to German",
"type": "string",
"enum": [
"de",
"en"
]
}
},
"required": [
"stationId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"water": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"measurementType": {
"type": "string",
"description": "river | groundwater | sea_level | reservoir"
},
"latestValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Latest level, in `unit`"
},
"unit": {
"type": "string"
},
"valueDivisor": {
"type": "number",
"description": "Divide any valueCentimeters by this to read it in `unit`"
},
"latestValueCentimeters": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"latestMeasuredAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thresholds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"shortname": {
"type": "string"
},
"valueCentimeters": {
"type": "number"
}
},
"required": [
"shortname",
"valueCentimeters"
],
"additionalProperties": {}
}
},
"floodWarning": {
"anyOf": [
{
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"providerLabel": {
"type": "string",
"description": "Credit line of the warning service"
},
"sectionCode": {
"type": "string"
},
"sectionName": {
"type": "string"
},
"level": {
"type": "number",
"description": "1 no particular vigilance … 4 exceptional flood"
},
"levelLabel": {
"type": "string"
},
"publishedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"infoUrl": {
"type": "string"
}
},
"required": [
"provider",
"providerLabel",
"sectionCode",
"sectionName",
"level",
"levelLabel",
"publishedAt",
"infoUrl"
],
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "The river section warning this gauge inherits; it describes the reach, not the gauge"
}
},
"required": [
"id",
"name",
"water",
"latitude",
"longitude",
"measurementType",
"latestValue",
"unit",
"valueDivisor",
"latestValueCentimeters",
"latestMeasuredAt",
"thresholds",
"floodWarning"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢get_readings(stationId, from, to, type)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string",
"description": "Namespaced station id, e.g. \"pegelonline:<uuid>\" or \"lhp:BY_10026301\""
},
"from": {
"description": "ISO 8601 start, e.g. 2026-06-01T00:00:00Z",
"type": "string"
},
"to": {
"description": "ISO 8601 end, defaults to now",
"type": "string"
},
"type": {
"description": "Series type: level (default) or discharge (m³/s)",
"type": "string",
"enum": [
"level",
"discharge"
]
}
},
"required": [
"stationId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string"
},
"unit": {
"description": "Unit of a level series; absent for discharge",
"type": "string"
},
"valueDivisor": {
"description": "Divide valueCentimeters by this to read in unit",
"type": "number"
},
"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": {
"description": "Level series as stored valueCentimeters",
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": {}
}
},
"discharge": {
"description": "Discharge series, m³/s",
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": {}
}
},
"note": {
"description": "Present when the series was downsampled",
"type": "string"
}
},
"required": [
"stationId",
"count",
"summary"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢get_weather(stationId)
Daily weather forecast at the station coordinate (DWD data via Bright Sky).
Eingabe-Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string",
"description": "Namespaced station id, e.g. \"pegelonline:<uuid>\" or \"lhp:BY_10026301\""
}
},
"required": [
"stationId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string"
},
"stationName": {
"type": "string"
},
"attribution": {
"type": "string"
},
"available": {
"type": "boolean",
"description": "False when the forecast provider is unreachable"
},
"daily": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
}
},
"required": [
"stationId",
"stationName",
"attribution",
"available",
"daily"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢get_forecast(stationId, horizonHours)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string",
"description": "Namespaced station id, e.g. \"lhp:RP_2640010\""
},
"horizonHours": {
"description": "Hours ahead, default 72, capped at 240",
"type": "number"
}
},
"required": [
"stationId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"stationId": {
"type": "string"
},
"horizonHours": {
"type": "number"
},
"unit": {
"type": "string"
},
"valueDivisor": {
"type": "number",
"description": "Divide valueCentimeters by this to read it in `unit`"
},
"generatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Model run time; null when none was published"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"count": {
"type": "number"
},
"points": {
"type": "array",
"items": {
"type": "object",
"properties": {
"validAt": {
"type": "string"
},
"valueCentimeters": {
"type": "number"
}
},
"required": [
"validAt",
"valueCentimeters"
],
"additionalProperties": {}
}
},
"note": {
"type": "string"
}
},
"required": [
"stationId",
"horizonHours",
"unit",
"valueDivisor",
"generatedAt",
"source",
"count",
"points",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}Community
Nachweis