Keyless MCP access to official Luxembourg public data — 21 tools over 15 public systems, zero dependencies
Luxembourg MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Keyless Model Context Protocol access to Luxembourg public data.
**Hosted endpoint — no install needed:** point any MCP client at https://mcp.luxembourg-mcp.com/mcp (streamable HTTP). Or run it yourself with uvx luxembourg-mcp. Website: luxembourg-mcp.com
Luxembourg MCP turns fragmented public APIs and open datasets into 44 consistent tools that AI agents can call directly. It covers laws, official statistics, mobility, environmental measurements, parliament, accessibility, addresses, geospatial features, and the national open-data catalogue.
- 44 MCP tools
- 28 public data systems
- No API keys or accounts
- No scraping
- Source URL returned with every result
- Stdio and Streamable HTTP transports
Origin and credit
This project is directly inspired by Allemannsdata, created by Thomas Heggelund.
Heggelund's original idea was to give public data the same openness suggested by Norway's *allemannsretten*, the right to roam: public information should be straightforward to reach, combine, and use. Allemannsdata removes the repetitive integration work between agents and Norwegian public services by presenting many unrelated data sources through consistent, keyless MCP tools.
Luxembourg MCP applies that idea to the Grand Duchy. It is an independent implementation for Luxembourg, not a fork, official regional edition, or affiliated project. Credit for the original public-data-over-MCP catalogue concept belongs to Thomas Heggelund and Allemannsdata.
Available tools
| Tool | Public source | Purpose |
| --- | --- | --- |
| search_datasets | data.public.lu | Search the national open-data catalogue |
| get_dataset | data.public.lu | Inspect metadata and current resources |
| geocode_address | Geoportail | Resolve an official address |
| reverse_geocode | Geoportail | Find the nearest official address |
| list_geo_collections | Geoportail OGC API | Discover queryable geospatial layers |
| get_geo_features | Geoportail OGC API | Retrieve bounded GeoJSON features |
| get_weather_alerts | MeteoLux | Read current weather warnings |
| search_legislation | Legilux | Search legislation and consolidated laws |
| search_statistics | STATEC LUSTAT | Discover statistical dataflows |
| get_statistics | STATEC LUSTAT | Retrieve labelled SDMX observations |
| get_city_parking | Ville de Luxembourg | Read live city parking availability |
| list_cfl_parking | CFL | List Park and Ride facilities |
| get_cfl_parking | CFL | Read live P+R occupancy and free spaces |
| get_traffic | CITA | Read live motorway traffic measurements |
| get_water_levels | Water Management Administration | Read current water-station levels |
| get_air_quality | Environment Administration | Read national air-quality measurements |
| search_chamber_bodies | Chamber of Deputies | Search bodies, memberships, and roles |
| get_accessibility_figures | Digital Accessibility Observatory | Read national accessibility totals |
| get_accessibility_audits | Digital Accessibility Observatory | List recent public-sector audits |
| search_transit_stops | Public Transport Administration | Search nationwide GTFS stops |
| get_city_mobility | Ville de Luxembourg Maps | Retrieve mobility locations as GeoJSON |
| get_weather_observations | MeteoLux | Live temperature, wind, pressure at Findel |
| get_public_holidays | data.public.lu | Legal public holidays in four languages |
| search_parliamentary_questions | Chamber of Deputies | Search parliamentary questions and answers |
| get_housing_prices | Observatoire de l'Habitat | Advertised housing sale prices by commune |
| get_election_results | CTIE | 2023 legislative election results |
| get_ev_charging | Chargy | Public EV charging with live availability |
| get_waste_collections | Environment Administration | Upcoming waste-collection dates by commune |