accueil / serveurs / Géo & Temps / de.viafrei/mcp
de.viafrei/mcp
serveur MCP (Model Context Protocol) · viafrei 2.3.2
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que de.viafrei/mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « de.viafrei/mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 22 outils
- check_autobahn_traffic≈ 1294 tokens
Jams, slow traffic, closures and roadworks in force this minute on up to 5 motorways, with delay/speed. Use when asked about a named motorway now: Stau, a delay, how it looks, or a LIST of closures now; name every motorway (Munich→Berlin: A9). Do NOT use for yes/no: is a road open/closed/passable — check_road_status, even now — nor a closure with no time word or a later one (tonight, weekend); Baustellen dated or geplant — find_roadworks_ahead; Stau in a town, no motorway — check_road_status; fuel (find_cheapest_fuel), trains (get_train_departures). ~5 min old. Show the attribution line.
Paramètres, retour & exemple (9)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.kinds· array · optionnel
Which 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.limit· integer · optionnel
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.place· string · optionnel
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.roads· array · requis
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.cursor· string · optionnel
Pagination cursor from a previous result's _meta.nextCursor. Omit for the first page.language· string · optionnel · de | en
Set 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.radius_km· integer · optionnel
Radius around place or lat+lon in km (1–100, default 25). Ignored without a place.
Exemple d'appel{"name": "check_autobahn_traffic", "arguments": {"roads": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_road_status≈ 1275 tokens
If a motorway, B/Land road (NI, BW, MV, SN, TH; B also SH, BY, BE; pass Land/town as place) is open/closed/restricted now/next days; by place, jams, city/Land messages, Hamburg traffic cameras; lorry limits, Lang-Lkw (vehicle). Use when asked if a road is open/passable — "ist die A8 in diesem Moment gesperrt", at any clock, closures tonight/weekend — or city Stau: "Stau in Köln?". Do NOT use for jams/delays on a named motorway or multi-motorway route — check_autobahn_traffic; roadworks by date window — find_roadworks_ahead; city street: not held, say so. ≤ 14 days/11 entries. Show attribution.
Paramètres, retour & exemple (8)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.road· string · optionnel
One road: a German motorway, e.g. "A8"; a Bundesstraße in Schleswig-Holstein, Niedersachsen, Baden-Württemberg, Bayern, Berlin, Mecklenburg-Vorpommern, Sachsen or Thüringen, e.g. "B27"; or a Landes- or Staatsstraße in Niedersachsen, Baden-Württemberg, Mecklenburg-Vorpommern, Sachsen or Thüringen, e.g. "L1025" or "S296". "A8", "A 8" and "a8" are the same road. Use this whenever the person named a road — it is the only input that reaches the planned-works data, which is filed by road and section and carries no coordinates. When the person also says WHERE — a town or a Bundesland ("die B2 bei Potsdam", "L1025 in Niedersachsen") — pass that as place too: only sources for that Land answer, and a Land no source covers is named. L and S numbers repeat in every Land, so give the Land with them. Otherwise give exactly one of road, place, or lat+lon.limit· integer · optionnel
Maximum entries to return (1–11, default 10). By road, closures come first, then restrictions in force, then planned works; by place, nearest first.place· string · optionnel
Where to look, as free text: a city ("München", "Munich"), a district or Kreis ("Kreis Fulda"), a Bundesland, a station or stop ("Hamburg Hbf"), a motorway junction ("AK Neufahrn"), or a street address with a house number ("Bahnhofstraße 12, 36037 Fulda"). A motorway number alone ("A7") resolves to the road, which has no single point — name a town or junction on it instead. Use this instead of coordinates whenever the person named a place. An address needs its town or postcode — a street and a number alone exist in many towns. Give either place OR lat+lon, never both.vehicle· string · optionnel · lorry | long_lorry
Set ONLY when the person asks for a lorry (Lkw, truck, HGV) or a long lorry (Lang-Lkw, EuroCombi, Gigaliner): then the answer is where that vehicle may go, instead of closures. "long_lorry" with a road ("darf der Lang-Lkw auf die A7?") answers whether the road is in the long-lorry positive network; with a place, the network roads near it. "lorry" or "long_lorry" with a place ("Durchfahrtshöhe in Haan", "Lkw-Vorrangroute in Frankfurt", "Gewichtsgrenze in Bremen") answers the height, weight, width and lorry-ban signs near it, and the lorry priority routes, where a publisher holds them (NRW, Frankfurt RheinMain, Bremen). Omit for cars and for closures.language· string · optionnel · de | en
Set 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.horizon_days· integer · optionnel
Days ahead from now (0 = right now only, max 14, default 3). Only what was asked; count the days from today to the last day meant, both included: 0 for right now / jetzt / gerade; 1 for today, tonight, heute Abend; 2 for tomorrow; a weekday ("am Freitag") the days through it; "this weekend" the days through Sunday (Monday 7, Friday 3, Sunday 1); "next week" through next Sunday. A bare "is the A8 open?" asks for no window: omit it, never 0. Live closures, and by place the jams reported now, are always included.
Exemple d'appel{"name": "check_road_status", "arguments": {"lat": 1, "lon": 1, "road": "texte", "limit": 1, "place": "texte", "vehicle": "lorry"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_station_facilities≈ 778 tokens
Whether the lifts and escalators of a railway station or Köln Stadtbahn stop work now: each one, its place, state and reason. Another tram, U-Bahn or bus stop (named with its city: "Stuttgart Charlottenplatz") gets its step-free survey where one exists. Use when asked about step-free access, broken lifts, wheelchair or pram: "Funktioniert der Aufzug am Kölner Hbf?", "is the lift at Hamburg Hbf working?". Do NOT use for departures, platforms or delays — call get_train_departures (trains) or get_departures (bus, tram, U-Bahn). At most 50, broken first. Results carry their attribution line.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnel
How many facilities to list (1–50, default 20). Out-of-service equipment is listed first and the counts in the summary always cover ALL of them, so a shorter list never hides a broken lift.eva_no· string · optionnel
The station's EVA number (6–8 digits, e.g. 8000207 for Köln Hbf), when a previous result — a departure board, for instance — already gave you one. It skips the name lookup and is exact.station· string · optionnel
The railway station — or Köln Stadtbahn stop — as the person says it: "Köln Hbf", "Hamburg Hbf", "Munich Central", "Neumarkt Köln". Pass their words — English names and "central station" are understood. If the name fits several stations the result lists them and asks which; do not guess one yourself. Give either station OR eva_no, never both.facility· string · optionnel · any | elevator | escalator
Which equipment to report: "elevator" for lifts only, "escalator" for escalators only, "any" for both (default). Pass a value only when the person named the equipment itself ("Aufzug", "Rolltreppe", "lift", "escalator"): a question about a wheelchair, a pram, heavy luggage or step-free access keeps the default — an escalator carries a suitcase too, and a filter there hides half of what the traveller needs. Filtering does not change how a broken one is reported, only which ones are listed.language· string · optionnel · de | en
Set 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.
Exemple d'appel{"name": "check_station_facilities", "arguments": {"limit": 1, "eva_no": "texte", "station": "texte", "facility": "any", "language": "de"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_transit_disruption≈ 688 tokens
How punctual public transport is now in one German region: the share of trips ever >5 min late, trips skipping a stop, trips cancelled, the trend and the service alerts in force there (diversions, closed stops). Use when asked whether buses and trains run normally, or a strike, storm or works disrupt them. Do NOT use for a station's departures or a line from a named DEPARTURE station ("RE1 ab Köln Hbf verspätet?"; a destination, "nach …"/"zum …", is not one) — get_train_departures. No per-line figures. Window ≤ 120 min. CC BY-SA (DELFI) or CC BY 4.0 (VBB, Berlin/Brandenburg): show attribution.
Paramètres, retour & exemple (5)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use region.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use region.region· string · optionnel
The German region to report on, as free text: a Bundesland ("Bayern", "Bavaria", "Nordrhein-Westfalen"), a city ("Hamburg", "Köln"), a Kreis ("Landkreis Fulda") or one of the conurbations Ruhrgebiet, Rhein-Ruhr and Rhein-Main. A town inside a Kreis is reported as that Kreis and the answer says so, because the data is filed at Kreis level. Not a stop, not a street, not an address. Give either region OR lat+lon, never both.language· string · optionnel · de | en
Set 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.window_min· integer · optionnel
How many minutes back to look, 5–120 (default 60). The trend compares this window with the equally long one before it, so 60 means "the last hour against the hour before". Use a short window for "right now" and a long one for "has it been bad all morning".
Exemple d'appel{"name": "check_transit_disruption", "arguments": {"lat": 1, "lon": 1, "region": "texte", "language": "de", "window_min": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_weather_warnings≈ 801 tokens
Returns the official DWD weather warnings in force for a place — storm, snow, ice, heavy rain, thunderstorm, heat — with Warnstufe 1–4, area, validity and the official text unaltered. At a town or coordinate it adds the DWD road-surface forecast (Straßenwetter-Prognose: dry to black ice, road temperature) for the nearest road-weather stations. Use when asked about weather on a trip, safe driving, storm or snow warnings, or icy roads (Glätte, Glatteis). Do NOT use for a general forecast (not offered) or jams (check_autobahn_traffic). Show the attribution line.
Paramètres, retour & exemple (5)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.place· string · optionnel
Where to look, as free text: a city ("München", "Munich"), a district or Kreis ("Kreis Fulda"), a Bundesland, a station or stop ("Hamburg Hbf"), a motorway junction ("AK Neufahrn"), or a street address with a house number ("Bahnhofstraße 12, 36037 Fulda"). A motorway number alone ("A7") resolves to the road, which has no single point — name a town or junction on it instead. Use this instead of coordinates whenever the person named a place. An address needs its town or postcode — a street and a number alone exist in many towns. Give either place OR lat+lon, never both.language· string · optionnel · de | en
Set 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.min_level· integer · optionnel
Lowest official DWD level to report, 0–4 (default 0, i.e. everything). The DWD's own names: 1 = Wetterwarnung, 2 = Markante Wetterwarnung, 3 = Unwetterwarnung, 4 = Warnung vor extremem Unwetter; 0 = Vorabinformation Unwetter, an advance notice that is not yet a Warnstufe. Raise it ONLY when the question names a level or a Warnstufe in so many words ("ab Stufe 3", "level 3 or higher", "nur Stufe 4"). Unwetter, Unwetterwarnung, severe and storm are the ordinary way to ask about bad weather, not a filter: leave it at 0 there — a level the caller filtered away is a warning the person is never told about.
Exemple d'appel{"name": "check_weather_warnings", "arguments": {"lat": 1, "lon": 1, "place": "texte", "language": "de", "min_level": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - describe_location≈ 438 tokens
Turns a coordinate into words: the nearest address, settlement and motorway junction with their distances, and the Gemeinde, Kreis and Land the point lies in; also any low-emission zone. Use when you already HAVE a lat/lon and need to say where that is. Do NOT use to look up a place or address BY NAME — that is find_place, find_poi or find_address; this only goes coordinate to words. Those come from the municipality the point lies in (its key), not the nearest Kreis point; near the border the answer says so. OpenStreetMap ODbL 1.0 for the address; show the attribution line.
Paramètres, retour & exemple (3)
Paramètreslat· number · requis
Latitude of the point to describe (WGS84).lon· number · requis
Longitude of the point to describe (WGS84).language· string · optionnel · de | en
Set 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.
Exemple d'appel{"name": "describe_location", "arguments": {"lat": 1, "lon": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_address≈ 534 tokens
Looks up a street address: its coordinate, and the named OpenStreetMap objects at it (company, shop, office) or that none are. Use when the person gives a STREET AND NUMBER — "Bahnhofstraße 12, Fulda" — for the point or the business there, never who lives there. The coordinate passes to any other tool as lat/lon. Do NOT use for a town/district/station name alone (find_place) or a company/shop/landmark by name (find_poi). At most 5 points; a door mapped twice is folded, points far apart say how far; several towns are a question. OpenStreetMap ODbL 1.0; show the attribution line.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnel
How many results to return (1–5, default 3) — more than one means the same address carries more than one OpenStreetMap object.query· string · requis
A street address, as a person writes one: street and house number, plus a town or postcode — "Bahnhofstraße 12, 36037 Fulda" or "Bahnhofstraße 12, Fulda". Both orders work. A street and number with neither a town nor a postcode cannot be placed (the same street name exists in about two thousand German towns) and is refused.language· string · optionnel · de | en
Set 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.
Exemple d'appel{"name": "find_address", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_charging_station≈ 1127 tokens
Returns EV charging sites near a place or coordinate with operator, connector types, maximum power, price per kWh where published, and how many points are free right now where the operator publishes live status. Use when an EV driver asks where to charge ("Wo kann ich laden?", "CCS 150 kW near Leipzig", "ist gerade eine Säule frei?"). Do NOT use for petrol or diesel — call find_cheapest_fuel; for E-Kennzeichen or Ladekarte rules — call get_driving_rules. Radius ≤ 25 km, ≤ 10 sites; availability is missing for most operators and is then unknown, never free. Show the attribution line.
Paramètres, retour & exemple (9)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.limit· integer · optionnel
How many lines to return, nearest first (1–10, default 5). Places within 50 m that read alike are folded into one line that says how many units it holds; structuredContent.sites has one entry per place of the lines shown, with siteIds naming every record of that place, so it can be longer than limit.place· string · optionnel
Where to look, as free text: a city ("München", "Munich"), a district or Kreis ("Kreis Fulda"), a Bundesland, a station or stop ("Hamburg Hbf"), a motorway junction ("AK Neufahrn"), or a street address with a house number ("Bahnhofstraße 12, 36037 Fulda"). A motorway number alone ("A7") resolves to the road, which has no single point — name a town or junction on it instead. Use this instead of coordinates whenever the person named a place. An address needs its town or postcode — a street and a number alone exist in many towns. Give either place OR lat+lon, never both.language· string · optionnel · de | en
Set 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.connector· string · optionnel · ccs2 | type2 | chademo
Plug the car needs: "ccs2" (CCS Combo 2 — the DC fast-charging standard on almost every European EV), "type2" (Typ 2 / Mennekes, the AC socket) or "chademo" (older Japanese DC, e.g. Nissan Leaf). Omit unless the person named their plug or their car model — filtering on a guess hides chargers they could have used.radius_km· number · optionnel
Search radius around the place in kilometres (1–25, default 10). A charging stop is worth a detour, so this is wider than the fuel radius — but 25 km is the cap, and a larger circle is a dataset request rather than a driver's question.min_power_kw· number · optionnel
Only charging points of at least this many kW (1–1000). Use when the person names a number or asks for fast charging: 50 = DC fast (a bare "fast"/"schnell"/"Schnelllader"), 150 = HPC ("HPC", "ultra", "ultraschnell"), 300 = the fastest posts in Germany. Omit for "where can I charge" — 11 kW overnight is a valid answer to that question.only_available· boolean · optionnel
When true, return only sites with at least one point reported FREE right now. Default false. Use it when the person asks what is free at this moment. Note that only some operators publish live status: the result always says how many nearby sites were dropped because their status is unknown, so the filter never silently hides a charger that may well be free.
Exemple d'appel{"name": "find_charging_station", "arguments": {"lat": 1, "lon": 1, "limit": 1, "place": "texte", "language": "de", "connector": "ccs2"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_cheapest_fuel≈ 834 tokens
Returns the cheapest stations for one fuel grade near a place or coordinate: price per litre, brand, address, distance, open state. Use when the user asks where to fill up or what fuel costs. Do NOT use for charging an electric car (call find_charging_station), price history, or traffic (call check_autobahn_traffic). Radius ≤ 25 km, at most 10 stations. For a brand, a name, open now or at a named time, or nearest-first, call find_fuel_station. Each line names the age of its price and opening-hours claim. Prices are consumer information only; the attribution line and MTS-K note must be shown.
Paramètres, retour & exemple (7)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.fuel· string · optionnel · e5 | e10 | diesel
Fuel grade: "e5" (Super E5), "e10" (Super E10, the standard German petrol) or "diesel" — LPG/Autogas and CNG are not held by any source here: say so, never substitute a petrol grade. Default "e10". Pass the grade the person named — a diesel driver is not helped by a petrol price.limit· integer · optionnel
How many stations to return, cheapest first (1–10, default 5). The provider's terms cap it at 10.place· string · optionnel
Where to look, as free text: a city ("München", "Munich"), a district or Kreis ("Kreis Fulda"), a Bundesland, a station or stop ("Hamburg Hbf"), a motorway junction ("AK Neufahrn"), or a street address with a house number ("Bahnhofstraße 12, 36037 Fulda"). A motorway number alone ("A7") resolves to the road, which has no single point — name a town or junction on it instead. Use this instead of coordinates whenever the person named a place. An address needs its town or postcode — a street and a number alone exist in many towns. Give either place OR lat+lon, never both.language· string · optionnel · de | en
Set 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.radius_km· number · optionnel
Search radius around the place in kilometres (1–25, default 5). The provider's terms cap it at 25 km — a larger circle is a dataset request, not a consumer question.
Exemple d'appel{"name": "find_cheapest_fuel", "arguments": {"lat": 1, "lon": 1, "fuel": "e5", "limit": 1, "place": "texte", "language": "de"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_fuel_station≈ 1368 tokens
Finds filling stations around a place or coordinate under any combination of filters — grade, brand, name, open now, open at a time you name, open 24 h — sorted by distance, price or name. Use when the question is WHICH station: the closest diesel to a stop, an ARAL open tonight, what one forecourt sells. Do NOT use for the plain "where is fuel cheapest" question (call find_cheapest_fuel) or for charging an electric car (call find_charging_station). Every result carries the attribution and the MTS-K note, and says how old each price and opening-hours claim is.
Paramètres, retour & exemple (13)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.fuel· string · optionnel · e5 | e10 | diesel
Only stations with a current price for this grade: "e5" (Super E5), "e10" (Super E10) or "diesel" — LPG/Autogas and CNG are not held by any source here, so say so rather than call for them. Omit to get every station near the place whatever it sells — the answer then lists all the grades it holds a price for. Required when sort is "price", because a price ordering needs a grade.name· string · optionnel
Part of the station's own name or brand, case-insensitive: "Autohof", "Raststätte Fulda". Use it when the person named a specific forecourt rather than a chain. Combine with place to keep the search local.sort· string · optionnel · distance | price | name
Order of the answer: "distance" (nearest first, the default — use it for "closest diesel to Hamburg Hbf"), "price" (cheapest first, needs fuel), or "name" (alphabetical, for a person scanning a list of a brand's forecourts).brand· string · optionnel
Only stations of this brand, matched case-insensitively anywhere in the brand field: "ARAL", "Shell", "TotalEnergies", "JET". Use it when the person named a chain ("die ARAL an der B1"). Free stations often carry no brand at all and are then not matched by any brand.limit· integer · optionnel
How many stations to return (1–10, default 5).place· string · optionnel
Where to look, as free text: a city ("München", "Munich"), a district or Kreis ("Kreis Fulda"), a Bundesland, a station or stop ("Hamburg Hbf"), a motorway junction ("AK Neufahrn"), or a street address with a house number ("Bahnhofstraße 12, 36037 Fulda"). A motorway number alone ("A7") resolves to the road, which has no single point — name a town or junction on it instead. Use this instead of coordinates whenever the person named a place. An address needs its town or postcode — a street and a number alone exist in many towns. Give either place OR lat+lon, never both.open_at· string · optionnel
Only stations open at that time in Germany (Europe/Berlin): "23:30" means the next time the clock shows 23:30, and "2026-09-30 06:15" a specific local date and time. Use it for "is it still open tonight". Do not pass it together with open_now — they ask the same question about two different clocks.language· string · optionnel · de | en
Set 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.open_now· boolean · optionnel
When true, only stations the published opening hours say are open at this moment. Default false. A station whose hours we have never read is NOT returned by this filter and is counted in the answer instead — the result never guesses that an unknown station is open.radius_km· number · optionnel
Search radius around the place in kilometres (1–25, default 5). 25 km is the provider's own ceiling — a larger circle is a dataset request, not a consumer question.whole_day· boolean · optionnel
When true, only stations the provider flags as open around the clock (24/7). Default false. Use it when asked whether a station never closes ("durchgehend geöffnet", "around the clock") and for a night drive; it is a stricter filter than open_now, which is satisfied by a station that closes at 22:00.
Exemple d'appel{"name": "find_fuel_station", "arguments": {"lat": 1, "lon": 1, "fuel": "e5", "name": "texte", "sort": "distance", "brand": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_hydrogen_station≈ 810 tokens
Returns hydrogen (H2) filling stations near a place or coordinate, nearest first, with operator, address, pumps (700 bar car, 350 bar truck/bus), opening hours where published and the age of the record. Use when someone asks where to refuel a fuel-cell car, lorry or bus ("Wasserstofftankstelle", "H2 tanken", "hydrogen station near me"). Do NOT use for petrol or diesel (call find_fuel_station) or EV charging (call find_charging_station); LPG/Autogas and CNG are not held — say so. Radius ≤ 150 km, ≤ 10 stations; no live availability or price is published. Shows the attribution line.
Paramètres, retour & exemple (7)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.limit· integer · optionnel
How many stations to list, nearest first (1–10, default 5).place· string · optionnel
Where to look, as free text: a city ("München", "Munich"), a district or Kreis ("Kreis Fulda"), a Bundesland, a station or stop ("Hamburg Hbf"), a motorway junction ("AK Neufahrn"), or a street address with a house number ("Bahnhofstraße 12, 36037 Fulda"). A motorway number alone ("A7") resolves to the road, which has no single point — name a town or junction on it instead. Use this instead of coordinates whenever the person named a place. An address needs its town or postcode — a street and a number alone exist in many towns. Give either place OR lat+lon, never both.vehicle· string · optionnel · car | truck
Which pump the vehicle needs: "car" (Pkw — 700 bar, e.g. Toyota Mirai, Hyundai Nexo; a few sites also offer 350 bar for cars) or "truck" (Lkw or bus — 350 bar). Omit unless the person said what they drive.language· string · optionnel · de | en
Set 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.radius_km· number · optionnel
Search radius around place or lat+lon in kilometres (1–150, default 50). Hydrogen stations are few, so the default is wide; when none is inside, the answer still names the nearest one beyond. Example: 50
Exemple d'appel{"name": "find_hydrogen_station", "arguments": {"lat": 1, "lon": 1, "limit": 1, "place": "texte", "vehicle": "car", "language": "de"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_nearby≈ 799 tokens
Overview of what is around a place or coordinate: nearby fuel stations, EV charging, parking, the nearest railway station and motorway junction, each with its distance. Use when someone asks "what is around me" or "what is near <place>" — a broad look, not one category in depth. Do NOT use for a fuel grade's price (find_cheapest_fuel), charger/connector status (find_charging_station), parking kind/occupancy (find_parking), a NAME lookup (find_place/find_poi/find_address), or a coordinate's address (describe_location). Radius ≤ 15 km, up to 3 per category. Shows each source's attribution.
Paramètres, retour & exemple (6)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.place· string · optionnel
Where to look, as free text: a city ("München", "Munich"), a district or Kreis ("Kreis Fulda"), a Bundesland, a station or stop ("Hamburg Hbf"), a motorway junction ("AK Neufahrn"), or a street address with a house number ("Bahnhofstraße 12, 36037 Fulda"). A motorway number alone ("A7") resolves to the road, which has no single point — name a town or junction on it instead. Use this instead of coordinates whenever the person named a place. An address needs its town or postcode — a street and a number alone exist in many towns. Give either place OR lat+lon, never both.language· string · optionnel · de | en
Set 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.radius_km· number · optionnel
Search radius around place or lat+lon in kilometres (1–15, default 5). This tool answers "what is around me", not "search a wide area" — for that, use the specific tool with its own wider radius.categories· array · optionnel
Which categories to include: "fuel", "charging", "parking", "station" (railway station), "junction" (motorway junction). Omit for all five. Pass a subset only when the person named one — otherwise the full picture is the point of this tool.
Exemple d'appel{"name": "find_nearby", "arguments": {"lat": 1, "lon": 1, "place": "texte", "language": "de", "radius_km": 1, "categories": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_parking≈ 1332 tokens
Parking near a place, a coordinate or along one motorway: lorry parks, car parks, P+R and disabled-badge bays, with total spaces and, where published, free spaces now and the reading's age. Use when asked where to park or leave the car for the train ("Parkhaus in Köln", "Rastplatz A3", "P+R"). Do NOT use for fuel (find_cheapest_fuel) or EV charging (find_charging_station). Radius ≤ 25 km, ≤ 10 sites per list; ODbL and CC BY-SA sources are separate lists (up to three). No "free now" means no published count, not full. No prices: for "was kostet" say so, no call. Show each source's attribution.
Paramètres, retour & exemple (9)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.kind· string · optionnel · any | rest_area | car_park | park_and_ride | truck | disabled_badge
Which kind of parking: "car_park" = public car park (Parkhaus/Parkplatz), "park_and_ride" = P+R beside a station, "truck" = lorry parking, "any" = all of them. Default "any". "disabled_badge" = on-street bays reserved for a disabled parking permit (Behindertenparkplatz, Schwerbehindertenparkplatz), where a municipality publishes them, with a sensor's free/occupied where one is fitted — pass it only when such a bay was asked for; it is never part of "any" and takes place or lat+lon, not road. Rest areas are NOT a kind we can filter: no source we hold classifies them, so for "Rastanlage"/"Raststätte"/"rest area" leave kind out ("truck" when lorry spaces were asked for); "rest_area" is still accepted and answered as "any", with a sentence saying why. Pass a kind only when the person named one — a lorry driver asking for a break wants "truck", someone leaving the car for the train wants "park_and_ride". A camper, a caravan or a coach is none of these: leave the argument out rather than filtering a tourist into lorry bays.road· string · optionnel
A single motorway number to list parking along, e.g. "A3" ("A 3" and "a3" are the same road). Use this when the person named a road and no town — "Rastplatz auf der A7". Give road OR place OR lat+lon, never two of them: a road is a 900 km line and a place is a point, so the two answer different questions. When the question names BOTH — "Parkhaus in Köln an der A3" — use the place: a person parks at a point, and the radius already covers the motorway beside it. A road list is in name order and cannot follow a direction of travel: for "A4 Richtung Görlitz" ask with place for the destination or the next town on the way instead, which answers nearest first.limit· integer · optionnel
How many facilities to return, nearest first (1–10, default 5).place· string · optionnel
Where to look, as free text: a city ("München", "Munich"), a district or Kreis ("Kreis Fulda"), a Bundesland, a station or stop ("Hamburg Hbf"), a motorway junction ("AK Neufahrn"), or a street address with a house number ("Bahnhofstraße 12, 36037 Fulda"). A motorway number alone ("A7") resolves to the road, which has no single point — name a town or junction on it instead. Use this instead of coordinates whenever the person named a place. An address needs its town or postcode — a street and a number alone exist in many towns. Give either place OR lat+lon, never both.language· string · optionnel · de | en
Set 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.radius_km· number · optionnel
Search radius around place or lat+lon in kilometres (1–25, default 10). Ignored when you pass road, which covers the whole motorway. Start small in a city and widen if the answer is empty.only_with_free_spaces· boolean · optionnel
Set true only when the person asks whether spaces are free right now. It keeps just the facilities whose operator publishes live occupancy AND currently reports a space, and the result says how many were dropped for publishing nothing — most German parking publishes no occupancy at all, so true usually narrows the answer to very little. Default false.
Exemple d'appel{"name": "find_parking", "arguments": {"lat": 1, "lon": 1, "kind": "any", "road": "texte", "limit": 1, "place": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_place≈ 733 tokens
Looks up a place name and returns every match, each with its kind, population, English name and coordinate; the official key (AGS/RS) only in the structured result. Use when the person asks where somewhere is, when you need a coordinate for another tool, and above all to RECOVER after a tool reported a name as ambiguous — this is where you find out which Neustadt is which. Pass `near` to rank and separate same-named places by distance. Do NOT use to find a company, shop or landmark: call find_poi. At most 10 results, radius <= 200 km. Every result carries an attribution line to show the user.
Paramètres, retour & exemple (8)
Paramètreslat· number · optionnel
Latitude to measure from, instead of `near`.lon· number · optionnel
Longitude to measure from, instead of `near`.kind· string · optionnel · city | district | admin | station | stop | motorway | junction
Narrow to one kind: "city", "district" (Kreis), "admin" (Land or Regierungsbezirk), "station", "stop", "motorway" or "junction". Omit unless the person was specific.near· string · optionnel
A second place to measure from, used to tell same-named candidates apart: "Neustadt" near "Hamburg" is one of twenty Neustadts. Every result then carries its distance from this point.limit· integer · optionnel
How many candidates to return, best match first (1–10, default 5).query· string · requis
The place name to look up, as the person said it — "Neustadt", "Munich", "Kreis Fulda", "Köln Hbf". English names and spellings without umlauts both work.language· string · optionnel · de | en
Set 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.radius_km· number · optionnel
When near/lat+lon is given, keep only candidates within this many kilometres (1–200). Omit to rank by distance without dropping any.
Exemple d'appel{"name": "find_place", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_poi≈ 1037 tokens
Finds a business or landmark by name or kind — company, shop, clinic, hotel, hostel — with address, category and coordinate. Use when the person names a THING rather than a town: "the adesso office in Dortmund", "the nearest Aldi", "a hotel in Weimar". The coordinate passes to any other tool as lat/lon. Do NOT use for a town, district or station (every tool's `place` resolves those), nor for fuel, charging or parking (own tools). Give "in" (a town) when you can: far faster than nationwide. 25 per page, 50 via cursor; radius <= 50 km. OpenStreetMap under ODbL 1.0; show the attribution line.
Paramètres, retour & exemple (10)
Paramètresin· string · optionnel
A town to search in — "Dortmund", "Fulda". Strongly preferred: it is both far faster and far less ambiguous than a nationwide search. Use this OR near/lat+lon, not both.lat· number · optionnel
Latitude of the point to search around, when the caller already holds a coordinate.lon· number · optionnel
Longitude of the point to search around.name· string · requis
The name of the thing to find — a company, shop, clinic, hotel, office or landmark. Part of the name is enough: "adesso" finds "adesso SE". A chain name works too, because brands are matched as well as names. A kind word alone, German or English ("Apotheke", "pharmacy", "trade fair"), lists that kind nearest first. When the person names a company AND a type ("the Bosch office"), put the company here and the type in category. Never for fuel, charging or parking, even near a named company or landmark ("a charger by the Allianz Arena"): those have their own tools, asked with the place.near· string · optionnel
A place to search around, when the question is "the nearest X" rather than "X in Y". Use with radius_km.limit· integer · optionnel
How many to return per page, best match first (1–25, default 10). The answer says when more matched; fetch them with cursor, up to 50 in all.cursor· string · optionnel
Pagination cursor from a previous result's _meta.nextCursor. Omit for the first page.category· string · optionnel · office | amenity | shop | tourism | healthcare | leisure | industrial | historic
Narrow to one OpenStreetMap family: "office" (companies, agencies), "shop", "amenity" (fuel, pharmacy, school, restaurant, town hall), "healthcare" (hospitals, clinics, doctors, pharmacies), "tourism" (hotels, attractions), "leisure", "industrial" (factories, plants), "historic" (castles, monuments, city gates), "natural" (mountain peaks) or "building". Set it whenever the person names the type ("Bosch office" → office, "Hotel Adler" → tourism); omit it when they name no type.language· string · optionnel · de | en
Set 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.radius_km· number · optionnel
Search radius in kilometres around near/lat+lon (1–50, default 10). Ignored when "in" is used.
Exemple d'appel{"name": "find_poi", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_roadworks_ahead≈ 948 tokens
Returns roadworks PLANNED on one motorway, one Bundes-/Landesstraße in NI, BW, MV, SN or TH (BY: B only), or city streets by place, in a date window: section, restriction, dates. Use when a date or window is named, it says geplant, or how long a site lasts ("Baustellen auf der A7 in den Sommerferien?"). ONE road/place per call. Do NOT use when more than one motorway is named, for the situation this minute, or for Baustellen with neither date nor geplant — all three are check_autobahn_traffic; whether a road is open — check_road_status. ≤ 92 days, max 20 sites. Show attribution.
Paramètres, retour & exemple (6)
Paramètresto· string · optionnel
Last day of the window, inclusive, as YYYY-MM-DD. Omit for 7 days after `from`, which is the right window for "am I going to hit roadworks on this drive". The window may span at most 92 days. For "how long will this last" / "wie lange dauert die Baustelle noch", leave both dates out: the default 7 days already returns the site's planned end date. Only widen — 28 days is the sensible step — when the person asked about a period that long.from· string · optionnel
First day of the window, as YYYY-MM-DD in German local time. Omit for today. Resolve relative wording ("next Friday", "in den Sommerferien", "nächsten Monat") into real dates yourself, counted from today's date; this argument never takes words, and it never takes a fixed example date — the window a person means moves with the calendar.road· string · optionnel
The road to look at, one per call: an Autobahn, e.g. "A7" or "A100"; a Bundesstraße in Niedersachsen, Baden-Württemberg, Bayern, Mecklenburg-Vorpommern, Sachsen or Thüringen, e.g. "B6"; a Landesstraße in Niedersachsen, Baden-Württemberg, Mecklenburg-Vorpommern or Thüringen, e.g. "L1025"; or a Staatsstraße in Sachsen, e.g. "S296" — "A7", "A 7" and "a7" are the same road. B and L roads in other Länder and Kreisstraßen are not covered. Ask again for a second road. Give road OR place.limit· integer · optionnel
Maximum sites to return (1–20, default 10), ordered by planned start. Every returned site is in the structured result; the readable text prints the first 10 and says how many more of them are in the structured half. The answer always names how many sites the window holds in total, so a small limit never hides the size of the problem.place· string · optionnel
A place — a district, street or address, e.g. "Hamburg-Altona", "Berlin-Mitte", "Kiel" — for the city and Land roadworks held by point within 3 km of it. Where no such source covers the place, the answer says so. Give road OR place.language· string · optionnel · de | en
Set 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.
Exemple d'appel{"name": "find_roadworks_ahead", "arguments": {"to": "texte", "from": "texte", "road": "texte", "limit": 1, "place": "texte", "language": "de"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_sharing≈ 763 tokens
Returns rentable shared bikes near a place or coordinate: bike-sharing stations with bikes and free docks now, and free-floating bikes around, with distance and data age (nextbike incl. KVB Rad, MyRadl, VAG_Rad; Donkey Republic). Use when someone asks for a rental or shared bike ("Leihrad", "Fahrradverleih", "nächstes nextbike", "bike share near me"). Do NOT use for parking (find_parking) or a general look around a place (find_nearby). Radius ≤ 5 km, ≤ 20 stations; e-scooters are not covered. Shows each source's attribution.
Paramètres, retour & exemple (7)
Paramètreslat· number · optionnel
Latitude in WGS 84, e.g. 48.137. Use with lon when the caller already holds coordinates; otherwise use place.lon· number · optionnel
Longitude in WGS 84, e.g. 11.576. Use with lat; otherwise use place.limit· integer · optionnel
How many stations to list, nearest first (1–20, default 8). Free-floating bikes are summarised, not listed one by one.place· string · optionnel
Where to look, as free text: a city ("München", "Munich"), a district or Kreis ("Kreis Fulda"), a Bundesland, a station or stop ("Hamburg Hbf"), a motorway junction ("AK Neufahrn"), or a street address with a house number ("Bahnhofstraße 12, 36037 Fulda"). A motorway number alone ("A7") resolves to the road, which has no single point — name a town or junction on it instead. Use this instead of coordinates whenever the person named a place. An address needs its town or postcode — a street and a number alone exist in many towns. Give either place OR lat+lon, never both.language· string · optionnel · de | en
Set 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.radius_km· number · optionnel
Search radius around place or lat+lon in kilometres (0.1–5, default 1). Example: 1only_available· boolean · optionnel
true (default): list only stations with at least one bike to rent right now. false: also list empty stations, e.g. to find a free dock to return a bike.
Exemple d'appel{"name": "find_sharing", "arguments": {"lat": 1, "lon": 1, "limit": 1, "place": "texte", "language": "de", "radius_km": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_departures≈ 1048 tokens
Scheduled departures from any German stop — bus, tram, U-Bahn, S-Bahn, train, ferry. Use when asked when a bus, tram, U-/Stadtbahn or ferry goes ("welche Bahnen" at a Hbf too), or for another DAY or a time over 2 h away: "Wann fährt der nächste Bus ab Fulda Bahnhof?" Do NOT use for a railway station's trains now or later today — get_train_departures. Plan times, with a live delay or cancellation per row where held; regional punctuality check_transit_disruption. No A-to-B journeys: say so, no call. Holds ≥ 48 h ahead, ≤ 3 days; further out, say so. 15 per call. Show the attribution line.
Paramètres, retour & exemple (7)
Paramètresstop· string · optionnel
The stop, as the person says it: "Fulda, Bahnhof", "München, Marienplatz", "Köln, Hbf", "Hamburg, Rathausmarkt" (town first). Include the town when the person did — half the names in Germany exist in twenty towns, and a bare "Bahnhof" or "Hauptbahnhof" comes back as a list of candidates to choose from, so call it and let the result ask. Pass their words; do not guess an id. Give either stop OR the stop id, never both.when· string · optionnel
Start of the window as an ISO-8601 instant with an offset ("2026-10-02T07:30:00+02:00"). Leave it out for "now". Convert the person's words yourself — "morgen früh", "tonight" — and pass the instant; the answer is always rendered in Europe/Berlin.limit· integer · optionnel
How many departures to return, earliest first (1–15, default 10). The result always says how many more were in the window.modes· array · optionnel
Keep only these kinds of service: "bus", "tram", "subway" (U-Bahn), "rail" (every train, including S-Bahn and regional) or "ferry". Omit it unless the person named a kind — "nur Busse", "welche Tram". Several are allowed, which is what "die Busse und Bahnen vor dem Hbf" means. An S-Bahn is "rail": the feed does not always distinguish it, and the line name ("S 6") says which it is.stop_id· string · optionnel
The stop's timetable id, exactly as a previous result of this tool gave it ("de:06631:1234"). It skips the name lookup and is exact — use it for a follow-up about a stop this tool has already named, and for one the person picked out of a candidate list.language· string · optionnel · de | en
Set 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.duration_min· integer · optionnel
How far past that moment to look, in minutes (5–1440, default 60). Small for "what goes now", a few hours for an evening. To look further ahead (the timetable reaches at least 48 h), move `when` instead of widening this: a window of a whole day returns at most 15 rows and would answer about the wrong half of it.
Exemple d'appel{"name": "get_departures", "arguments": {"stop": "texte", "when": "texte", "limit": 1, "modes": [], "stop_id": "texte", "language": "de"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_driving_rules≈ 792 tokens
Returns the German road rules a visitor needs: low-emission zones (Umweltzone) and the Feinstaubplakette, speed limits (advisory 130), winter tyres, alcohol, the Sunday lorry ban, tolls, Rettungsgasse, what must be in the car, electric cars. Use when someone drives through Germany or asks whether they may enter a city or street. Do NOT use for live traffic or closures: check_autobahn_traffic; to FIND a charger: find_charging_station. city narrows to its zone; place or lat+lon checks a point against the published zone boundaries. Sourced, dated; show the attribution. Not legal advice.
Paramètres, retour & exemple (6)
Paramètreslat· number · optionnel
Latitude (WGS 84) of the point to check against the zone boundaries. Use with lon; otherwise use place.lon· number · optionnel
Longitude (WGS 84) of the point to check against the zone boundaries. Use with lat; otherwise use place.city· string · optionnel
City the question is about, e.g. "Stuttgart", "München", "Munich". Narrows "lez" to that city's zone and adds the per-city caveat for "ev". Other topics are nationwide. Omit when the question is not about one city.place· string · optionnel
A street address, district, station or other point ("Alexanderplatz, Berlin", "Kölner Dom") to check against the published low-emission-zone boundaries: inside, outside with the distance, or unknown. Give either place OR lat+lon, never both.topic· string · optionnel · lez | speed | winter | alcohol | toll | truck_ban | equipment | emergency
Which rule to answer. "lez" = low-emission zone and Feinstaubplakette, "speed" = speed limits including the Autobahn advisory 130, "winter" = winter-tyre duty, "alcohol" = alcohol and drugs, "toll" = car and lorry toll, "truck_ban" = Sunday and holiday lorry ban, "equipment" = what the law requires in the car, "emergency" = 112/110, rescue lane, breakdown, crash, "ev" = electric car (E-Kennzeichen, charging payment, plugs). Omit for a one-line overview of all nine; with place or lat+lon, omitted means "lez".language· string · optionnel · de | en
Set 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.
Exemple d'appel{"name": "get_driving_rules", "arguments": {"lat": 1, "lon": 1, "city": "texte", "place": "texte", "topic": "lez", "language": "de"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_train_departures≈ 989 tokens
Next trains from a German railway station: platform, delay, cancellations. Use when asked when a train, S-Bahn or ICE leaves a named station, or if a train or line from it is late ("RE1 from Köln Hbf late?"); later today ("heute Abend") stays here. A line with no DEPARTURE station ("ist die S1 pünktlich?"; a destination, "nach …"/"zum …", is not one) — check_transit_disruption. Do NOT use for buses, trams, a non-railway stop, another day or a time over 2 h away — get_departures. Train type: categories (ICE/IC/RE/RB/S); no destination filter. ≤ 15 rows, ≤ 120 min. Show the attribution line.
Paramètres, retour & exemple (7)
Paramètreswhen· string · optionnel
Start of the window as an ISO-8601 instant with an offset ("2026-09-20T18:30:00+02:00"). Leave it out for "now", which is what almost every question means. Times in the answer are Europe/Berlin whatever you pass.limit· integer · optionnel
How many departures to return, earliest first (1–15, default 10). More than 15 is refused — that is a board a person can read, not a dataset.eva_no· string · optionnel
The station's EVA number (6–8 digits, e.g. 8002549 for Hamburg Hbf), when a previous result gave you one. It skips the name lookup and is exact — use it to answer a follow-up about a station this tool has already named.station· string · optionnel
The railway station, as the person says it: "Hamburg Hbf", "Köln Hbf", "Munich Central", "Frankfurt (Main) Hbf". Pass their words — English names and "central station" are understood. If the name fits several stations (a bare "Hauptbahnhof"), call anyway: the result lists them and asks which; do not guess one yourself. Give either station OR eva_no, never both.language· string · optionnel · de | en
Set 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.categories· array · optionnel
Keep only these train types, when the person named one: "ICE", "IC" (also EC, ECE, Railjet, Nightjet), "RE" (also IRE), "RB" or "S" (S-Bahn). "next ICE to …" is ["ICE"], "Fernzug" is ["ICE", "IC"], "Regionalzug" is ["RE", "RB"]. The board then lists only those, so pair it with a longer duration_min. Omit it for "which trains leave". A replacement bus is never a train type.duration_min· integer · optionnel
How far ahead to look, in minutes (5–120, default 60). Use a small window for "what leaves now" and a larger one for "this evening". Above 120 is refused: a departure board is not a timetable search.
Exemple d'appel{"name": "get_train_departures", "arguments": {"when": "texte", "limit": 1, "eva_no": "texte", "station": "texte", "language": "de", "categories": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - stop_watch≈ 709 tokens
Ends a watch this conversation opened with watch_situation, so no further notifications arrive for it. Use when the person no longer needs to be told — "du musst mir nichts mehr zur A8 sagen", "stop watching that charger". No id at hand: pass kind ("weather") and key in the person's words ("A8", "Bamberg", "Kiel"); one match is stopped, several are listed. Do NOT use to look a situation up (call check_road_status), to list what is running (read viafrei://watches), or to cancel anything outside this chat. Another session's watch is never found. Results carry their attribution line.
Paramètres, retour & exemple (5)
Paramètreskey· string · optionnel
Instead of an id: the watched subject in the person's words, as it was given to watch_situation — a road or place ("A8", "Bamberg"), and with `kind` a place for a weather or charger watch or a stop name for a station watch ("Kiel", "Köln Hbf"), which is resolved the way watch_situation resolved it. The id the watch carries works too. For a station, region, weather or charger watch a key that matches none of them falls back to `kind` alone. Matched against this session's open watches, case and spaces ignored. One match is stopped; several are listed and none is stopped.uri· string · optionnel
The watch's resource uri, e.g. "viafrei://watch/12". Give either this or `watch_id`, not both.kind· string · optionnel · road | station | region | place | weather | charger
Instead of an id: the kind of watch the person means, as watch_situation took it ("road", "station", "region", "place", "weather", "charger"). "Turn off the charging alert" is kind "charger" alone.language· string · optionnel · de | en
Set 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.watch_id· integer · optionnel
The numeric id of the watch to stop, as `watch_situation` returned it (the 12 in viafrei://watch/12).
Exemple d'appel{"name": "stop_watch", "arguments": {"key": "texte", "uri": "texte", "kind": "road", "language": "de", "watch_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - watch_situation≈ 1604 tokens
Opens a watch so THIS conversation is told when something changes: a road closed or restricted (not a jam), a stop running late, a weather warning, a charger freeing up. Use when asked to be told later: "sag mir Bescheid, wenn die A8 wieder frei ist", "tell me when a warning comes for Kiel". A name is enough as the key; no lookup first. Do NOT use to look up now, nor for e-mail, SMS or alerts outside this chat — we cannot send one; say so. Set hours (≤ 24, default 3) for the time asked; condition narrows it (only the reopening, one charge point). Session-scoped, ≤ 10 watches. Show attribution.
Paramètres, retour & exemple (7)
Paramètreskey· string · requis
The thing to watch, in the person's own words — a name is enough and no read tool is needed first; the server resolves it and the answer names the key it resolved to. `road`: a road number ("A8", "B27"). `place`: a town or address ("Fulda"). `weather`: a place name ("Kiel"), resolved to the DWD warn cell it lies in — or a warn cell id ("801002000"); a Land or Kreis is an area and takes no single cell. `station`: a stop or station name ("Köln Hbf", "München, Marienplatz"), resolved to its DHID the way get_departures resolves a stop — or a DHID ("de:14612:28"); an EVA number from get_train_departures ("8000207") is not a DHID and is refused. `charger`: a place ("Würzburg"), resolved to the nearest charging site that reports live occupancy — or a site id from find_charging_station. `region`: a city, district or Land ("Hamburg", "Landkreis Fulda"), resolved to its AGS key the way check_transit_disruption resolves its region — or an AGS key ("14612"). A name that fits several places or stops gets a which-one list and opens no watch; call again with the chosen line.kind· string · requis · road | station | region | place | weather | charger
What kind of thing to watch. `road` = one motorway or federal road (key: "A8", "B27") — reports a closure or restriction appearing or clearing, not a jam; `station` = one public-transport stop (key: its name, "Köln Hbf", or its DHID) — reports departures running late past the threshold; `region` = a city, district or Land (key: its name, "Hamburg", or its AGS key, "14612") — reports the share of late trips crossing the threshold; `place` = a town or address (key: "Fulda") — reports road restrictions appearing within the radius, not a jam; `weather` = one DWD warn cell (key: a place name, "Kiel", or the cell id) — reports an official warning coming into force; `charger` = one charging site (key: a place, "Würzburg", or the site id) — reports a point turning free.hours· number · optionnel
How long to watch, in hours (default 3, maximum 24). Prefer this over `until`: it needs no knowledge of the current time. Give one of `hours` or `until`, never both.until· string · optionnel
An explicit end instant as ISO-8601 with an offset ("2026-09-20T18:40:00+02:00"), at most 24 hours ahead. Use only when the person named a time; otherwise use `hours`. Give one of `hours` or `until`, never both.request· string · optionnel
The person's request in their own words ("sag mir Bescheid, wenn sich auf der A7 ein Stau bildet"). Pass it on every call: a `road` or `place` watch reports closures and restrictions, never a jam or slow traffic, and the answer says so — a request about a jam alone opens no watch.language· string · optionnel · de | en
Set 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.condition· object · optionnel
Optional threshold; the keys of each kind, with an example: road {"event": "reopen"} (only the reopening); station {"delay_min": 20}; region {"late_share": 0.3, "delay_min": 5, "min_trips": 20}; place {"radius_km": 10}; weather {"min_level": 3}; charger {"point_id": "2"} (one charge point). Any other key, or a key of another kind, is refused by name; leave it out for the default. The answer repeats the condition it applies.
Exemple d'appel{"name": "watch_situation", "arguments": {"key": "texte", "kind": "road"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».