Skip to main content
Glama

Server Details

German and Swiss river gauges, groundwater and flood levels from ten official sources

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
97.3% over 46 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct resource/action: station search, station metadata, time-series readings, forecast, flood classification, and local weather. The only mild overlap is get_forecast (numeric water-level model output) versus get_flood_situation (active LHP flood class), but the descriptions draw that boundary clearly enough that misselection is unlikely.

Naming Consistency5/5

All six tools follow a clean verb_noun pattern (get_flood_situation, get_forecast, get_readings, get_station, get_weather, search_stations), with 'get_' for retrieval and 'search_' for lookup. No casing or verb-style drift anywhere in the set.

Tool Count5/5

Six tools is well-scoped for a read-only hydrological data API: one search entry point plus one tool per data facet (master data, readings, forecast, flood status, weather). Nothing looks redundant or padded.

Completeness4/5

The surface covers search, station metadata, level/discharge time series, forecast, flood status, and weather, and being a public read-only API means no write/CRUD tools are expected. Minor gaps remain, such as bulk retrieval of readings across multiple stations or explicit listing of available regions/providers, but agents can work around these via search_stations and per-station calls.

Available Tools

6 tools
get_flood_situationHochwasserlageA
Read-onlyIdempotent
Inspect

Current flood situation: stations with an active LHP flood class (1 small … 4 very large), optionally per federal state. Every result names the data provider in sourceNotice (search and flood situation: sourceNotices, keyed by sourceNoticeId); show that notice with any value, class or forecast you pass on, and the licence terms of the API require it.

NameRequiredDescriptionDefault
localeNoLanguage for classification text (headline/description); defaults to German
federalStateNoISO 3166-2 code, e.g. DE-BY

Output Schema

NameRequiredDescription
stationsYes
countByClassYesStation count per flood class name
sourceNoticesYesDistinct notices of the listed gauges by key; a gauge names its own in sourceNoticeId
stationsWithFloodYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, open-world behavior, so the bar is lower, and the description still adds real value: a licence-mandated attribution obligation (the sourceNotice must be shown with any value, class or forecast passed on) and the fact that notices are keyed by sourceNoticeId. It omits only secondary traits such as result ordering or handling of an empty result set.

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?

Opens with the purpose, then moves to the attribution requirement — the right front-loading. The sourceNotice sentence is long and slightly clause-heavy, but every element (keyed by sourceNoticeId, must be shown, licence requirement) carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Annotations cover the safety profile, the output schema covers return values, and both parameters are schema-documented, so the description only needed to add scope and the attribution constraint — which it does. Minor gaps remain around empty results and ordering, but nothing essential for correct invocation 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?

With 100% schema description coverage, the schema already documents both locale and federalState, so the baseline is 3. The description adds the notion that federalState acts as an optional narrowing filter, but contributes nothing about the locale enum or the ISO 3166-2 format beyond what the schema states.

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?

States a specific verb+resource ('Current flood situation'), the exact scope (stations with an active LHP flood class 1–4) and the optional federal-state filter. Among siblings like get_readings, get_forecast and get_weather, an agent can tell immediately that this one returns flood-class warnings rather than raw measurements or forecasts.

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?

The description conveys the retrieval context (current flood situation, optionally narrowed by federal state) but never says when to prefer this over get_forecast or get_readings, nor does it state exclusions such as 'no forecast data here'. Usage is implied by the resource name rather than explicitly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_forecastWasserstandsvorhersageA
Read-onlyIdempotent
Inspect

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. Every result names the data provider in sourceNotice (search and flood situation: sourceNotices, keyed by sourceNoticeId); show that notice with any value, class or forecast you pass on, and the licence terms of the API require it.

NameRequiredDescriptionDefault
stationIdYesNamespaced station id, e.g. "lhp:RP_2640010"
horizonHoursNoHours ahead, default 72, capped at 240

Output Schema

NameRequiredDescription
noteYes
unitYes
countYes
pointsYes
sourceYes
stationIdYes
generatedAtYesModel run time; null when none was published
horizonHoursYes
sourceNoticeYesNotice of the gauge as shown; show it with any value taken from this gauge. Null where none can be built, then no value is delivered
valueDivisorYesDivide valueCentimeters by this to read it in `unit`

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and open-world safety, yet the description adds material context beyond them: the value is a model median (not an observation), it is indicative rather than an official warning, empty results are expected, and passing a value on obliges the caller to display the provider notice per the licence. That is substantive behavioral disclosure.

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 primary purpose and then the interpretive caveats, and nearly every clause carries load (empty result, indicativeness, attribution duty). The closing attribution sentence is dense and slightly over-stuffed but not redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return structure need not be explained, and the description still covers the non-obvious semantics: expected emptiness, model provenance, and the licence obligation on sourceNotice. An agent has what it needs to call and interpret the tool.

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 both stationId and horizonHours (including the 72h default and 240h cap) are already documented in the schema. The description only restates the horizon concept in prose and adds no format or edge-case detail for either parameter, so the baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('newest published water-level forecast for a station') and narrows it further to the median of the state agency model run over future points in the horizon. This is clearly distinct from get_readings/get_weather, though no sibling is named explicitly to sharpen the contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the precondition that only gauges whose state publishes numeric forecasts return data and that an empty result is therefore normal, which prevents an agent from misreading a null response. It also points at where the sourceNotice is surfaced elsewhere (search and flood situation), but states no explicit when-not-to-use or alternative tool for observed readings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_readingsMessreiheA
Read-onlyIdempotent
Inspect

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. Every result names the data provider in sourceNotice (search and flood situation: sourceNotices, keyed by sourceNoticeId); show that notice with any value, class or forecast you pass on, and the licence terms of the API require it.

