
French rental law for landlords: legal rent caps, rental zones and unfurnished lease drafts.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Donne la zone ABC d'une commune française (A bis, A, B1, B2 ou C) et ce qu'elle change pour un investissement : Loc'Avantages et les plafonds de loyer de la commune, le logement locatif intermédiaire (LLI), le PTZ, la fin du Pinel. Donne le nom de la commune, son code INSEE ou l'adresse du logement. Quand plusieurs communes portent le nom donné, la réponse les liste avec leur zone : demande laquelle à la personne. La réponse cite la liste officielle des communes et le jour où Miramo l'a relevée : cite-les.
Adresse du logement : numéro, rue, code postal et ville, par exemple « 30 rue de Paris 93100 Montreuil ». Miramo la place avec la Base Adresse Nationale. Passe aussi commune : si l'adresse est placée dans une autre commune, la commune donnée l'emporte. Quand la personne ne donne que sa ville, passe commune seule.
Nom de la commune. Quand plusieurs communes portent ce nom, ajoute le code postal ou le département entre parenthèses : « Montreuil 93100 » ou « Montreuil (93) ». Avec une adresse, sert à la vérifier, et de repli si elle n'est pas trouvée.
Code INSEE de la commune, cinq caractères (93048 pour Montreuil), à ne pas confondre avec le code postal. Vérifié avec commune et address quand elles sont données : un code qui ne correspond pas à la commune nommée ou à l'adresse placée est écarté.
Donne la zone ABC d'une commune française (A bis, A, B1, B2 ou C) et ce qu'elle change pour un investissement : Loc'Avantages et les plafonds de loyer de la commune, le logement locatif intermédiaire (LLI), le PTZ, la fin du Pinel. Donne le nom de la commune, son code INSEE ou l'adresse du logement. Quand plusieurs communes portent le nom donné, la réponse les liste avec leur zone : demande laquelle à la personne. La réponse cite la liste officielle des communes et le jour où Miramo l'a relevée : cite-les.
| Argument | Type | Description |
|---|---|---|
| address | string | Adresse du logement : numéro, rue, code postal et ville, par exemple « 30 rue de Paris 93100 Montreuil ». Miramo la place avec la Base Adresse Nationale. Passe aussi commune : si l'adresse est placée dans une autre commune, la commune donnée l'emporte. Quand la personne ne donne que sa ville, passe commune seule. |
| commune | string | Nom de la commune. Quand plusieurs communes portent ce nom, ajoute le code postal ou le département entre parenthèses : « Montreuil 93100 » ou « Montreuil (93) ». Avec une adresse, sert à la vérifier, et de repli si elle n'est pas trouvée. |
| inseeCode | string | Code INSEE de la commune, cinq caractères (93048 pour Montreuil), à ne pas confondre avec le code postal. Vérifié avec commune et address quand elles sont données : un code qui ne correspond pas à la commune nommée ou à l'adresse placée est écarté. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"address": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "Adresse du logement : numéro, rue, code postal et ville, par exemple « 30 rue de Paris 93100 Montreuil ». Miramo la place avec la Base Adresse Nationale. Passe aussi commune : si l'adresse est placée dans une autre commune, la commune donnée l'emporte. Quand la personne ne donne que sa ville, passe commune seule."
},
"commune": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Nom de la commune. Quand plusieurs communes portent ce nom, ajoute le code postal ou le département entre parenthèses : « Montreuil 93100 » ou « Montreuil (93) ». Avec une adresse, sert à la vérifier, et de repli si elle n'est pas trouvée."
},
"inseeCode": {
"type": "string",
"pattern": "^(\\d{5}|2[AB]\\d{3})$",
"description": "Code INSEE de la commune, cinq caractères (93048 pour Montreuil), à ne pas confondre avec le code postal. Vérifié avec commune et address quand elles sont données : un code qui ne correspond pas à la commune nommée ou à l'adresse placée est écarté."
}
},
"additionalProperties": false
}Dit si un logement est dans une zone d'un plan d'exposition au bruit d'un aéroport, et laquelle (de A, la plus exposée, à D), avec ce que ça change pour le bail : dans une zone, il faut joindre un diagnostic bruit. Donne l'adresse complète du logement. Miramo lit les plans publiés par l'aviation civile à ce point. Quand Miramo ne peut pas trancher (trop près de la limite d'une zone, plans qui ne répondent pas, territoire sans plan), la réponse le dit et dit où vérifier. La réponse cite les plans et le jour où Miramo les a lus : cite-les.
| Argument | Type | Description |
|---|---|---|
| address* | string | Adresse complète du logement : numéro, rue, code postal et ville, par exemple « 12 rue Brulée 95190 Goussainville ». Miramo la place avec la Base Adresse Nationale, puis lit les plans d'exposition au bruit à ce point ; une adresse qu'elle ne place pas sur un bâtiment est renvoyée avec le statut address_not_found. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "Adresse complète du logement : numéro, rue, code postal et ville, par exemple « 12 rue Brulée 95190 Goussainville ». Miramo la place avec la Base Adresse Nationale, puis lit les plans d'exposition au bruit à ce point ; une adresse qu'elle ne place pas sur un bâtiment est renvoyée avec le statut address_not_found."
}
},
"additionalProperties": false
}Dit si les loyers sont encadrés (encadrement du niveau des loyers, avec un loyer de référence) à une adresse ou dans une commune française : dans toute la commune, dans une partie seulement ou pas du tout, avec le territoire et l'arrêté préfectoral en vigueur aujourd'hui, ses dates et le jour où Miramo l'a vérifié. Donne l'adresse du logement, le nom de sa commune ou son code INSEE. La réponse dit aussi si Miramo tient le barème du territoire : quand il le tient, appelle ensuite lookup_reference_rent pour le loyer de référence d'un logement.
| Argument | Type | Description |
|---|---|---|
| address | string | Adresse du logement : numéro, rue, code postal et ville, par exemple « 30 rue de Paris 93100 Montreuil ». Miramo la place avec la Base Adresse Nationale. Passe aussi commune : si l'adresse est placée dans une autre commune, la commune donnée l'emporte. Quand la personne ne donne que sa ville, passe commune seule. |
| commune | string | Nom de la commune. Quand plusieurs communes portent ce nom, ajoute le code postal ou le département entre parenthèses : « Montreuil 93100 » ou « Montreuil (93) ». Avec une adresse, sert à la vérifier, et de repli si elle n'est pas trouvée. |
| inseeCode | string | Code INSEE de la commune, cinq caractères (93048 pour Montreuil), à ne pas confondre avec le code postal. Vérifié avec commune et address quand elles sont données : un code qui ne correspond pas à la commune nommée ou à l'adresse placée est écarté. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"address": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "Adresse du logement : numéro, rue, code postal et ville, par exemple « 30 rue de Paris 93100 Montreuil ». Miramo la place avec la Base Adresse Nationale. Passe aussi commune : si l'adresse est placée dans une autre commune, la commune donnée l'emporte. Quand la personne ne donne que sa ville, passe commune seule."
},
"commune": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Nom de la commune. Quand plusieurs communes portent ce nom, ajoute le code postal ou le département entre parenthèses : « Montreuil 93100 » ou « Montreuil (93) ». Avec une adresse, sert à la vérifier, et de repli si elle n'est pas trouvée."
},
"inseeCode": {
"type": "string",
"pattern": "^(\\d{5}|2[AB]\\d{3})$",
"description": "Code INSEE de la commune, cinq caractères (93048 pour Montreuil), à ne pas confondre avec le code postal. Vérifié avec commune et address quand elles sont données : un code qui ne correspond pas à la commune nommée ou à l'adresse placée est écarté."
}
},
"additionalProperties": false
}Dit si une commune française est en zone tendue et dans quelle catégorie : 1 (zone tendue), 2 (zone touristique et tendue) ou hors zone, avec ce que ça change : le préavis du locataire d'un logement loué vide, la hausse du loyer entre deux locataires, la taxe sur les logements vacants. Donne l'adresse du logement, le nom de sa commune ou son code INSEE. Quand plusieurs communes portent le nom donné, la réponse les liste avec leur catégorie : demande laquelle à la personne. La réponse cite la liste officielle des communes et sa dernière mise à jour : cite-les.
| Argument | Type | Description |
|---|---|---|
| address | string | Adresse du logement : numéro, rue, code postal et ville, par exemple « 30 rue de Paris 93100 Montreuil ». Miramo la place avec la Base Adresse Nationale. Passe aussi commune : si l'adresse est placée dans une autre commune, la commune donnée l'emporte. Quand la personne ne donne que sa ville, passe commune seule. |
| commune | string | Nom de la commune. Quand plusieurs communes portent ce nom, ajoute le code postal ou le département entre parenthèses : « Montreuil 93100 » ou « Montreuil (93) ». Avec une adresse, sert à la vérifier, et de repli si elle n'est pas trouvée. |
| inseeCode | string | Code INSEE de la commune, cinq caractères (93048 pour Montreuil), à ne pas confondre avec le code postal. Vérifié avec commune et address quand elles sont données : un code qui ne correspond pas à la commune nommée ou à l'adresse placée est écarté. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"address": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "Adresse du logement : numéro, rue, code postal et ville, par exemple « 30 rue de Paris 93100 Montreuil ». Miramo la place avec la Base Adresse Nationale. Passe aussi commune : si l'adresse est placée dans une autre commune, la commune donnée l'emporte. Quand la personne ne donne que sa ville, passe commune seule."
},
"commune": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Nom de la commune. Quand plusieurs communes portent ce nom, ajoute le code postal ou le département entre parenthèses : « Montreuil 93100 » ou « Montreuil (93) ». Avec une adresse, sert à la vérifier, et de repli si elle n'est pas trouvée."
},
"inseeCode": {
"type": "string",
"pattern": "^(\\d{5}|2[AB]\\d{3})$",
"description": "Code INSEE de la commune, cinq caractères (93048 pour Montreuil), à ne pas confondre avec le code postal. Vérifié avec commune et address quand elles sont données : un code qui ne correspond pas à la commune nommée ou à l'adresse placée est écarté."
}
},
"additionalProperties": false
}Donne le loyer de référence d'un logement à une adresse où les loyers sont encadrés (Paris, Lille, Lyon et Villeurbanne, Bordeaux, Montpellier, Seine-Saint-Denis avec Est Ensemble et Plaine Commune), selon l'arrêté préfectoral en vigueur aujourd'hui : le loyer de référence, le majoré (le plafond) et le minoré, en euros par m² et par mois. Avec la surface habitable, donne aussi le loyer maximum hors charges du logement. La réponse nomme l'arrêté, ses dates et le jour où Miramo l'a vérifié : cite-les. Quand isStale est vrai, les montants sont un ordre de grandeur, pas le plafond légal. Hors encadrement, la réponse le dit et renvoie vers l'outil zone tendue de miramo.fr.
| Argument | Type | Description |
|---|---|---|
| rooms* | string | Nombre de pièces principales : séjour et chambres, sans la cuisine ni la salle de bains. 4+ à partir de quatre. |
| address* | string | Adresse complète du logement : numéro, rue, code postal et ville, par exemple « 14 rue Oberkampf 75011 Paris ». Miramo la place avec la Base Adresse Nationale ; une adresse qu'elle ne place pas sur un bâtiment est renvoyée avec le statut address_not_found. |
| surface | number | Surface habitable du logement, en m². Facultative : avec elle, la réponse donne le loyer maximum hors charges du logement. |
| furnished* | boolean | true si le logement est loué meublé, false s'il est loué vide. |
| constructionPeriod |
Prépare un brouillon de bail de location vide (non meublé) et renvoie un lien vers le générateur de bail de miramo.fr, où la personne le termine : noms des parties, email, PDF et signature. Donne ce que la personne a dit du logement (adresse complète, surface, pièces, période de construction et le reste), du loyer et des charges, des dates et des documents qu'elle joindra. Tout est facultatif ; le site demande ce qui manque. Ne demande ni ne transmets jamais l'identité, l'email ou le téléphone du locataire ou du bailleur : le schéma les refuse. Rien n'est enregistré : le brouillon voyage dans le lien, à présenter en entier.
| Argument | Type | Description |
|---|---|---|
| rent | object | Le loyer et les charges. |
| dates | object | Les dates du bail. |
| annexes | array | Les documents que la personne joindra au bail : dpe (DPE), noise (Diagnostic bruit), crep (Diagnostic plomb (CREP)), gas_diagnostic (Diagnostic gaz), risk_statement (État des risques), co_ownership_rules (Règlement de copropriété), electrical_diagnostic (Diagnostic électricité). Elle les dépose en PDF sur le site. |
| property | object | Le logement loué, en location vide (non meublé). Jamais rien sur les personnes. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"rent": {
"type": "object",
"properties": {
"chargesMode": {
"enum": [
"provisions",
"on_receipts",
"none"
],
"type": "string",
"description": "Mode des charges : provisions (Provisions sur charges avec régularisation annuelle), on_receipts (Paiement périodique des charges récupérables sans provision, sur présentation des justificatifs (décret n° 87-713 du 26 août 1987)), none (Sans objet : aucune charge récupérable pour ce logement, selon déclaration du bailleur (ni taxe d'enlèvement des ordures ménagères ni équipement collectif))."
},
"chargesAmount": {
"type": "number",
"minimum": 0,
"description": "Montant mensuel des charges, en euros."
},
"monthlyRentExcludingCharges": {
"type": "number",
"description": "Loyer mensuel hors charges, en euros.",
"exclusiveMinimum": 0
}
},
"description": "Le loyer et les charges.",
"additionalProperties": false
},
"dates": {
"type": "object",
"properties": {
"startsOn": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Date de début du bail, au format AAAA-MM-JJ."
},
"plannedSignatureOn": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Date de signature prévue, au format AAAA-MM-JJ."
}
},
"description": "Les dates du bail.",
"additionalProperties": false
},
"annexes": {
"type": "array",
"items": {
"enum": [
"dpe",
"crep",
"gas_diagnostic",
"electrical_diagnostic",
"co_ownership_rules",
"risk_statement",
"noise"
],
"type": "string"
},
"maxItems": 7,
"description": "Les documents que la personne joindra au bail : dpe (DPE), noise (Diagnostic bruit), crep (Diagnostic plomb (CREP)), gas_diagnostic (Diagnostic gaz), risk_statement (État des risques), co_ownership_rules (Règlement de copropriété), electrical_diagnostic (Diagnostic électricité). Elle les dépose en PDF sur le site."
},
"property": {
"type": "object",
"properties": {
"address": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "Adresse complète du logement : numéro, rue, code postal et ville, par exemple « 14 rue Oberkampf 75011 Paris ». Miramo la place avec la Base Adresse Nationale ; une adresse qu'elle ne place pas sur un bâtiment est renvoyée avec le statut address_not_found."
},
"heating": {
"enum": [
"collective",
"individual"
],
"type": "string",
"description": "Chauffage : collective (Collectif), individual (Individuel)."
},
"dpeClass": {
"enum": [
"A",
"B",
"C",
"D",
"E",
"F",
"G"
],
"type": "string",
"description": "Classe énergie du DPE, de A à G."
},
"hotWater": {
"enum": [
"collective",
"individual"
],
"type": "string",
"description": "Eau chaude : collective (Collective), individual (Individuelle)."
},
"habitatType": {
"enum": [
"collective",
"individual"
],
"type": "string",
"description": "Type d'habitat : collective (Immeuble collectif), individual (Immeuble individuel)."
},
"itEquipment": {
"type": "array",
"items": {
"enum": [
"collective_antenna",
"fibre",
"box",
"phone_socket"
],
"type": "string"
},
"maxItems": 5,
"description": "Équipements d'accès à internet : box (Box internet), fibre (Fibre optique), phone_socket (Prise téléphonique), collective_antenna (Antenne collective)."
},
"livingAreaSqm": {
"type": "number",
"maximum": 1000,
"description": "Surface habitable du logement, en m².",
"exclusiveMinimum": 0
},
"mainRoomCount": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Nombre de pièces principales : séjour et chambres, sans la cuisine ni la salle de bains."
},
"ownershipRegime": {
"enum": [
"co_ownership",
"sole_ownership"
],
"type": "string",
"description": "Régime de l'immeuble : co_ownership (Copropriété), sole_ownership (Monopropriété)."
},
"sharedAmenities": {
"type": "array",
"items": {
"enum": [
"lift",
"courtyard",
"bike_room",
"green_space",
"laundry_room"
],
"type": "string"
},
"maxItems": 5,
"description": "Équipements communs de l'immeuble : lift (Ascenseur), courtyard (Cour), laundry_room (Laverie), bike_room (Local à vélos), green_space (Espaces verts)."
},
"constructionPeriod": {
"enum": [
"before_1949",
"from_1949_to_1974",
"from_1975_to_1989",
"from_1989_to_2005",
"after_2005"
],
"type": "string",
"description": "Période de construction de l'immeuble, selon le modèle officiel de bail : before_1949 (Avant 1949), after_2005 (Depuis 2005), from_1949_to_1974 (1949-1974), from_1975_to_1989 (1975-1989), from_1989_to_2005 (1989-2005)."
},
"privateAccessories": {
"type": "array",
"items": {
"enum": [
"cellar",
"garden",
"balcony",
"parking",
"terrace"
],
"type": "string"
},
"maxItems": 5,
"description": "Ce qui est loué avec le logement : cellar (Cave), garden (Jardin), balcony (Balcon), parking (Parking), terrace (Terrasse)."
},
"gasInstallationOver15Years": {
"type": "boolean",
"description": "Installation intérieure de gaz de plus de 15 ans : elle rend le diagnostic gaz obligatoire. Laisse vide s'il n'y a pas de gaz ou si la personne ne sait pas."
},
"electricalInstallationOver15Years": {
"type": "boolean",
"description": "Installation intérieure d'électricité de plus de 15 ans : elle rend le diagnostic électricité obligatoire."
}
},
"description": "Le logement loué, en location vide (non meublé). Jamais rien sur les personnes.",
"additionalProperties": false
}
},
"additionalProperties": false
}| string |
| Période de construction de l'immeuble, dans les tranches des arrêtés : after_1990 (après 1990), after_2005 (après 2005), before_1946 (avant 1946), 1946_1970 (entre 1946 et 1970), 1971_1990 (entre 1971 et 1990), 1991_2005 (entre 1991 et 2005). Paris, Lille, Bordeaux, Est Ensemble et Plaine Commune s'arrêtent à after_1990 ; Lyon et Montpellier coupent l'après 1990 en 1991_2005 et after_2005. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address",
"rooms",
"furnished",
"constructionPeriod"
],
"properties": {
"rooms": {
"enum": [
"1",
"2",
"3",
"4+"
],
"type": "string",
"description": "Nombre de pièces principales : séjour et chambres, sans la cuisine ni la salle de bains. 4+ à partir de quatre."
},
"address": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "Adresse complète du logement : numéro, rue, code postal et ville, par exemple « 14 rue Oberkampf 75011 Paris ». Miramo la place avec la Base Adresse Nationale ; une adresse qu'elle ne place pas sur un bâtiment est renvoyée avec le statut address_not_found."
},
"surface": {
"type": "number",
"maximum": 1000,
"description": "Surface habitable du logement, en m². Facultative : avec elle, la réponse donne le loyer maximum hors charges du logement.",
"exclusiveMinimum": 0
},
"furnished": {
"type": "boolean",
"description": "true si le logement est loué meublé, false s'il est loué vide."
},
"constructionPeriod": {
"enum": [
"before_1946",
"1946_1970",
"1971_1990",
"after_1990",
"1991_2005",
"after_2005"
],
"type": "string",
"description": "Période de construction de l'immeuble, dans les tranches des arrêtés : after_1990 (après 1990), after_2005 (après 2005), before_1946 (avant 1946), 1946_1970 (entre 1946 et 1970), 1971_1990 (entre 1971 et 1990), 1991_2005 (entre 1991 et 2005). Paris, Lille, Bordeaux, Est Ensemble et Plaine Commune s'arrêtent à after_1990 ; Lyon et Montpellier coupent l'après 1990 en 1991_2005 et after_2005."
}
},
"additionalProperties": false
}