# Luxembourg MCP (remote · mcp.luxembourg-mcp.com)

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

- Trust score: 57/100 (low)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.luxembourg-mcp.com`: 57/100 (this document), [markdown](https://verifymcp.io/servers/amirdaraee-luxembourg-mcp/mcp.md), [page](https://verifymcp.io/servers/amirdaraee-luxembourg-mcp/mcp)
- pypi · `luxembourg-mcp`: 24/100, [markdown](https://verifymcp.io/servers/amirdaraee-luxembourg-mcp/luxembourg-mcp.md), [page](https://verifymcp.io/servers/amirdaraee-luxembourg-mcp/luxembourg-mcp)

## Channel facts

- Endpoint: `https://mcp.luxembourg-mcp.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.4.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 27 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 60/100
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 1002 tokens (~37/item across 27 items; 27 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 73/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 20% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http amirdaraee-luxembourg-mcp https://mcp.luxembourg-mcp.com/mcp
```

### Codex

```toml
[mcp_servers.amirdaraee-luxembourg-mcp]
url = "https://mcp.luxembourg-mcp.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "amirdaraee-luxembourg-mcp": {
      "type": "remote",
      "url": "https://mcp.luxembourg-mcp.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add amirdaraee-luxembourg-mcp --url https://mcp.luxembourg-mcp.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  amirdaraee-luxembourg-mcp:
    url: "https://mcp.luxembourg-mcp.com/mcp"
```

### Other

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

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 57, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 56, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 55, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 55, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 54, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 53, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 52)

First indexed and scored.

## MCP tools (27)

### `search_datasets` (~41 tokens)

Search Luxembourg's official data.public.lu catalog.

Input parameters:

- `page` (integer)
- `page_size` (integer)
- `query` (string, required)

### `get_dataset` (~29 tokens)

Get metadata and current download resources for an official dataset.

Input parameters:

- `dataset_id_or_slug` (string, required)

### `geocode_address` (~27 tokens)

Resolve a Luxembourg address to official Geoportail coordinates.

Input parameters:

- `query` (string, required)

### `reverse_geocode` (~35 tokens)

Find the nearest official Luxembourg address to WGS84 coordinates.

Input parameters:

- `latitude` (number, required)
- `longitude` (number, required)

### `list_geo_collections` (~41 tokens)

Search official Geoportail OGC feature collections by title, description, or keyword.

Input parameters:

- `limit` (integer)
- `query` (string)

### `get_geo_features` (~56 tokens)

Fetch GeoJSON features from an official Geoportail OGC collection.

Input parameters:

- `bbox` (array): WGS84 [west, south, east, north]
- `collection_id` (string, required)
- `limit` (integer)

### `get_weather_alerts` (~32 tokens)

Get current official MeteoLux weather warnings published on data.public.lu.

Input parameters:

- `language` (string)

### `search_legislation` (~35 tokens)

Search official Luxembourg legislation and consolidated laws through Legilux.

Input parameters:

- `limit` (integer)
- `query` (string, required)

### `search_statistics` (~36 tokens)

Search STATEC LUSTAT statistical dataflows by topic or title.

Input parameters:

- `limit` (integer)
- `query` (string, required)

### `get_statistics` (~73 tokens)

Retrieve recent observations from a STATEC LUSTAT SDMX dataflow.

Input parameters:

- `dataflow_id` (string, required): STATEC identifier such as DF_D7100
- `key` (string): SDMX dimension key or all
- `last_n_observations` (integer)
- `max_rows` (integer)

### `get_city_parking` (~38 tokens)

Get current Ville de Luxembourg car-park capacity and free spaces.

Input parameters:

- `available_only` (boolean)
- `query` (string)

### `list_cfl_parking` (~19 tokens)

List official CFL Park and Ride facilities.

### `get_cfl_parking` (~32 tokens)

Get live occupancy and details for a CFL Park and Ride facility.

Input parameters:

- `parking_id` (string, required)

### `get_traffic` (~29 tokens)

Get live CITA motorway speed, occupancy, and flow measurements.

Input parameters:

- `road` (string)

### `get_water_levels` (~31 tokens)

Get the latest official measured water level at Luxembourg stations.

Input parameters:

- `station` (string): Optional station-name filter

### `get_air_quality` (~32 tokens)

Get the latest national telemetric air-quality measurements by station.

Input parameters:

- `city` (string): Optional city-name filter

### `search_chamber_bodies` (~40 tokens)

Search official Chamber committees, delegations, bodies, memberships, and roles.

Input parameters:

- `limit` (integer)
- `query` (string, required)

### `get_accessibility_figures` (~19 tokens)

Get national Digital Accessibility Observatory key figures.

### `get_accessibility_audits` (~28 tokens)

Get the latest public-sector digital accessibility audits.

Input parameters:

- `limit` (integer)

### `search_transit_stops` (~40 tokens)

Search official nationwide public-transport stops from the current ATP GTFS feed.

Input parameters:

- `limit` (integer)
- `query` (string, required)

### `get_city_mobility` (~29 tokens)

Get Ville de Luxembourg mobility locations as GeoJSON features.

Input parameters:

- `category` (string, required)

### `get_weather_observations` (~33 tokens)

Get live MeteoLux weather observations at Luxembourg-Airport: temperature, wind, pressure, humidity, visibility.

### `get_public_holidays` (~31 tokens)

List Luxembourg legal public holidays in four languages, optionally for one year.

Input parameters:

- `year` (integer)

### `search_parliamentary_questions` (~38 tokens)

Search Chamber of Deputies parliamentary questions by keyword, newest first.

Input parameters:

- `limit` (integer)
- `query` (string, required)

### `get_housing_prices` (~67 tokens)

Get advertised housing sale prices by commune from the official Observatoire de l'Habitat.

Input parameters:

- `commune` (string): Optional commune-name filter
- `property_type` (string)
- `year` (string): Four-digit year such as 2025; defaults to the latest

### `get_election_results` (~27 tokens)

Get machine-readable 2023 legislative election results, national and per circonscription.

### `get_ev_charging` (~42 tokens)

Get Chargy public EV charging stations with live connector availability.

Input parameters:

- `available_only` (boolean)
- `query` (string): Optional name or address filter

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/amirdaraee-luxembourg-mcp/mcp#diagnostics

## Score history

- 2026-08-03: 57
- 2026-08-02: 56
- 2026-08-01: 56
- 2026-07-31: 55
- 2026-07-30: 55
- 2026-07-29: 54
- 2026-07-28: 54
- 2026-07-27: 53
- 2026-07-26: 52

## Links

- Remote endpoint: https://mcp.luxembourg-mcp.com/mcp
- Repository: https://github.com/amirdaraee/luxembourg-mcp
- Website: https://luxembourg-mcp.com/
- Changelog RSS feed: https://verifymcp.io/servers/amirdaraee-luxembourg-mcp/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/amirdaraee-luxembourg-mcp/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/amirdaraee-luxembourg-mcp/mcp