NameRequiredDescriptionDefault
toNoISO 8601 end, defaults to now
fromNoISO 8601 start, e.g. 2026-06-01T00:00:00Z
typeNoSeries type: level (default) or discharge (m³/s)
stationIdYesNamespaced station id, e.g. "pegelonline:<uuid>" or "lhp:BY_10026301"

Output Schema

NameRequiredDescription
noteNoPresent when the series was downsampled
unitNoUnit of a level series; absent for discharge
countYes
summaryYesMin and max (level: in unit) and latest point; null when empty
readingsNoLevel series as stored valueCentimeters
dischargeNoDischarge series, m³/s
stationIdYes
sourceNoticeYesNotice of the gauge as shown; show it with any value taken from this gauge. Null where none can be built, then no value is delivered
valueDivisorNoDivide valueCentimeters by this to read in unit

TDQS

A4.1/5.0
Behavior5/5

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

With annotations already covering read-only, idempotent, non-destructive and open-world behavior, the description still adds substantial non-obvious context: results are downsampled to ≤200 points, history is capped at 90 days, and the API licence obliges the caller to surface sourceNotice attribution. That is exactly the kind of behavioral and legal constraint annotations cannot express.

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?

The purpose is front-loaded and every clause carries real payload — units, defaults, retention, attribution. The heavy dash-clause construction makes it dense to parse, but there is little true waste.

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?

An output schema exists, so return values need not be described, and the description still covers the sampling cap, retention window, default range, unit interpretation and attribution obligations. For a tool with this many non-obvious semantics, nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema by explaining what 'level' actually means numerically (valueCentimeters, divided by valueDivisor, with the elevation ×100 quirk for wells and Swiss gauges) and confirming 'discharge' is m³/s where available. Only 'from'/'to' receive no extra treatment beyond the schema, which already documents them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — 'Time series for a station' — and immediately constrains it with downsampling and retention limits, so an agent knows exactly what comes back. It does not explicitly name or contrast with siblings such as get_forecast or get_flood_situation, which keeps it just short of a 5.

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?

It implicitly tells the agent the tool is for historical/current measurement series by defaulting to the last 7 days within a 90-day depth, and it hints at other tools ('search and flood situation'), but it never states when to prefer this over get_forecast or get_flood_situation. Usage is implied rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_stationPegel-StammdatenA
Read-onlyIdempotent
Inspect

Master data of one station: measurement type, current value with its unit, thresholds (MNW/MHW, alert marks, as stored valueCentimeters), flood class, coordinates. Every result names the data provider in sourceNotice (search and flood situation: sourceNotices, keyed by sourceNoticeId); show that notice with any value, class or forecast you pass on, and the licence terms of the API require it.

NameRequiredDescriptionDefault
localeNoLanguage for classification text (headline/description); defaults to German
stationIdYesNamespaced station id, e.g. "pegelonline:<uuid>" or "lhp:BY_10026301"

Output Schema

NameRequiredDescription
idYes
nameYes
unitYes
waterYes
latitudeYes
longitudeYes
thresholdsYes
waterClassYesriver | lake | coast | groundwater — the group the gauge belongs to; measurementType says what it measures
latestValueYesLatest level, in `unit`
floodWarningYesThe river section warning this gauge inherits; it describes the reach, not the gauge
sourceNoticeYesNotice of the gauge as shown; show it with any value taken from this gauge. Null where none can be built, then no value is delivered
valueDivisorYesDivide any valueCentimeters by this to read it in `unit`
measurementTypeYesriver | groundwater | sea_level | reservoir
latestMeasuredAtYes
latestValueCentimetersYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this a safe, idempotent, read-only call, so the bar is low; the description still adds non-obvious behavior: thresholds are stored as valueCentimeters, every result carries a sourceNotice, and search/flood endpoints use sourceNotices keyed by sourceNoticeId. The mandated attribution step is a genuine operational constraint not derivable from any structured field.

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?

The first clause front-loads the payload contents efficiently in a single sentence. The second sentence is long and mixes the sourceNotice convention with an attribution mandate, but every element is load-bearing for an agent that must cite the provider.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no prose, and annotations carry the safety profile; the description is complete on the unusual parts (attribution requirement, threshold units). The one gap is that it never says where a valid stationId comes from, though the schema example partially covers this.

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%, with the namespaced stationId format and the locale enum/default documented in the schema itself, so the baseline is 3. The description's mention of valueCentimeters describes output formatting, not input semantics, so it adds little beyond the schema for either parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource ('master data of one station') and enumerates the returned fields (measurement type, current value, thresholds, flood class, coordinates), which is clearly distinct from get_readings/get_forecast. It stops short of explicitly contrasting itself with search_stations or naming the sibling that supplies the stationId, so sibling differentiation is implied rather than stated.

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?

There is no explicit 'use this when...' or 'use search_stations to find the id' routing, so tool selection is left to inference. The description does impose an actionable usage obligation — show sourceNotice alongside any value/class/forecast passed on, because the licence terms require it — which is real conditional guidance, just not about tool choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_weatherWettervorhersage am PegelB
Read-onlyIdempotent
Inspect

Daily weather forecast at the station coordinate (DWD data via Bright Sky).

NameRequiredDescriptionDefault
stationIdYesNamespaced station id, e.g. "pegelonline:<uuid>" or "lhp:BY_10026301"

Output Schema

