Skip to main content
Glama

check_autobahn_traffic

Read-onlyIdempotent

Per motorway (≤ 5), or one Bundesland's motorways with land: an Ampel, then jams, closures, roadworks in force, with place/delay/speed/map. Use when asked about a named motorway now: frei/clear (Ampel), Stau, delay, how it looks, or a LIST of closures; name every motorway (Munich→Berlin: A9). Do NOT use for open/closed/gesperrt/passable, even now, a closure with no time word or a later one (tonight, weekend), or a town, no motorway — check_road_status; Baustellen dated or geplant — find_roadworks_ahead; a named city street: not held; trains (get_train_departures). ~5 min old. Show attribution.

Input Schema

NameRequiredDescriptionDefault
latNoLatitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.
lonNoLongitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.
landNoOptional, instead of roads: one Bundesland, and the answer is the motorways of the whole Land as its page shows them — counts, the longest jams, each motorway with something in force. Use it instead of roads and place when the question names a Land ("Stau in Bayern?", "Autobahnen in NRW"). For Berlin, Hamburg and Bremen only when the question names the Land; a city's traffic is check_road_status. Not with roads, place, lat/lon or radius_km.
kindsNoWhich event kinds to return: warning = live traffic (jams, slow traffic, hazards), closure = full closures, roadworks = construction sites. Set it when the SUBJECT of the question is one of those categories by name: "Baustellen auf der A8?" is ["roadworks"], "welche Sperrungen sind in diesem Moment gemeldet?" is ["closure"]. Omit it when the question is how the road IS — Stau, frei, a delay, "wie sieht es aus", "everything"; the German "Stau?" is the idiom for the whole picture, and a filter nobody asked for hides the closure on the same stretch. Whether a closure question is this tool's at all is decided by two things, and the noun (Sperrung, Vollsperrung, closure) is neither. FIRST THE CLOCK: only a question about this minute (jetzt, gerade, in diesem Moment, right now, at this very minute) can be this tool's — with no time word at all, or for a later window (tonight, heute Abend, am Wochenende, the coming days), it is check_road_status. SECOND, WHAT IS ASKED, which the clock cannot see: what is REPORTED or in force on a named motorway is this tool ("which closures are in force on the A100 at this very minute?"), while whether the road is OPEN or passable is check_road_status AT ANY CLOCK — "ist die A8 offen", "ist die A3 in diesem Moment gesperrt?", "komme ich da durch?" — and so is a closure asked around a town instead of on a motorway number. Baustellen with a date or the word geplant are find_roadworks_ahead. Default: all three.
limitNoMaximum events to return across all roads (1–50, default 10). Each road's most important item comes first, in the order you listed the roads, so every road with something in force is on the first page when limit is at least the number of roads; after that jams, then closures, other reports, then roadworks, the roads taking turns within each. Only what is in force now is listed — closures announced for later are counted apart in the headline.
placeNoOptional: the town, junction or address the person is at or asks about ("A1 bei Köln", "A3 near Frankfurt"). Then each road's events within radius_km come first, nearest first, and the headline counts them with the road-wide total beside it. Omit it for the whole road. Given with lat+lon, lat+lon is searched around and the place is its label, unless the two lie further apart than radius_km.
roadsNoAutobahn numbers, e.g. ["A9"] or ["A8", "A99", "A9"] (1–5 per call). Name every motorway on the route so the whole drive is briefed in one call — "A9", "A 9" and "a9" are the same road. Results are grouped per road, in the order you list them. Give roads or land, not both.
cursorNoPagination cursor from a previous result's _meta.nextCursor. Omit for the first page.
languageNoSet this on every call to the language the person is writing in: "en" if they wrote English, "de" if they wrote German. Do not leave it out: it defaults to German ("de"), which is only the fallback when the language is genuinely unclear, so an English question sent without it is answered in German — a wrong answer. Place names, station names and road numbers are never translated in either language; in English the German term is kept in parentheses so the person recognises it on signs and in local apps.de
radius_kmNoRadius around place or lat+lon in km (1–100, default 25). Ignored without a place.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / land
      Added value: +{
      +  "description": "Optional, instead of roads: one Bundesland, and the answer is the motorways of the whole Land as its page shows them — counts, the longest jams, each motorway with something in force. Use it instead of roads and place when the question names a Land (\"Stau in Bayern?\", \"Autobahnen in NRW\"). For Berlin, Hamburg and Bremen only when the question names the Land; a city's traffic is check_road_status. Not with roads, place, lat/lon or radius_km.",
      +  "enum": [
      +    "schleswig-holstein",
      +    "hamburg",
      +    "niedersachsen",
      +    "bremen",
      +    "nordrhein-westfalen",
      +    "hessen",
      +    "rheinland-pfalz",
      +    "baden-wuerttemberg",
      +    "bayern",
      +    "saarland",
      +    "berlin",
      +    "brandenburg",
      +    "mecklenburg-vorpommern",
      +    "sachsen",
      +    "sachsen-anhalt",
      +    "thueringen"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / roads / description
      Previous value: -"Autobahn numbers, e.g. [\"A9\"] or [\"A8\", \"A99\", \"A9\"] (1–5 per call). Name every motorway on the route so the whole drive is briefed in one call — \"A9\", \"A 9\" and \"a9\" are the same road. Results are grouped per road, in the order you list them."New value: +"Autobahn numbers, e.g. [\"A9\"] or [\"A8\", \"A99\", \"A9\"] (1–5 per call). Name every motorway on the route so the whole drive is briefed in one call — \"A9\", \"A 9\" and \"a9\" are the same road. Results are grouped per road, in the order you list them. Give roads or land, not both."
    • removedInput schema / required
      Removed value: -[
      -  "roads"
      -]
  2. Changed1 schema field changed
    • changedInput schema / properties / place / description
      Previous value: -"Optional: the town, junction or address the person is at or asks about (\"A1 bei Köln\", \"A3 near Frankfurt\"). Then each road's events within radius_km come first, nearest first, and the headline counts them with the road-wide total beside it. Omit it for the whole road. Give either place OR lat+lon, never both."New value: +"Optional: the town, junction or address the person is at or asks about (\"A1 bei Köln\", \"A3 near Frankfurt\"). Then each road's events within radius_km come first, nearest first, and the headline counts them with the road-wide total beside it. Omit it for the whole road. Given with lat+lon, lat+lon is searched around and the place is its label, unless the two lie further apart than radius_km."
  3. Changed5 schema fields changed
    • addedInput schema / properties / lat
      Added value: +{
      +  "description": "Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.",
      +  "maximum": 90,
      +  "minimum": -90,
      +  "type": "number"
      +}
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum events to return across all roads (1–50, default 10). Jams come first, then closures, other reports, then roadworks; within each the roads take turns in the order you listed them, so every road gets its share of the page. Only what is in force now is listed — closures announced for later are counted apart in the headline."New value: +"Maximum events to return across all roads (1–50, default 10). Each road's most important item comes first, in the order you listed the roads, so every road with something in force is on the first page when limit is at least the number of roads; after that jams, then closures, other reports, then roadworks, the roads taking turns within each. Only what is in force now is listed — closures announced for later are counted apart in the headline."
    • addedInput schema / properties / lon
      Added value: +{
      +  "description": "Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.",
      +  "maximum": 180,
      +  "minimum": -180,
      +  "type": "number"
      +}
    • addedInput schema / properties / place
      Added value: +{
      +  "description": "Optional: the town, junction or address the person is at or asks about (\"A1 bei Köln\", \"A3 near Frankfurt\"). Then each road's events within radius_km come first, nearest first, and the headline counts them with the road-wide total beside it. Omit it for the whole road. Give either place OR lat+lon, never both.",
      +  "maxLength": 120,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / radius_km
      Added value: +{
      +  "default": 25,
      +  "description": "Radius around place or lat+lon in km (1–100, default 25). Ignored without a place.",
      +  "maximum": 100,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  4. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive and closed-world, so the description is not carrying the safety burden. It nevertheless adds real behavior: data freshness ('~5 min old'), a mandatory attribution obligation ('Show attribution'), the fact that only in-force items are listed while future closures are counted separately in the headline, and cursor-based pagination. It does not discuss rate limits or caching, so a 4 rather than 5.

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?

Most content earns its place, but it is delivered as long run-on sentences with heavy parentheticals and mixed German/English jargon, so the routing rule for closures has to be reconstructed by the reader. The key identity ('per motorway, current conditions') is front-loaded, but the middle sags with nested conditionals. It is dense rather than bloated, yet not well structured.

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 10-parameter, no-output-schema tool, the description covers what comes back (Ampel, jams, closures, roadworks, place/delay/speed/map), freshness, ordering of results, and pagination. The main omission is any statement of error or empty-result behavior (e.g. what 'frei' looks like when nothing is reported), which leaves a small gap for an agent interpreting results.

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 baseline is 3; every parameter already carries a rich description including mutually exclusive combinations (land vs roads/place/lat/lon/radius_km). The description adds intent-level guidance (e.g. 'name every motorway (Munich→Berlin: A9)') but largely restates what the schema's own property descriptions say. With the schema doing the heavy lifting, the description clears the bar but does not exceed it.

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 opening clause names the resource and scope precisely: 'Per motorway (≤ 5), or one Bundesland's motorways with land', and enumerates the payload (Ampel, jams, closures, roadworks in force, place/delay/speed/map). It also explicitly separates itself from check_road_status, find_roadworks_ahead and get_train_departures. The telegram-style fragmentation ('an Ampel, then jams...') keeps it from being a clean verb+resource sentence, so it is not 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 Guidelines5/5

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

It gives an explicit use case ('asked about a named motorway now: frei/clear, Stau, delay, how it looks, or a LIST of closures'), explicit exclusions, and names the correct sibling for each exclusion (open/closed/gesperrt → check_road_status, dated/geplant Baustellen → find_roadworks_ahead, trains → get_train_departures, city streets → not held). The clock-vs-question rule for closures is spelled out with examples in both German and English. Nothing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources