# Luxembourg MCP

> Keyless MCP access to official Luxembourg public data: laws, statistics, mobility, and more.

- name: io.github.amirdaraee/luxembourg-mcp
- version: 0.7.0
- connection class: unknown (unknown)
- trust: 72/100
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.amirdaraee%2Fluxembourg-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.amirdaraee%2Fluxembourg-mcp/tools

**Not classified yet.** The remote endpoints have not been probed successfully, or the listing has nothing to connect to.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "luxembourg-mcp": {
      "type": "http",
      "url": "https://mcp.luxembourg-mcp.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 27
- freshness: 85
- provenance: 90
- drivers: +repository +namespace-matches-repo +website -unreachable(1 failures) ~updated-33d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 64 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_geo_collections (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_weather_alerts (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_transit_stops (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 3,135 tokens to load every tool
- warn `tools.api_dump`: 44 tools, 77% named like REST operations: looks like an API mapped one endpoint per tool

### stability: 75 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: 100 (weight 15)

- pass `deps.known_vulns`: no known advisory in 1 resolved packages
- n/a `deps.mcp_sdk_version`: the official MCP SDK is not in the dependency graph
- pass `deps.resolvable`: luxembourg-mcp@0.7.0 resolved: 1 packages

- tools: 44, about 3,135 tokens to load them all
- tool set hash: e71ae1eda6a0de0b71a6707b1a2e48c2
- tools last changed: 2026-10-04T19:17:10.452Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.amirdaraee/luxembourg-mcp.svg)](https://protogrid.dev/servers/io.github.amirdaraee/luxembourg-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-04 `get_unemployment` added
  - Get monthly ADEM figures: registered resident jobseekers by sex and job vacancies, nationally or for one commune.
- 2026-10-04 `get_electricity_grid` added
  - Get Luxembourg's latest daily electricity load, generation by production type and cross-border flows (ENTSO-E actuals).
- 2026-10-04 `get_traffic_events` added
  - Get live roadworks, lane closures, incidents and equipment faults on Luxembourg motorways from CITA.
- 2026-10-04 `lookup_luxembourgish` added
  - Look up a word in the official Luxembourgish dictionary (LOD): translations into German, French, English and Portuguese, pronunciation, forms and examples.
- 2026-10-04 `get_deputies` added
  - List the current members of the Chamber of Deputies with party, constituency, start of mandate and official email.
- 2026-10-04 `get_plenary_votes` added
  - Get Chamber of Deputies plenary votes, newest first, with yes/no/abstain tallies per party and optionally how one deputy voted.

Full history: https://api.protogrid.dev/v1/servers/io.github.amirdaraee%2Fluxembourg-mcp/changes

## Dependencies

- pypi luxembourg-mcp@0.7.0: resolved, 0 dependencies

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.luxembourg-mcp.com/mcp (streamable-http, auth none, reachable false, uptime30d 0.9266055)

## Packages

- pypi luxembourg-mcp@0.7.0

## Tools (44)

- `geocode_address`: Resolve a Luxembourg address to official Geoportail coordinates.
- `get_accessibility_audits`: Get the latest public-sector digital accessibility audits.
- `get_accessibility_figures`: Get national Digital Accessibility Observatory key figures.
- `get_air_quality`: Get the latest national telemetric air-quality measurements by station.
- `get_bike_sharing`: Get live Vel'OK bike-sharing availability at stations in southern Luxembourg.
- `get_carsharing`: Find currently available CFL FLEX carsharing vehicles by station, town or fuel type.
- `get_cfl_parking`: Get live occupancy and details for a CFL Park and Ride facility.
- `get_city_mobility`: Get Ville de Luxembourg mobility locations as GeoJSON features.
- `get_city_parking`: Get current Ville de Luxembourg car-park capacity and free spaces.
- `get_commune_leaders`: Get the current mayor and aldermen of Luxembourg communes.
- `get_commune_population`: Get official resident population by commune, split by adults, minors and sex.
- `get_dataset`: Get metadata and current download resources for an official dataset.
- `get_deputies`: List the current members of the Chamber of Deputies with party, constituency, start of mandate and official email.
- `get_election_results`: Get machine-readable 2023 legislative election results, national and per circonscription.
- `get_electricity_grid`: Get Luxembourg's latest daily electricity load, generation by production type and cross-border flows (ENTSO-E actuals).
- `get_electricity_prices`: Get Luxembourg day-ahead wholesale electricity prices per quarter hour, with the cheapest and most expensive slots.
- `get_ev_charging`: Get Chargy public EV charging stations with live connector availability.
- `get_fuel_prices`: Get official monthly Luxembourg prices for petrol, diesel, hydrogen, LPG, home electricity and public EV charging.
- `get_geo_features`: Fetch GeoJSON features from an official Geoportail OGC collection.
- `get_housing_prices`: Get advertised housing sale prices by commune from the official Observatoire de l'Habitat.
- `get_pharmacies_on_duty`: Get the pharmacies on duty in Luxembourg for a date, with address and phone number.
- `get_plenary_votes`: Get Chamber of Deputies plenary votes, newest first, with yes/no/abstain tallies per party and optionally how one deputy voted.
- `get_public_alerts`: Get recent LU-Alert public warnings: floods, storms, food recalls and other national alerts.
- `get_public_holidays`: List Luxembourg legal public holidays in four languages, optionally for one year.
- `get_statistics`: Retrieve recent observations from a STATEC LUSTAT SDMX dataflow.
- `get_traffic`: Get live CITA motorway speed, occupancy, and flow measurements.
- `get_traffic_events`: Get live roadworks, lane closures, incidents and equipment faults on Luxembourg motorways from CITA.
- `get_unemployment`: Get monthly ADEM figures: registered resident jobseekers by sex and job vacancies, nationally or for one commune.
- `get_waste_collections`: Get upcoming municipal waste-collection dates for a Luxembourg commune.
- `get_water_levels`: Get the latest official measured water level at Luxembourg stations.
- `get_weather_alerts`: Get current official MeteoLux weather warnings published on data.public.lu.
- `get_weather_forecast`: Get the official MeteoLux forecast for a place in Luxembourg: current conditions, 24 hours, 5 days, UV index, sunrise and sunset.
- `get_weather_observations`: Get live MeteoLux weather observations at Luxembourg-Airport: temperature, wind, pressure, humidity, visibility.
- `list_cfl_parking`: List official CFL Park and Ride facilities.
- `list_geo_collections`: Search official Geoportail OGC feature collections by title, description, or keyword.
- `lookup_luxembourgish`: Look up a word in the official Luxembourgish dictionary (LOD): translations into German, French, English and Portuguese, pronunciation, forms and examples.
- `reverse_geocode`: Find the nearest official Luxembourg address to WGS84 coordinates.
- `search_chamber_bodies`: Search official Chamber committees, delegations, bodies, memberships, and roles.
- `search_datasets`: Search Luxembourg's official data.public.lu catalog.
- `search_legislation`: Search official Luxembourg legislation and consolidated laws through Legilux.
- `search_parliamentary_questions`: Search Chamber of Deputies parliamentary questions by keyword, newest first.
- `search_statistics`: Search STATEC LUSTAT statistical dataflows by topic or title.
- `search_tenders`: Search Luxembourg public procurement notices with deadlines, buyers and CPV codes.
- `search_transit_stops`: Search official nationwide public-transport stops from the current ATP GTFS feed.