NameRequiredDescription
dailyYes
availableYesFalse when the forecast provider is unreachable
stationIdYes
attributionYes
stationNameYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about daily granularity and the underlying data source (DWD via Bright Sky), but it does not disclose rate limits, caching, freshness, or other operational behavior beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Every element—daily granularity, station coordinate scope, and data source—earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with full schema coverage, rich annotations, and an output schema, the description is largely complete: it identifies the resource, location basis, and data origin. The only notable gap is the lack of explicit sibling routing, which could matter when get_forecast is also present.

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%, and the single stationId parameter already includes format examples in the schema. The description implies that the station id resolves to a coordinate used for the forecast, which adds a little meaning, but it provides no additional syntax, constraints, or edge-case handling beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (daily weather forecast), scope (at the station coordinate), and data source (DWD data via Bright Sky). It is clear enough to distinguish from water-level siblings like get_readings or get_flood_situation, but it does not explicitly differentiate from get_forecast, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says what the tool returns but gives no when-to-use guidance, prerequisites, or alternatives among the six sibling tools. There is no indication of when to prefer get_weather over get_forecast or other forecast/observation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_stationsPegel suchenA
Read-onlyIdempotent
Inspect

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. Every result names the data provider in sourceNotice (search and flood situation: sourceNotices, keyed by sourceNoticeId); show that notice with any value, class or forecast you pass on, and the licence terms of the API require it.

NameRequiredDescriptionDefault
queryNoStation or water name, e.g. "Köln" or "Rhein"
localeNoLanguage for classification text (headline/description); defaults to German
waterClassNoOnly gauges of these classes: river, lake (lakes and reservoirs), coast (coast and tide), groundwater; omit for all
federalStateNoISO 3166-2 code for a German state, e.g. DE-NW; CH, AT, CZ, LU or FR for a country

Output Schema

NameRequiredDescription
noteNoPresent when the result was capped
stationsYes
totalMatchesYesMatches before the result cap
sourceNoticesYesDistinct notices of the listed gauges by key; a gauge names its own in sourceNoticeId

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/openWorld safety, but the description adds genuinely useful behavioral context beyond them: latestValue is expressed in the station's own unit, and every result carries a provider notice in sourceNotice that the API licence requires be shown. That attribution obligation is real operational guidance not present in structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and the content is dense with useful facts, but the attribution clause is convoluted (the parenthetical 'search and flood situation: sourceNotices, keyed by sourceNoticeId') and the run-on final sentence makes the compliance requirement harder to parse than it needs to be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape needn't be explained, and the description still adds the two things an agent needs operationally: unit semantics for latestValue and the sourceNotice attribution duty. For a 0-required-param search tool with full annotation coverage, this is close to complete.

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 schema already documents query, locale, waterClass and federalState. The description restates the region-filter semantics (state or country code) and name/water-body lookup, but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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?

States a specific verb (search) and resource (stations/gauges) and enumerates the concrete station types covered (river gauges, groundwater wells, reservoirs, coastal gauges). The plural search framing clearly contrasts with the singular get_station sibling, so an agent can distinguish them without opening schemas.

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?

