{"serverId":"mcp-registry/io.github.amirdaraee/luxembourg-mcp","tools":[{"name":"geocode_address","fixed":{"name":"geocode_address","description":"Resolve a Luxembourg address to official Geoportail coordinates.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"get_accessibility_audits","fixed":{"name":"get_accessibility_audits","description":"Get the latest public-sector digital accessibility audits.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":10,"maximum":100,"minimum":1}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"get_accessibility_figures","fixed":{"name":"get_accessibility_figures","description":"Get national Digital Accessibility Observatory key figures.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"get_air_quality","fixed":{"name":"get_air_quality","description":"Get the latest national telemetric air-quality measurements by station.","inputSchema":{"type":"object","properties":{"city":{"type":"string","description":"Optional city-name filter"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"get_bike_sharing","fixed":{"name":"get_bike_sharing","description":"Get live Vel'OK bike-sharing availability at stations in southern Luxembourg.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional station, locality or commune filter"},"available_only":{"type":"boolean","default":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"get_carsharing","fixed":{"name":"get_carsharing","description":"Find currently available CFL FLEX carsharing vehicles by station, town or fuel type.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional station, town, address or model filter"},"fuel_type":{"type":"string","description":"Optional fuel filter such as electric or diesel"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":108,"tokensAfter":108},{"name":"get_cfl_parking","fixed":{"name":"get_cfl_parking","description":"Get live occupancy and details for a CFL Park and Ride facility.","inputSchema":{"type":"object","required":["parking_id"],"properties":{"parking_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"get_city_mobility","fixed":{"name":"get_city_mobility","description":"Get Ville de Luxembourg mobility locations as GeoJSON features.","inputSchema":{"type":"object","required":["category"],"properties":{"category":{"enum":["park_and_bike","park_and_ride","covered_parking","surface_parking","accessible_parking","bike_rentals"],"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":98,"tokensAfter":98},{"name":"get_city_parking","fixed":{"name":"get_city_parking","description":"Get current Ville de Luxembourg car-park capacity and free spaces.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"available_only":{"type":"boolean","default":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"get_commune_leaders","fixed":{"name":"get_commune_leaders","description":"Get the current mayor and aldermen of Luxembourg communes.","inputSchema":{"type":"object","properties":{"commune":{"type":"string","description":"Optional commune-name filter"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"get_commune_population","fixed":{"name":"get_commune_population","description":"Get official resident population by commune, split by adults, minors and sex.","inputSchema":{"type":"object","properties":{"commune":{"type":"string","description":"Optional commune-name filter"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"get_dataset","fixed":{"name":"get_dataset","description":"Get metadata and current download resources for an official dataset.","inputSchema":{"type":"object","required":["dataset_id_or_slug"],"properties":{"dataset_id_or_slug":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"get_deputies","fixed":{"name":"get_deputies","description":"List the current members of the Chamber of Deputies with party, constituency, start of mandate and official email.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional name, party or constituency filter"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":88,"tokensAfter":88},{"name":"get_election_results","fixed":{"name":"get_election_results","description":"Get machine-readable 2023 legislative election results, national and per circonscription.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"get_electricity_grid","fixed":{"name":"get_electricity_grid","description":"Get Luxembourg's latest daily electricity load, generation by production type and cross-border flows (ENTSO-E actuals).","inputSchema":{"type":"object","properties":{"include_series":{"type":"boolean","default":false,"description":"Also return the 15-minute load and generation series"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"get_electricity_prices","fixed":{"name":"get_electricity_prices","description":"Get Luxembourg day-ahead wholesale electricity prices per quarter hour, with the cheapest and most expensive slots.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"get_ev_charging","fixed":{"name":"get_ev_charging","description":"Get Chargy public EV charging stations with live connector availability.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional name or address filter"},"available_only":{"type":"boolean","default":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"get_fuel_prices","fixed":{"name":"get_fuel_prices","description":"Get official monthly Luxembourg prices for petrol, diesel, hydrogen, LPG, home electricity and public EV charging.","inputSchema":{"type":"object","properties":{"months":{"type":"integer","default":6,"maximum":24,"minimum":1}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83},{"name":"get_geo_features","fixed":{"name":"get_geo_features","description":"Fetch GeoJSON features from an official Geoportail OGC collection.","inputSchema":{"type":"object","required":["collection_id"],"properties":{"bbox":{"type":"array","items":{"type":"number"},"maxItems":4,"minItems":4,"description":"WGS84 [west, south, east, north]"},"limit":{"type":"integer","default":10,"maximum":100,"minimum":1},"collection_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":123,"tokensAfter":123},{"name":"get_housing_prices","fixed":{"name":"get_housing_prices","description":"Get advertised housing sale prices by commune from the official Observatoire de l'Habitat.","inputSchema":{"type":"object","properties":{"year":{"type":"string","description":"Four-digit year such as 2025; defaults to the latest"},"commune":{"type":"string","description":"Optional commune-name filter"},"property_type":{"enum":["apartment","house"],"type":"string","default":"apartment"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"get_pharmacies_on_duty","fixed":{"name":"get_pharmacies_on_duty","description":"Get the pharmacies on duty in Luxembourg for a date, with address and phone number.","inputSchema":{"type":"object","properties":{"date":{"type":"string","description":"YYYY-MM-DD within the published window; defaults to today"},"locality":{"type":"string","description":"Optional locality or address filter"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":109},{"name":"get_plenary_votes","fixed":{"name":"get_plenary_votes","description":"Get Chamber of Deputies plenary votes, newest first, with yes/no/abstain tallies per party and optionally how one deputy voted.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"query":{"type":"string","description":"Optional subject filter such as a bill number (PL 8727) or keyword"},"deputy":{"type":"string","description":"Optional deputy-name filter; adds that deputy's vote"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":144,"tokensAfter":144},{"name":"get_public_alerts","fixed":{"name":"get_public_alerts","description":"Get recent LU-Alert public warnings: floods, storms, food recalls and other national alerts.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":3,"maximum":10,"minimum":1},"language":{"enum":["en","fr","de","lb"],"type":"string","default":"en"},"active_only":{"type":"boolean","default":true}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":111,"tokensAfter":111},{"name":"get_public_holidays","fixed":{"name":"get_public_holidays","description":"List Luxembourg legal public holidays in four languages, optionally for one year.","inputSchema":{"type":"object","properties":{"year":{"type":"integer","maximum":2100,"minimum":2020}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"get_statistics","fixed":{"name":"get_statistics","description":"Retrieve recent observations from a STATEC LUSTAT SDMX dataflow.","inputSchema":{"type":"object","required":["dataflow_id"],"properties":{"key":{"type":"string","default":"all","description":"SDMX dimension key or all"},"max_rows":{"type":"integer","default":500,"maximum":2000,"minimum":1},"dataflow_id":{"type":"string","description":"STATEC identifier such as DF_D7100"},"last_n_observations":{"type":"integer","default":5,"maximum":100,"minimum":1}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":146,"tokensAfter":146},{"name":"get_traffic","fixed":{"name":"get_traffic","description":"Get live CITA motorway speed, occupancy, and flow measurements.","inputSchema":{"type":"object","properties":{"road":{"enum":["a3","a4","a6","a7","a13","b40"],"type":"string","default":"a6"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"get_traffic_events","fixed":{"name":"get_traffic_events","description":"Get live roadworks, lane closures, incidents and equipment faults on Luxembourg motorways from CITA.","inputSchema":{"type":"object","properties":{"road":{"type":"string","description":"Optional road filter such as A4 or B40"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"get_unemployment","fixed":{"name":"get_unemployment","description":"Get monthly ADEM figures: registered resident jobseekers by sex and job vacancies, nationally or for one commune.","inputSchema":{"type":"object","properties":{"months":{"type":"integer","default":12,"maximum":120,"minimum":1},"commune":{"type":"string","description":"Optional commune name for local jobseeker counts"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":110,"tokensAfter":110},{"name":"get_waste_collections","fixed":{"name":"get_waste_collections","description":"Get upcoming municipal waste-collection dates for a Luxembourg commune.","inputSchema":{"type":"object","required":["commune"],"properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"street":{"type":"string","description":"Optional street-name filter; commune-wide rows always match"},"commune":{"type":"string"},"waste_type":{"type":"string","description":"Optional collection-type filter such as verre, papier, biodechets"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":147,"tokensAfter":147},{"name":"get_water_levels","fixed":{"name":"get_water_levels","description":"Get the latest official measured water level at Luxembourg stations.","inputSchema":{"type":"object","properties":{"station":{"type":"string","description":"Optional station-name filter"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"get_weather_alerts","fixed":{"name":"get_weather_alerts","description":"Get current official MeteoLux weather warnings published on data.public.lu.","inputSchema":{"type":"object","properties":{"language":{"enum":["en","fr","de","lu"],"type":"string","default":"en"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"get_weather_forecast","fixed":{"name":"get_weather_forecast","description":"Get the official MeteoLux forecast for a place in Luxembourg: current conditions, 24 hours, 5 days, UV index, sunrise and sunset.","inputSchema":{"type":"object","properties":{"language":{"enum":["en","fr","de","lb"],"type":"string","default":"en"},"latitude":{"type":"number","default":49.6116},"longitude":{"type":"number","default":6.1319}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"get_weather_observations","fixed":{"name":"get_weather_observations","description":"Get live MeteoLux weather observations at Luxembourg-Airport: temperature, wind, pressure, humidity, visibility.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"list_cfl_parking","fixed":{"name":"list_cfl_parking","description":"List official CFL Park and Ride facilities.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":46,"tokensAfter":46},{"name":"list_geo_collections","fixed":{"name":"list_geo_collections","description":"Search official Geoportail OGC feature collections by title, description, or keyword.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"query":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"lookup_luxembourgish","fixed":{"name":"lookup_luxembourgish","description":"Look up a word in the official Luxembourgish dictionary (LOD): translations into German, French, English and Portuguese, pronunciation, forms and examples.","inputSchema":{"type":"object","required":["word"],"properties":{"word":{"type":"string"},"limit":{"type":"integer","default":2,"maximum":5,"minimum":1},"language":{"enum":["lb","de","fr","en","pt","nl"],"type":"string","default":"lb","description":"Language of the word being looked up"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":146,"tokensAfter":146},{"name":"search_chamber_bodies","fixed":{"name":"search_chamber_bodies","description":"Search official Chamber committees, delegations, bodies, memberships, and roles.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"query":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"search_datasets","fixed":{"name":"search_datasets","description":"Search Luxembourg's official data.public.lu catalog.","inputSchema":{"type":"object","required":["query"],"properties":{"page":{"type":"integer","default":1,"minimum":1},"query":{"type":"string"},"page_size":{"type":"integer","default":10,"maximum":50,"minimum":1}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"search_legislation","fixed":{"name":"search_legislation","description":"Search official Luxembourg legislation and consolidated laws through Legilux.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"query":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":87,"tokensAfter":87},{"name":"search_parliamentary_questions","fixed":{"name":"search_parliamentary_questions","description":"Search Chamber of Deputies parliamentary questions by keyword, newest first.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"query":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"search_statistics","fixed":{"name":"search_statistics","description":"Search STATEC LUSTAT statistical dataflows by topic or title.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"query":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":82,"tokensAfter":82},{"name":"search_tenders","fixed":{"name":"search_tenders","description":"Search Luxembourg public procurement notices with deadlines, buyers and CPV codes.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"query":{"type":"string","description":"Optional full-text filter"},"open_only":{"type":"boolean","default":true}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":106,"tokensAfter":106},{"name":"search_transit_stops","fixed":{"name":"search_transit_stops","description":"Search official nationwide public-transport stops from the current ATP GTFS feed.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"query":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89}],"toolsChanged":43,"tokensSaved":0,"todo":[{"tool":"geocode_address","params":["query"]},{"tool":"get_accessibility_audits","params":["limit"]},{"tool":"get_bike_sharing","params":["available_only"]},{"tool":"get_cfl_parking","params":["parking_id"]},{"tool":"get_city_mobility","params":["category"]},{"tool":"get_city_parking","params":["query","available_only"]},{"tool":"get_dataset","params":["dataset_id_or_slug"]},{"tool":"get_ev_charging","params":["available_only"]},{"tool":"get_fuel_prices","params":["months"]},{"tool":"get_geo_features","params":["limit","collection_id"]},{"tool":"get_housing_prices","params":["property_type"]},{"tool":"get_plenary_votes","params":["limit"]},{"tool":"get_public_alerts","params":["limit","language","active_only"]},{"tool":"get_public_holidays","params":["year"]},{"tool":"get_statistics","params":["max_rows","last_n_observations"]},{"tool":"get_traffic","params":["road"]},{"tool":"get_unemployment","params":["months"]},{"tool":"get_waste_collections","params":["limit","commune"]},{"tool":"get_weather_alerts","params":["language"]},{"tool":"get_weather_forecast","params":["language","latitude","longitude"]},{"tool":"list_geo_collections","params":["limit","query"]},{"tool":"lookup_luxembourgish","params":["word","limit"]},{"tool":"reverse_geocode","params":["latitude","longitude"]},{"tool":"search_chamber_bodies","params":["limit","query"]},{"tool":"search_datasets","params":["page","query","page_size"]},{"tool":"search_legislation","params":["limit","query"]},{"tool":"search_parliamentary_questions","params":["limit","query"]},{"tool":"search_statistics","params":["limit","query"]},{"tool":"search_tenders","params":["limit","open_only"]},{"tool":"search_transit_stops","params":["limit","query"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}