Skip to main content
Glama

Zone ABC d'une commune

check_abc_zone
Read-only

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. Prend 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. La réponse cite la liste officielle des communes et le jour où Miramo l'a relevée.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "check_abc_zone"
  }
}

Input Schema

NameRequiredDescriptionDefault
addressNoAdresse 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. Avec commune, la commune donnée l'emporte si l'adresse est placée dans une autre commune. Une commune seule suffit, sans adresse.
communeNoNom de la commune. Le code postal ou le département entre parenthèses (« Montreuil 93100 », « Montreuil (93) ») départage des communes du même nom. Avec une adresse, la commune sert à la vérifier, et de repli si elle n'est pas trouvée.
inseeCodeNoCode 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é.

Output Schema

NameRequiredDescriptionDefault
zoneYesZone ABC de la commune, de la plus tendue à la moins tendue : Abis (A bis), A, B1, B2, C. Null sans commune unique.
sourceYesLa liste officielle des communes selon le zonage ABC que lit Miramo, et le jour où Miramo l'a relevée.
statusYesfound : commune trouvée. several_communes : plusieurs communes portent ce nom, listées dans candidates. commune_not_found : aucune commune de ce nom ou de ce code INSEE dans le zonage. address_not_found : adresse non placée ; une adresse plus complète ou le nom de la commune permet de répondre.
communeYesLa commune retenue ; null sans commune unique.
miramoUrlYesL'outil de miramo.fr qui répond à la même question.
candidatesYesAvec several_communes, les communes de ce nom et leur zone ; vide sinon.
isLliEligibleYestrue en zone A bis, A et B1 : le logement locatif intermédiaire (LLI) y est ouvert aux investisseurs personnes morales.
locAvantagesCeilingsYesPlafonds de loyer Loc'Avantages de la commune, en euros par m² et par mois hors charges ; null sans commune unique, et à Paris, Lyon et Marseille, où ils sont fixés par arrondissement.
isPtzExistingWithWorksEligibleYestrue en zone B2 et C : le PTZ y finance aussi l'ancien avec travaux. Le neuf est finançable dans toutes les zones.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / address / description
      Previous value: -"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."New value: +"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. Avec commune, la commune donnée l'emporte si l'adresse est placée dans une autre commune. Une commune seule suffit, sans adresse."
    • changedInput schema / properties / commune / description
      Previous value: -"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."New value: +"Nom de la commune. Le code postal ou le département entre parenthèses (« Montreuil 93100 », « Montreuil (93) ») départage des communes du même nom. Avec une adresse, la commune sert à la vérifier, et de repli si elle n'est pas trouvée."
  2. Changed2 schema fields changed
    • changedOutput schema / properties / miramoUrl / description
      Previous value: -"L'outil de miramo.fr qui répond à la même question : à présenter tel quel."New value: +"L'outil de miramo.fr qui répond à la même question."
    • changedOutput schema / properties / status / description
      Previous value: -"found : commune trouvée. several_communes : plusieurs communes portent ce nom, voir candidates ; demande laquelle. commune_not_found : aucune commune de ce nom ou de ce code INSEE dans le zonage. address_not_found : adresse non placée ; demande une adresse plus complète ou la commune."New value: +"found : commune trouvée. several_communes : plusieurs communes portent ce nom, listées dans candidates. commune_not_found : aucune commune de ce nom ou de ce code INSEE dans le zonage. address_not_found : adresse non placée ; une adresse plus complète ou le nom de la commune permet de répondre."
  3. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely useful behavior beyond that: ambiguous names return a list of communes with their zones, and the response cites the official commune list plus the date Miramo harvested it — provenance an agent would otherwise not know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences that front-load the output and then the inputs, with no filler. The middle sentence about listing multiple communes earns its place; slight over-density in the first sentence's list of financial devices is the only cost.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return structure need not be described, and the description still covers the ambiguity case and provenance. For a read-only lookup with fully documented optional params, what remains (e.g. behavior when no commune matches at all) is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the parameter descriptions already spell out precedence (commune wins over address, INSEE code cross-checked and discarded on mismatch). The description only restates that the three input types are accepted, adding little semantics beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Donne la zone ABC d'une commune française') with the exact value domain (A bis, A, B1, B2 ou C) and the downstream consequences it informs (Loc'Avantages, LLI, PTZ, fin du Pinel). This clearly separates it from siblings like check_airport_noise_zone or check_tense_zone, which cover different regulatory geographies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the accepted input paths (nom de commune, code INSEE, adresse) and what happens when a name is ambiguous ('la réponse les liste avec leur zone'), which gives clear context for calling it. It never explicitly says when to prefer it over a sibling such as check_rent_control_perimeter, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.