Describes the lookup mode (by name or water body, optional region filter), which implies when to reach for it, but never states when NOT to use it or names alternatives like get_station for ID-based retrieval. Usage is inferable but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedget_station2 fields changed
      • addedOutput schema / properties / waterClass
        Added value: +{
        +  "description": "river | lake | coast | groundwater — the group the gauge belongs to; measurementType says what it measures",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "name",
        -  "water",
        -  "latitude",
        -  "longitude",
        -  "measurementType",
        -  "latestValue",
        -  "unit",
        -  "valueDivisor",
        -  "latestValueCentimeters",
        -  "latestMeasuredAt",
        -  "thresholds",
        -  "floodWarning",
        -  "sourceNotice"
        -]New value: +[
        +  "id",
        +  "name",
        +  "water",
        +  "latitude",
        +  "longitude",
        +  "measurementType",
        +  "waterClass",
        +  "latestValue",
        +  "unit",
        +  "valueDivisor",
        +  "latestValueCentimeters",
        +  "latestMeasuredAt",
        +  "thresholds",
        +  "floodWarning",
        +  "sourceNotice"
        +]
    • Changedsearch_stations3 fields changed
      • addedInput schema / properties / waterClass
        Added value: +{
        +  "description": "Only gauges of these classes: river, lake (lakes and reservoirs), coast (coast and tide), groundwater; omit for all",
        +  "items": {
        +    "enum": [
        +      "river",
        +      "lake",
        +      "coast",
        +      "groundwater"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / stations / items / properties / waterClass
        Added value: +{
        +  "description": "river | lake | coast | groundwater — the group the gauge belongs to; measurementType says what it measures",
        +  "type": "string"
        +}
      • changedOutput schema / properties / stations / items / required
        Previous value: -[
        -  "id",
        -  "name",
        -  "water",
        -  "federalState",
        -  "measurementType",
        -  "latestValue",
        -  "unit",
        -  "latestValueCentimeters",
        -  "lhpClass",
        -  "floodWarning",
        -  "sourceNoticeId"
        -]New value: +[
        +  "id",
        +  "name",
        +  "water",
        +  "federalState",
        +  "measurementType",
        +  "waterClass",
        +  "latestValue",
        +  "unit",
        +  "latestValueCentimeters",
        +  "lhpClass",
        +  "floodWarning",
        +  "sourceNoticeId"
        +]
  2. 5 tool updates
    • Changedget_flood_situation4 fields changed
      • addedOutput schema / properties / sourceNotices
        Added value: +{
        +  "additionalProperties": {
        +    "additionalProperties": {},
        +    "properties": {
        +      "fetchedAt": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "When the values were fetched, UTC"
        +      },
        +      "form": {
        +        "description": "full-only: show the full text, never shorten; short-allowed",
        +        "type": "string"
        +      },
        +      "id": {
        +        "description": "Key of the source record",
        +        "type": "string"
        +      },
        +      "licence": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {},
        +            "properties": {},
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "parts": {
        +        "items": {
        +          "additionalProperties": {},
        +          "properties": {
        +            "fetchedAt": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "When the values were fetched, UTC"
        +            },
        +            "form": {
        +              "description": "full-only: show the full text, never shorten; short-allowed",
        +              "type": "string"
        +            },
        +            "id": {
        +              "description": "Key of the source record",
        +              "type": "string"
        +            },
        +            "licence": {
        +              "anyOf": [
        +                {
        +                  "additionalProperties": {},
        +                  "properties": {},
        +                  "type": "object"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "permissionBasis": {
        +              "type": "string"
        +            },
        +            "rightsHolder": {
        +              "type": "string"
        +            },
        +            "sourceName": {
        +              "type": "string"
        +            },
        +            "sourceUrl": {
        +              "type": "string"
        +            },
        +            "stampedAt": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "The provider's own time stamp, UTC"
        +            },
        +            "stationLink": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "Origin page of this gauge where one is required"
        +            },
        +            "text": {
        +              "description": "The full notice as plain text",
        +              "type": "string"
        +            },
        +            "textShort": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "Shortened notice; null where it must never be shortened"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "form",
        +            "permissionBasis",
        +            "licence",
        +            "sourceName",
        +            "sourceUrl",
        +            "rightsHolder",
        +            "fetchedAt",
        +            "stampedAt",
        +            "stationLink",
        +            "text",
        +            "textShort"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "permissionBasis": {
        +        "type": "string"
        +      },
        +      "rightsHolder": {
        +        "type": "string"
        +      },
        +      "sourceName": {
        +        "type": "string"
        +      },
        +      "sourceUrl": {
        +        "type": "string"
        +      },
        +      "stampedAt": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "The provider's own time stamp, UTC"
        +      },
        +      "stationLink": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Origin page of this gauge where one is required"
        +      },
        +      "text": {
        +        "description": "The full notice as plain text",
        +        "type": "string"
        +      },
        +      "textShort": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Shortened notice; null where it must never be shortened"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "form",
        +      "permissionBasis",
        +      "licence",
        +      "sourceName",
        +      "sourceUrl",
        +      "rightsHolder",
        +      "fetchedAt",
        +      "stampedAt",
        +      "stationLink",
        +      "text",
        +      "textShort",
        +      "parts"
        +    ],
        +    "type": "object"
        +  },
        +  "description": "Distinct notices of the listed gauges by key; a gauge names its own in sourceNoticeId",
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / stations / items / properties / sourceNoticeId
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Key into sourceNotices; the flood class is delivered under this notice"
        +}
      • changedOutput schema / properties / stations / items / required
        Previous value: -[
        -  "id",
        -  "name",
        -  "water",
        -  "federalState",
        -  "lhpClass",
        -  "lhpClassName"
        -]New value: +[
        +  "id",
        +  "name",
        +  "water",
        +  "federalState",
        +  "lhpClass",
        +  "lhpClassName",
        +  "sourceNoticeId"
        +]
      • changedOutput schema / required
        Previous value: -[
        -  "stationsWithFlood",
        -  "countByClass",
        -  "stations"
        -]New value: +[
        +  "stationsWithFlood",
        +  "countByClass",
        +  "sourceNotices",
        +  "stations"
        +]
    • Changedget_forecast2 fields changed
      • addedOutput schema / properties / sourceNotice
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {},
        +      "properties": {
        +        "disclaimer": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Liability disclaimer"
        +        },
        +        "fetchedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "When the values were fetched, UTC"
        +        },
        +        "form": {
        +          "description": "full-only: show the full text, never shorten; short-allowed",
        +          "type": "string"
        +        },
        +        "id": {
        +          "description": "Key of the source record",
        +          "type": "string"
        +        },
        +        "licence": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": {},
        +              "properties": {},
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "noOfficialWarning": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Statement that the values are no official warning"
        +        },
        +        "parts": {
        +          "items": {
        +            "additionalProperties": {},
        +            "properties": {
        +              "fetchedAt": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ],
        +                "description": "When the values were fetched, UTC"
        +              },
        +              "form": {
        +                "description": "full-only: show the full text, never shorten; short-allowed",
        +                "type": "string"
        +              },
        +              "id": {
        +                "description": "Key of the source record",
        +                "type": "string"
        +              },
        +              "licence": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": {},
        +                    "properties": {},
        +                    "type": "object"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "permissionBasis": {
        +                "type": "string"
        +              },
        +              "rightsHolder": {
        +                "type": "string"
        +              },
        +              "sourceName": {
        +                "type": "string"
        +              },
        +              "sourceUrl": {
        +                "type": "string"
        +              },
        +              "stampedAt": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ],
        +                "description": "The provider's own time stamp, UTC"
        +              },
        +              "stationLink": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ],
        +                "description": "Origin page of this gauge where one is required"
        +              },
        +              "text": {
        +                "description": "The full notice as plain text",
        +                "type": "string"
        +              },
        +              "textShort": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ],
        +                "description": "Shortened notice; null where it must never be shortened"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "form",
        +              "permissionBasis",
        +              "licence",
        +              "sourceName",
        +              "sourceUrl",
        +              "rightsHolder",
        +              "fetchedAt",
        +              "stampedAt",
        +              "stationLink",
        +              "text",
        +              "textShort"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "permissionBasis": {
        +          "type": "string"
        +        },
        +        "rawData": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Notice that the values are preliminary, unchecked raw data"
        +        },
        +        "rightsHolder": {
        +          "type": "string"
        +        },
        +        "sourceLine": {
        +          "description": "Credit line of the provider",
        +          "type": "string"
        +        },
        +        "sourceName": {
        +          "type": "string"
        +        },
        +        "sourceUrl": {
        +          "type": "string"
        +        },
        +        "stampedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "The provider's own time stamp, UTC"
        +        },
        +        "stationLink": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Origin page of this gauge where one is required"
        +        },
        +        "termsPath": {
        +          "type": "string"
        +        },
        +        "text": {
        +          "description": "The full notice as plain text",
        +          "type": "string"
        +        },
        +        "textShort": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Shortened notice; null where it must never be shortened"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "form",
        +        "permissionBasis",
        +        "licence",
        +        "sourceName",
        +        "sourceUrl",
        +        "rightsHolder",
        +        "fetchedAt",
        +        "stampedAt",
        +        "stationLink",
        +        "text",
        +        "textShort",
        +        "parts",
        +        "sourceLine",
        +        "rawData",
        +        "disclaimer",
        +        "noOfficialWarning",
        +        "termsPath"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Notice of the gauge as shown; show it with any value taken from this gauge. Null where none can be built, then no value is delivered"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "stationId",
        -  "horizonHours",
        -  "unit",
        -  "valueDivisor",
        -  "generatedAt",
        -  "source",
        -  "count",
        -  "points",
        -  "note"
        -]New value: +[
        +  "stationId",
        +  "horizonHours",
        +  "sourceNotice",
        +  "unit",
        +  "valueDivisor",
        +  "generatedAt",
        +  "source",
        +  "count",
        +  "points",
        +  "note"
        +]
    • Changedget_readings2 fields changed
      • changedOutput schema / properties / sourceNotice / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": {},
        -    "properties": {
        -      "disclaimer": {
        -        "description": "Liability disclaimer",
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "noOfficialWarning": {
        -        "description": "Statement that the values are no official warning",
        -        "type": "string"
        -      },
        -      "rawData": {
        -        "description": "Notice that the values are preliminary, unchecked raw data",
        -        "type": "string"
        -      },
        -      "sourceLine": {
        -        "description": "Credit line of the provider",
        -        "type": "string"
        -      },
        -      "termsPath": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "sourceLine",
        -      "rawData",
        -      "disclaimer",
        -      "noOfficialWarning",
        -      "termsPath"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "properties": {
        +      "disclaimer": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Liability disclaimer"
        +      },
        +      "fetchedAt": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "When the values were fetched, UTC"
        +      },
        +      "form": {
        +        "description": "full-only: show the full text, never shorten; short-allowed",
        +        "type": "string"
        +      },
        +      "id": {
        +        "description": "Key of the source record",
        +        "type": "string"
        +      },
        +      "licence": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {},
        +            "properties": {},
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "noOfficialWarning": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Statement that the values are no official warning"
        +      },
        +      "parts": {
        +        "items": {
        +          "additionalProperties": {},
        +          "properties": {
        +            "fetchedAt": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "When the values were fetched, UTC"
        +            },
        +            "form": {
        +              "description": "full-only: show the full text, never shorten; short-allowed",
        +              "type": "string"
        +            },
        +            "id": {
        +              "description": "Key of the source record",
        +              "type": "string"
        +            },
        +            "licence": {
        +              "anyOf": [
        +                {
        +                  "additionalProperties": {},
        +                  "properties": {},
        +                  "type": "object"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "permissionBasis": {
        +              "type": "string"
        +            },
        +            "rightsHolder": {
        +              "type": "string"
        +            },
        +            "sourceName": {
        +              "type": "string"
        +            },
        +            "sourceUrl": {
        +              "type": "string"
        +            },
        +            "stampedAt": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "The provider's own time stamp, UTC"
        +            },
        +            "stationLink": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "Origin page of this gauge where one is required"
        +            },
        +            "text": {
        +              "description": "The full notice as plain text",
        +              "type": "string"
        +            },
        +            "textShort": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "Shortened notice; null where it must never be shortened"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "form",
        +            "permissionBasis",
        +            "licence",
        +            "sourceName",
        +            "sourceUrl",
        +            "rightsHolder",
        +            "fetchedAt",
        +            "stampedAt",
        +            "stationLink",
        +            "text",
        +            "textShort"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "permissionBasis": {
        +        "type": "string"
        +      },
        +      "rawData": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Notice that the values are preliminary, unchecked raw data"
        +      },
        +      "rightsHolder": {
        +        "type": "string"
        +      },
        +      "sourceLine": {
        +        "description": "Credit line of the provider",
        +        "type": "string"
        +      },
        +      "sourceName": {
        +        "type": "string"
        +      },
        +      "sourceUrl": {
        +        "type": "string"
        +      },
        +      "stampedAt": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "The provider's own time stamp, UTC"
        +      },
        +      "stationLink": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Origin page of this gauge where one is required"
        +      },
        +      "termsPath": {
        +        "type": "string"
        +      },
        +      "text": {
        +        "description": "The full notice as plain text",
        +        "type": "string"
        +      },
        +      "textShort": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Shortened notice; null where it must never be shortened"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "form",
        +      "permissionBasis",
        +      "licence",
        +      "sourceName",
        +      "sourceUrl",
        +      "rightsHolder",
        +      "fetchedAt",
        +      "stampedAt",
        +      "stationLink",
        +      "text",
        +      "textShort",
        +      "parts",
        +      "sourceLine",
        +      "rawData",
        +      "disclaimer",
        +      "noOfficialWarning",
        +      "termsPath"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedOutput schema / properties / sourceNotice / description
        Previous value: -"Present for gauges whose provider demands a notice; show it with any value taken from this gauge"New value: +"Notice of the gauge as shown; show it with any value taken from this gauge. Null where none can be built, then no value is delivered"
    • Changedget_station2 fields changed
      • changedOutput schema / properties / sourceNotice / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": {},
        -    "properties": {
        -      "disclaimer": {
        -        "description": "Liability disclaimer",
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "string"
        -      },
        -      "noOfficialWarning": {
        -        "description": "Statement that the values are no official warning",
        -        "type": "string"
        -      },
        -      "rawData": {
        -        "description": "Notice that the values are preliminary, unchecked raw data",
        -        "type": "string"
        -      },
        -      "sourceLine": {
        -        "description": "Credit line of the provider",
        -        "type": "string"
        -      },
        -      "termsPath": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "id",
        -      "sourceLine",
        -      "rawData",
        -      "disclaimer",
        -      "noOfficialWarning",
        -      "termsPath"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "properties": {
        +      "disclaimer": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Liability disclaimer"
        +      },
        +      "fetchedAt": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "When the values were fetched, UTC"
        +      },
        +      "form": {
        +        "description": "full-only: show the full text, never shorten; short-allowed",
        +        "type": "string"
        +      },
        +      "id": {
        +        "description": "Key of the source record",
        +        "type": "string"
        +      },
        +      "licence": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {},
        +            "properties": {},
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "noOfficialWarning": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Statement that the values are no official warning"
        +      },
        +      "parts": {
        +        "items": {
        +          "additionalProperties": {},
        +          "properties": {
        +            "fetchedAt": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "When the values were fetched, UTC"
        +            },
        +            "form": {
        +              "description": "full-only: show the full text, never shorten; short-allowed",
        +              "type": "string"
        +            },
        +            "id": {
        +              "description": "Key of the source record",
        +              "type": "string"
        +            },
        +            "licence": {
        +              "anyOf": [
        +                {
        +                  "additionalProperties": {},
        +                  "properties": {},
        +                  "type": "object"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "permissionBasis": {
        +              "type": "string"
        +            },
        +            "rightsHolder": {
        +              "type": "string"
        +            },
        +            "sourceName": {
        +              "type": "string"
        +            },
        +            "sourceUrl": {
        +              "type": "string"
        +            },
        +            "stampedAt": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "The provider's own time stamp, UTC"
        +            },
        +            "stationLink": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "Origin page of this gauge where one is required"
        +            },
        +            "text": {
        +              "description": "The full notice as plain text",
        +              "type": "string"
        +            },
        +            "textShort": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ],
        +              "description": "Shortened notice; null where it must never be shortened"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "form",
        +            "permissionBasis",
        +            "licence",
        +            "sourceName",
        +            "sourceUrl",
        +            "rightsHolder",
        +            "fetchedAt",
        +            "stampedAt",
        +            "stationLink",
        +            "text",
        +            "textShort"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "permissionBasis": {
        +        "type": "string"
        +      },
        +      "rawData": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Notice that the values are preliminary, unchecked raw data"
        +      },
        +      "rightsHolder": {
        +        "type": "string"
        +      },
        +      "sourceLine": {
        +        "description": "Credit line of the provider",
        +        "type": "string"
        +      },
        +      "sourceName": {
        +        "type": "string"
        +      },
        +      "sourceUrl": {
        +        "type": "string"
        +      },
        +      "stampedAt": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "The provider's own time stamp, UTC"
        +      },
        +      "stationLink": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Origin page of this gauge where one is required"
        +      },
        +      "termsPath": {
        +        "type": "string"
        +      },
        +      "text": {
        +        "description": "The full notice as plain text",
        +        "type": "string"
        +      },
        +      "textShort": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Shortened notice; null where it must never be shortened"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "form",
        +      "permissionBasis",
        +      "licence",
        +      "sourceName",
        +      "sourceUrl",
        +      "rightsHolder",
        +      "fetchedAt",
        +      "stampedAt",
        +      "stationLink",
        +      "text",
        +      "textShort",
        +      "parts",
        +      "sourceLine",
        +      "rawData",
        +      "disclaimer",
        +      "noOfficialWarning",
        +      "termsPath"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedOutput schema / properties / sourceNotice / description
        Previous value: -"Present for gauges whose provider demands a notice; show it with any value taken from this gauge"New value: +"Notice of the gauge as shown; show it with any value taken from this gauge. Null where none can be built, then no value is delivered"
    • Changedsearch_stations16 fields changed
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / fetchedAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "When the values were fetched, UTC"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / form
        Added value: +{
        +  "description": "full-only: show the full text, never shorten; short-allowed",
        +  "type": "string"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / id
        Added value: +{
        +  "description": "Key of the source record",
        +  "type": "string"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / licence
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {},
        +      "properties": {},
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / parts
        Added value: +{
        +  "items": {
        +    "additionalProperties": {},
        +    "properties": {
        +      "fetchedAt": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "When the values were fetched, UTC"
        +      },
        +      "form": {
        +        "description": "full-only: show the full text, never shorten; short-allowed",
        +        "type": "string"
        +      },
        +      "id": {
        +        "description": "Key of the source record",
        +        "type": "string"
        +      },
        +      "licence": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": {},
        +            "properties": {},
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "permissionBasis": {
        +        "type": "string"
        +      },
        +      "rightsHolder": {
        +        "type": "string"
        +      },
        +      "sourceName": {
        +        "type": "string"
        +      },
        +      "sourceUrl": {
        +        "type": "string"
        +      },
        +      "stampedAt": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "The provider's own time stamp, UTC"
        +      },
        +      "stationLink": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Origin page of this gauge where one is required"
        +      },
        +      "text": {
        +        "description": "The full notice as plain text",
        +        "type": "string"
        +      },
        +      "textShort": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Shortened notice; null where it must never be shortened"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "form",
        +      "permissionBasis",
        +      "licence",
        +      "sourceName",
        +      "sourceUrl",
        +      "rightsHolder",
        +      "fetchedAt",
        +      "stampedAt",
        +      "stationLink",
        +      "text",
        +      "textShort"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / permissionBasis
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / rightsHolder
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / sourceName
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / sourceUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / stampedAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "The provider's own time stamp, UTC"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / stationLink
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Origin page of this gauge where one is required"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / text
        Added value: +{
        +  "description": "The full notice as plain text",
        +  "type": "string"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / properties / textShort
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Shortened notice; null where it must never be shortened"
        +}
      • addedOutput schema / properties / sourceNotices / additionalProperties / required
        Added value: +[
        +  "id",
        +  "form",
        +  "permissionBasis",
        +  "licence",
        +  "sourceName",
        +  "sourceUrl",
        +  "rightsHolder",
        +  "fetchedAt",
        +  "stampedAt",
        +  "stationLink",
        +  "text",
        +  "textShort",
        +  "parts"
        +]
      • changedOutput schema / properties / sourceNotices / description
        Previous value: -"Provider notices of the listed gauges by id; a gauge names its own in sourceNoticeId"New value: +"Distinct notices of the listed gauges by key; a gauge names its own in sourceNoticeId"
      • changedOutput schema / properties / stations / items / properties / sourceNoticeId / description
        Previous value: -"Key into sourceNotices; null if none applies"New value: +"Key into sourceNotices; null where no notice can be built (no value then)"
  3. 3 tool updates
    • Changedget_readings2 fields changed
      • addedOutput schema / properties / sourceNotice
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {},
        +      "properties": {
        +        "disclaimer": {
        +          "description": "Liability disclaimer",
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "noOfficialWarning": {
        +          "description": "Statement that the values are no official warning",
        +          "type": "string"
        +        },
        +        "rawData": {
        +          "description": "Notice that the values are preliminary, unchecked raw data",
        +          "type": "string"
        +        },
        +        "sourceLine": {
        +          "description": "Credit line of the provider",
        +          "type": "string"
        +        },
        +        "termsPath": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "sourceLine",
        +        "rawData",
        +        "disclaimer",
        +        "noOfficialWarning",
        +        "termsPath"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Present for gauges whose provider demands a notice; show it with any value taken from this gauge"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "stationId",
        -  "count",
        -  "summary"
        -]New value: +[
        +  "stationId",
        +  "sourceNotice",
        +  "count",
        +  "summary"
        +]
    • Changedget_station2 fields changed
      • addedOutput schema / properties / sourceNotice
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {},
        +      "properties": {
        +        "disclaimer": {
        +          "description": "Liability disclaimer",
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "noOfficialWarning": {
        +          "description": "Statement that the values are no official warning",
        +          "type": "string"
        +        },
        +        "rawData": {
        +          "description": "Notice that the values are preliminary, unchecked raw data",
        +          "type": "string"
        +        },
        +        "sourceLine": {
        +          "description": "Credit line of the provider",
        +          "type": "string"
        +        },
        +        "termsPath": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "sourceLine",
        +        "rawData",
        +        "disclaimer",
        +        "noOfficialWarning",
        +        "termsPath"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Present for gauges whose provider demands a notice; show it with any value taken from this gauge"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "name",
        -  "water",
        -  "latitude",
        -  "longitude",
        -  "measurementType",
        -  "latestValue",
        -  "unit",
        -  "valueDivisor",
        -  "latestValueCentimeters",
        -  "latestMeasuredAt",
        -  "thresholds",
        -  "floodWarning"
        -]New value: +[
        +  "id",
        +  "name",
        +  "water",
        +  "latitude",
        +  "longitude",
        +  "measurementType",
        +  "latestValue",
        +  "unit",
        +  "valueDivisor",
        +  "latestValueCentimeters",
        +  "latestMeasuredAt",
        +  "thresholds",
        +  "floodWarning",
        +  "sourceNotice"
        +]
    • Changedsearch_stations4 fields changed
      • addedOutput schema / properties / sourceNotices
        Added value: +{
        +  "additionalProperties": {
        +    "additionalProperties": {},
        +    "properties": {},
        +    "type": "object"
        +  },
        +  "description": "Provider notices of the listed gauges by id; a gauge names its own in sourceNoticeId",
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / stations / items / properties / sourceNoticeId
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Key into sourceNotices; null if none applies"
        +}
      • changedOutput schema / properties / stations / items / required
        Previous value: -[
        -  "id",
        -  "name",
        -  "water",
        -  "federalState",
        -  "measurementType",
        -  "latestValue",
        -  "unit",
        -  "latestValueCentimeters",
        -  "lhpClass",
        -  "floodWarning"
        -]New value: +[
        +  "id",
        +  "name",
        +  "water",
        +  "federalState",
        +  "measurementType",
        +  "latestValue",
        +  "unit",
        +  "latestValueCentimeters",
        +  "lhpClass",
        +  "floodWarning",
        +  "sourceNoticeId"
        +]
      • changedOutput schema / required
        Previous value: -[
        -  "totalMatches",
        -  "stations"
        -]New value: +[
        +  "totalMatches",
        +  "sourceNotices",
        +  "stations"
        +]
  4. 3 tool updates
    • Changedget_flood_situation1 field changed
      • addedInput schema / properties / locale
        Added value: +{
        +  "description": "Language for classification text (headline/description); defaults to German",
        +  "enum": [
        +    "de",
        +    "en"
        +  ],
        +  "type": "string"
        +}
    • Changedget_station1 field changed
      • addedInput schema / properties / locale
        Added value: +{
        +  "description": "Language for classification text (headline/description); defaults to German",
        +  "enum": [
        +    "de",
        +    "en"
        +  ],
        +  "type": "string"
        +}
    • Changedsearch_stations1 field changed
      • addedInput schema / properties / locale
        Added value: +{
        +  "description": "Language for classification text (headline/description); defaults to German",
        +  "enum": [
        +    "de",
        +    "en"
        +  ],
        +  "type": "string"
        +}
  5. 2 tool updates
    • Changedget_station2 fields changed
      • addedOutput schema / properties / floodWarning
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {},
        +      "properties": {
        +        "infoUrl": {
        +          "type": "string"
        +        },
        +        "level": {
        +          "description": "1 no particular vigilance … 4 exceptional flood",
        +          "type": "number"
        +        },
        +        "levelLabel": {
        +          "type": "string"
        +        },
        +        "provider": {
        +          "type": "string"
        +        },
        +        "providerLabel": {
        +          "description": "Credit line of the warning service",
        +          "type": "string"
        +        },
        +        "publishedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "sectionCode": {
        +          "type": "string"
        +        },
        +        "sectionName": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "provider",
        +        "providerLabel",
        +        "sectionCode",
        +        "sectionName",
        +        "level",
        +        "levelLabel",
        +        "publishedAt",
        +        "infoUrl"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "The river section warning this gauge inherits; it describes the reach, not the gauge"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "name",
        -  "water",
        -  "latitude",
        -  "longitude",
        -  "measurementType",
        -  "latestValue",
        -  "unit",
        -  "valueDivisor",
        -  "latestValueCentimeters",
        -  "latestMeasuredAt",
        -  "thresholds"
        -]New value: +[
        +  "id",
        +  "name",
        +  "water",
        +  "latitude",
        +  "longitude",
        +  "measurementType",
        +  "latestValue",
        +  "unit",
        +  "valueDivisor",
        +  "latestValueCentimeters",
        +  "latestMeasuredAt",
        +  "thresholds",
        +  "floodWarning"
        +]
    • Changedsearch_stations2 fields changed
      • addedOutput schema / properties / stations / items / properties / floodWarning
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {},
        +      "properties": {
        +        "infoUrl": {
        +          "type": "string"
        +        },
        +        "level": {
        +          "description": "1 no particular vigilance … 4 exceptional flood",
        +          "type": "number"
        +        },
        +        "levelLabel": {
        +          "type": "string"
        +        },
        +        "provider": {
        +          "type": "string"
        +        },
        +        "providerLabel": {
        +          "description": "Credit line of the warning service",
        +          "type": "string"
        +        },
        +        "publishedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "sectionCode": {
        +          "type": "string"
        +        },
        +        "sectionName": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "provider",
        +        "providerLabel",
        +        "sectionCode",
        +        "sectionName",
        +        "level",
        +        "levelLabel",
        +        "publishedAt",
        +        "infoUrl"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "The river section warning this gauge inherits; it describes the reach, not the gauge"
        +}
      • changedOutput schema / properties / stations / items / required
        Previous value: -[
        -  "id",
        -  "name",
        -  "water",
        -  "federalState",
        -  "measurementType",
        -  "latestValue",
        -  "unit",
        -  "latestValueCentimeters",
        -  "lhpClass"
        -]New value: +[
        +  "id",
        +  "name",
        +  "water",
        +  "federalState",
        +  "measurementType",
        +  "latestValue",
        +  "unit",
        +  "latestValueCentimeters",
        +  "lhpClass",
        +  "floodWarning"
        +]
  6. 1 tool update
    • Changedsearch_stations1 field changed
      • changedInput schema / properties / federalState / description
        Previous value: -"ISO 3166-2 code for a German state, e.g. DE-NW; CH, AT or CZ for a country"New value: +"ISO 3166-2 code for a German state, e.g. DE-NW; CH, AT, CZ, LU or FR for a country"
  7. 1 tool update
    • Changedsearch_stations2 fields changed
      • changedInput schema / properties / federalState / description
        Previous value: -"ISO 3166-2 code for a German state, e.g. DE-NW; CH or AT for a country"New value: +"ISO 3166-2 code for a German state, e.g. DE-NW; CH, AT or CZ for a country"
      • changedOutput schema / properties / stations / items / properties / unit / description
        Previous value: -"cm for rivers; m ü. NN / m ü. M. for wells and Swiss gauges"New value: +"cm over gauge zero; m ü. NN for wells; the datum unit (m ü. M., m ü. A.) for gauges reporting an absolute elevation"
  8. 6 tool updates
    • First observedget_flood_situation
    • First observedget_forecast
    • First observedget_readings
    • First observedget_station
    • First observedget_weather
    • First observedsearch_stations

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides access to real-time and historical water conditions of the Aare river in Switzerland, including water temperature, flow rates, swimming recommendations, and data from multiple monitoring locations along the river.
    5
    5 npm
    1
    GPL 3.0
  • A
    license
    C
    quality
    A
    maintenance
    Provides Swiss Aare river swimming data including water temperature, flow rates, safety assessments, and forecasts. Enables AI assistants to answer questions about current conditions, compare cities, and provide safety recommendations based on official BAFU thresholds.
    42
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to look up official Austrian municipal data by place name, GKZ or coordinates, returning weather forecasts and nowcasts from GeoSphere Austria alongside nearby and current water-level readings from eHYD. Answers come as compact JSON with source attribution, timestamps, licenses and units, plus tools for searching municipalities and checking flood situations by province.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Keyless remote MCP server for German public-infrastructure open data: weather, air quality, traffic, public transit, parking and roadworks across 84+ German cities (DWD, Umweltbundesamt, Mobilithek, GovData). 38 read-only tools.
    12
    14
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources