# com.adminlanding/french-rental-compliance (remote · api.adminlanding.com)

Free French rental-compliance lookups: zone tendue, tenant notice period, DPE letting restrictions.

- Trust score: 68/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-18

## Components

- remote · `api.adminlanding.com`: 68/100 (this document), [markdown](https://verifymcp.io/servers/com-adminlanding-french-rental-compliance/api.md), [page](https://verifymcp.io/servers/com-adminlanding-french-rental-compliance/api)

## Channel facts

- Endpoint: `https://api.adminlanding.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## 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-18.

- **Endpoint Security**: 66/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 3 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 is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 872 tokens (~290/item across 3 items; 3 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% 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 com-adminlanding-french-rental-compliance https://api.adminlanding.com/mcp
```

### Codex

```toml
[mcp_servers.com-adminlanding-french-rental-compliance]
url = "https://api.adminlanding.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-adminlanding-french-rental-compliance": {
      "type": "remote",
      "url": "https://api.adminlanding.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-adminlanding-french-rental-compliance --url https://api.adminlanding.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-adminlanding-french-rental-compliance:
    url: "https://api.adminlanding.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-adminlanding-french-rental-compliance": {
      "type": "http",
      "url": "https://api.adminlanding.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-18 (score 68, +1)

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

### 2026-08-16 (score 67, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] Server version: 1.0.0 → 1.3.0

### 2026-08-15 (score 67, +1)

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

### 2026-08-13 (score 66, +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-08-12 (score 65, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-08-11 (score 65)

First indexed and scored.

## MCP tools (3)

### `check_zone_tendue` (~234 tokens)

Zone tendue status of a French commune

Checks whether a French commune is in the 'zone tendue' perimeter and — crucially — WHICH one: the first list (décret n° 2013-392 annex, 1,434 communes, agglomérations >50k) where the tenant's reduced 1-month notice applies, or the wider TLV tax perimeter added in 2023 where ONLY fiscal measures apply (widely mislabelled 'zone tendue' — the reduced notice does NOT apply there). Deterministic dataset lookup on DILA reference data (service-public.fr simulator dataset) — no AI involved. Provide insee_code, or commune (+ code_postal to disambiguate).

Input parameters:

- `code_postal` (string): 5-digit postal code — disambiguates homonym communes.
- `commune` (string): Commune name, e.g. 'Lyon'. Used when insee_code is not provided.
- `insee_code` (string): INSEE commune code (5 chars, e.g. 75056 for Paris, 2A004 for Ajaccio). Preferred when known — skips name resolution.

### `calculate_tenant_notice_period` (~353 tokens)

Tenant notice period (préavis) calculator — French residential lease

Computes the tenant's notice period for terminating a French residential lease (loi n° 89-462 art. 15): furnished = always 1 month; unfurnished = 3 months, reduced to 1 month in a zone tendue commune (first-list perimeter, resolved automatically from insee_code/commune) or on a statutory ground (art. 15 I, 1° à 5° incl. 3° bis). Returns the end date computed de quantième à quantième from the RECEPTION date, plus which justificatifs must accompany the letter. Deterministic legal formula — no AI involved. France métropolitaine rules.

Input parameters:

- `code_postal` (string): 5-digit postal code — disambiguates homonym communes.
- `commune` (string): Commune name, e.g. 'Lyon'. Used when insee_code is not provided.
- `ground_id` (string): Statutory ground for the reduced 1-month notice on an unfurnished lease (art. 15 I).
- `insee_code` (string): INSEE commune code (5 chars, e.g. 75056 for Paris, 2A004 for Ajaccio). Preferred when known — skips name resolution.
- `lease_type` (string, required): 'vide' = unfurnished, 'meuble' = furnished
- `reception_date` (string): ISO date the LANDLORD RECEIVES the notice (LRAR reception, remise en main propre, or acte de commissaire) — never the sending date.
- `zone_tendue` (boolean): Explicit zone-tendue (first list) flag if already known — otherwise resolved from insee_code/commune.

### `check_dpe_rental_restrictions` (~181 tokens)

DPE rental restrictions — letting ban, rent freeze, DPE validity

Given a dwelling's DPE class (A–G), returns the French rental restrictions in force: letting ban status and date (loi n° 2021-1104 Climat et Résilience — G banned since 2025, F from 2028, E from 2034, France métropolitaine), the F/G rent freeze (in force since 25 Aug 2022), and — when dpe_issue_date is provided — whether the DPE itself is still valid (10-year rule + the 2013–2021 transitional expiries). Deterministic rules from official thresholds — no AI involved.

Input parameters:

- `dpe_class` (string, required): Energy class from the dwelling's DPE.
- `dpe_issue_date` (string): ISO issue date of the DPE — enables the validity check.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-adminlanding-french-rental-compliance/api#diagnostics

## Score history

- 2026-08-18: 68
- 2026-08-17: 67
- 2026-08-16: 67
- 2026-08-15: 67
- 2026-08-14: 66
- 2026-08-13: 66
- 2026-08-12: 65
- 2026-08-11: 65

## Links

- Remote endpoint: https://api.adminlanding.com/mcp
- Website: https://adminlanding.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-adminlanding-french-rental-compliance/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-adminlanding-french-rental-compliance/api.json
- HTML version of this page: https://verifymcp.io/servers/com-adminlanding-french-rental-compliance/api
