Skip to main content
Glama

Server Details

Free, no-auth connector on French real estate public data: price per square meter by municipality (DVF), market summaries (rent, yield, price trend, ABC zoning), and urbanism/permit requirements for renovation projects.

Ownership verified
Status
Healthy
Uptime
100.0% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool owns a distinct scope: department ranking, multi-commune comparison, single-commune full market, single-commune price only, neighbourhood prices, single-dwelling rent, and urbanism formality. The descriptions explicitly cross-reference siblings ("pour le seul prix au m², prix_m2_commune répond plus court", "pour comparer des communes, comparaison_communes"), so the summary-vs-detail overlaps between marche_commune, prix_m2_commune and loyer_logement are clearly signposted rather than confusing.

Naming Consistency5/5

All names are snake_case and follow a consistent resource-oriented pattern, with the prix_m2_* family sharing a common prefix. No mixing of verb styles or casing conventions.

Tool Count5/5

Seven tools is well-scoped for a French real-estate data connector, with each tool covering a distinct level of granularity (department, multi-commune, commune, quartier, dwelling) plus one regulatory tool. Nothing feels redundant or missing from the count perspective.

Completeness4/5

Coverage is strong: rankings, comparisons, commune market synthesis, m² prices, neighbourhood prices, rent estimation and urbanism formalities form a coherent lifecycle for investment research. Minor gaps remain — no valuation of a specific property's purchase price, and no commune search/lookup tool — but agents can work around these.

Available Tools

7 tools
classement_departementClassement des communes d'un départementA
Read-onlyIdempotent
Inspect

Classe les communes d'UN département selon un critère public : meilleur rendement locatif brut des appartements (rendement_locatif), prix au m² des appartements les plus bas (prix_bas) ou les plus élevés (prix_eleve). Mêmes communes, mêmes seuils et même ordre que les classements publiés sur pillr.fr : communes de 2 000 habitants et plus comptant au moins 10 ventes, prix mesurés sur les ventes DVF pour les classements de prix, 30 communes au plus, avec le nombre total de communes classées. À utiliser pour trouver des communes sans les nommer (« où investir en Gironde », « les communes les moins chères du Nord »). Pour comparer des communes déjà nommées, utiliser comparaison_communes. Paris, les Bouches-du-Rhône et le Rhône ne sont pas classés : leurs arrondissements faussent le classement. Aucun score Pillr.

NameRequiredDescriptionDefault
critereYesrendement_locatif : rendement brut des appartements, du plus haut au plus bas ; prix_bas : prix au m² des appartements, du moins cher au plus cher ; prix_eleve : l'inverse.
departementYesCode du département (« 33 », « 2A », « 974 ») ou son nom (« Gironde », « Côtes-d'Armor »).

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the bar is low, yet the description adds substantial method disclosure: 2,000-inhabitant and 10-sales thresholds, DVF source for price rankings, a 30-commune cap plus total-count reporting, and the 'Aucun score Pillr' caveat. These are exactly the traits an agent needs to interpret results without over-claiming.

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?

Purpose and criteria come first, then methodology, then the alternative-tool routing and exclusions – well front-loaded with no filler sentences. It is dense with numbers in the middle, which costs a little readability but every clause carries information.

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

Completeness5/5

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

With no output schema, the description still conveys return shape (at most 30 ranked communes plus the total number ranked) and the data basis. Combined with the exclusion list, an agent has enough to call it correctly and describe its output honestly.

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 coverage is 100% and the schema already spells out each enum value and its sort direction, so the description's restatement of the three criteria adds little beyond it. The depiction thresholds (population, sales) inform result interpretation but not the parameters themselves, so baseline 3 is appropriate.

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?

Opens with a specific verb and resource ('Classe les communes d'UN département selon un critère public') and immediately scopes it to a single department and a named criterion set. The capitalised 'UN' plus the ranked-list framing make it unmistakably distinct from per-commune siblings like prix_m2_commune or marche_commune.

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

Usage Guidelines5/5

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

Gives concrete when-to-use examples ('où investir en Gironde', 'les communes les moins chères du Nord'), names the explicit alternative for the opposite case (comparaison_communes for already-named communes), and states exclusions (Paris, Bouches-du-Rhône, Rhône are not ranked). Nothing is left to inference about when to pick this tool.

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

comparaison_communesComparaison de communesA
Read-onlyIdempotent
Inspect

Compare de 2 à 5 communes françaises côte à côte, sur les mêmes indicateurs publics : prix au m² appartement et maison avec leur provenance, loyer médian au m², rendement brut théorique appartement et maison, évolution des prix sur 1 et 3 ans, zone ABC de tension locative, population. À utiliser dès que la question met plusieurs communes en balance (« Rennes ou Nantes pour investir ? »). Pour le détail d'une seule commune, utiliser marche_commune ; pour trouver des communes sans les nommer, classement_departement. Aucun score Pillr.

NameRequiredDescriptionDefault
communesYesDe 2 à 5 communes, chacune écrite comme le paramètre commune des autres outils (nom, « Lyon 7e » ou code INSEE).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds meaningful context beyond those annotations: price provenance is included and no Pillr score is returned, which sets expectations about what the agent will and will not get back.

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?

Front-loads the comparison scope and then moves cleanly to usage and alternatives. The first sentence is long because it enumerates all indicators, but each item is relevant to tool selection; only that density keeps it from being a 5.

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?

For a read-only tool with rich annotations, one fully documented parameter, and no output schema, the description is nearly complete: it lists returned indicators, provenance, and the absence of a proprietary score. It does not describe response structure or missing-data behavior, which is a minor remaining gap.

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?

With 100% schema description coverage, the schema already documents the accepted commune formats, INSEE codes, arrondissement syntax, postal-code fallback, and the 2–5 item bounds. The description only reaffirms the 2–5 range and cross-references the commune parameter of other tools, adding modest value over the schema.

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 — comparing 2 to 5 French communes — and enumerates the exact indicators compared. It explicitly distinguishes itself from marche_commune and classement_departement, so an agent can route correctly without opening schemas.

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

Usage Guidelines5/5

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

Gives an explicit trigger: use whenever a question puts several communes in balance, with a concrete example. It also names the alternatives for single-commune detail and unnamed-commune discovery, covering when not to use it.

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

demarche_urbanisme_projetFormalité d'urbanisme d'un projetA
Read-onlyIdempotent
Inspect

Quelle formalité d'urbanisme pour un projet de travaux (aucune, déclaration préalable, permis de construire, d'aménager ou de démolir), quel formulaire Cerfa, un architecte est-il obligatoire, quelles pièces, quel délai d'instruction. Chaque conclusion porte sa règle et sa source, et la base de règles porte sa date. Un fait manquant revient en question, jamais en supposition. Sans adresse : ce connecteur ne lit ni le PLU ni les servitudes, les protections du terrain sont à déclarer en paramètres. Aucune donnée de marché : pour les prix et les loyers, les autres outils. Information générale, ni conseil juridique ni décision de la mairie.

NameRequiredDescriptionDefault
sprNoLe terrain est-il en site patrimonial remarquable ?
bassin_m2NoSurface du bassin d'une piscine, en m².
demandeurNoQui dépose la demande (compte pour l'obligation d'architecte).
hauteur_mNoHauteur du projet, en mètres (hauteur du mur pour un mur).
changementNoPour un changement de destination : porte-t-il sur la destination ou sur une sous-destination ?
erp_ou_ighNoS'agit-il d'un établissement recevant du public ou d'un immeuble de grande hauteur ?
pac_visibleNoL'unité extérieure de la pompe à chaleur est-elle visible depuis l'espace public ?
site_classeNoLe terrain est-il en site classé ?
site_inscritNoLe terrain est-il en site inscrit ?
type_travauxYesNature du projet. Obligatoire.
zone_urbaineNoLe terrain est-il en zone urbaine du PLU, si connu ?
modifie_volumeNoLes travaux modifient-ils le volume du bâtiment ?
inclut_demolitionNoLe projet inclut-il une démolition ?
reserve_naturelleNoLe terrain est-il en réserve naturelle ?
document_urbanismeNoDocument d'urbanisme de la commune, si connu.
piscine_demontableNoLa piscine est-elle démontable ?
coeur_parc_nationalNoLe terrain est-il en cœur de parc national ?
element_protege_pluNoLe bâtiment est-il protégé par le PLU (art. L151-19 ou L151-23) ?
equipements_communsNoLa division crée-t-elle des voies, espaces ou équipements communs ?
maison_individuelleNoS'agit-il d'une maison individuelle ?
monument_historiqueNoLes travaux portent-ils sur un monument historique ?
hauteur_couverture_mNoHauteur de la couverture d'une piscine, en mètres (0 si non couverte).
visible_espace_publicNoLe projet est-il visible depuis l'espace public ?
duree_installation_moisNoMois par an d'installation d'une piscine démontable.
emprise_au_sol_creee_m2NoEmprise au sol créée par le projet, en m².
duree_installation_joursNoJours par an d'installation d'une piscine démontable en espace protégé.
modifie_aspect_exterieurNoLes travaux modifient-ils l'aspect extérieur ?
reparation_a_l_identiqueNoS'agit-il d'une réparation à l'identique (mêmes matériaux, mêmes couleurs) ?
surface_plancher_creee_m2NoSurface de plancher créée, en m² (0 pour un carport ouvert).
abords_monument_historiqueNoLe terrain est-il dans les abords d'un monument historique ?
ravalement_change_couleursNoLe ravalement change-t-il les couleurs de la façade ?
emprise_au_sol_existante_m2NoEmprise au sol du bâtiment existant, en m².
travaux_structure_ou_facadeNoDes travaux touchent-ils les structures porteuses ou la façade ?
surface_plancher_existante_m2NoSurface de plancher du bâtiment existant, en m².

TDQS

A4.1/5.0
Behavior4/5

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

Beyond the readOnly/idempotent/non-destructive annotations it adds real behavioral context: every conclusion carries its rule and source, the rule base is date-stamped, and missing facts are returned as questions rather than assumed. It also discloses a critical scope limit (no PLU or servitude lookups; terrain protections must be supplied as parameters) and that output is general information, not legal advice or a municipal decision.

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?

Front-loaded with the deliverable list, then scope limits, then the market-data disclaimer and legal caveat. The long opening sentence is dense but every clause names a distinct output; no sentence is filler, though the run-on structure makes the first read heavier than necessary.

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?

For a 34-parameter rule engine with no output schema, the description covers scope, the question-back behavior, source attribution, and explicit exclusions. What remains implicit is how the conditional parameters cluster by type_travaux, which an agent must still infer from the schema.

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% across all 34 parameters with enums and units documented, so the schema does the heavy lifting and the baseline applies. The description adds only one semantic hint — that terrain protections must be declared via parameters — and otherwise does not explain the interaction between the single required type_travaux and the 33 conditional, often optional inputs.

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?

The description states a concrete deliverable set with specific nouns: which urbanism formality applies (none, prior declaration, building/development/demolition permit), which Cerfa form, whether an architect is mandatory, which documents, and the instruction deadline. An agent can distinguish this from all six sibling tools, which are price/rent/market tools, without opening any schema.

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?

It explicitly bounds scope ('ce connecteur ne lit ni le PLU ni les servitudes') and routes away from itself for market data ('pour les prix et les loyers, les autres outils'), which is exactly the sibling set. It does not enumerate a hard when-not-to-use case beyond that, so it stops short of a full routing rule set.

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

loyer_logementLoyer d'un logementA
Read-onlyIdempotent
Inspect

Loyer mensuel estimé d'UN logement décrit par sa commune, sa typologie (T1 à T5, ou maison) et sa surface : loyer hors charges, fourchette à 95 %, loyer au m² et segment de la Carte des loyers (ANIL et DHUP) utilisé, les mêmes montants que la page /loyer de Pillr. Avec un prix d'achat, ajoute le rendement brut de ce logement. À utiliser pour « combien louer un T2 de 40 m² à Nantes » ou « quel rendement pour ce T3 à 180 000 € ». Pour le loyer médian et le rendement de marché de la commune entière, utiliser marche_commune. C'est un loyer d'annonce modélisé, ni un loyer constaté ni un plafond légal : l'encadrement des loyers n'est pas servi.

NameRequiredDescriptionDefault
communeYesNom de la commune (« Bordeaux », « Saint-Étienne ») ou code INSEE à 5 chiffres. Un arrondissement de Paris, Lyon ou Marseille s'écrit « Paris 11e », « Lyon 7e », « Marseille 8e » (ou « Lyon 7 », « Lyon 7ème », « 7e arrondissement de Lyon ») ; le nom seul (« Lyon ») rend l'agrégat de ses arrondissements. Un code postal est accepté en dernier recours : cinq chiffres désignent d'abord le code INSEE qui les porte.
typologieYesTypologie du logement : T1 (studio) à T5 (T5 et plus), ou maison.
prix_achatNoPrix d'achat du logement, en euros, frais compris ou non : sert au seul rendement brut.
surface_m2NoSurface habitable, en m². Absente : la surface d'exemple de la typologie, dite dans la réponse.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes beyond them by disclosing what the returned figure actually is (modeled advertised rent, not observed rent or a legal cap, with rent control explicitly out of scope) and what the response contains (hors charges, 95% interval, €/m², ANIL/DHUP segment). It doesn't cover freshness or data-source vintage, which keeps it short of a 5.

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?

Front-loaded with the core purpose, then usage examples, then the sibling alternative, then the caveat — a sound ordering with no filler. The first sentence is long and packs several output elements, which slightly taxes scanning, but no sentence is expendable.

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

Completeness5/5

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

With no output schema, the description carries the return-value burden itself and does so (rent, interval, €/m², segment, optional yield), while also warning what the number is not. Nothing an agent needs to call this correctly on 4 simple parameters is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema lacks: prix_achat is optional and only feeds the gross yield, and surface is optional with an example-surface fallback reflected in the answer. That connects the parameters to observable output behavior rather than restating the fields.

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 ("Loyer mensuel estimé d'UN logement") plus the exact inputs that define it (commune, typologie, surface), and explicitly contrasts with the sibling marche_commune. An agent can tell it apart from prix_m2_commune and marche_commune without opening the schema.

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

Usage Guidelines5/5

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

Gives concrete invocation examples ("combien louer un T2 de 40 m² à Nantes", "quel rendement pour ce T3 à 180 000 €") and names the alternative: "Pour le loyer médian et le rendement de marché de la commune entière, utiliser marche_commune". Both the when and the when-not are explicit.

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

marche_communeSynthèse de marché d'une communeA
Read-onlyIdempotent
Inspect

Synthèse complète du marché d'UNE commune, pour juger s'il faut y acheter ou y investir : prix au m² appartement et maison, loyer médian au m² (DHUP), loyer par type de logement du T1 à la maison (Carte des loyers, à une surface d'exemple, avec sa fourchette à 95 %, les mêmes montants que la page /loyer de Pillr), rendement brut théorique (la maison sur le loyer des maisons), évolution des prix sur 1 et 3 ans, zone ABC de tension locative, et le marché en vente du dernier mois calculé, agrégé par commune à partir des annonces de vente collectées par Pillr (annonces en ligne en fin de mois, nouvelles annonces, prix affiché médian au m², part des annonces baissées, délai médian en ligne des annonces retirées, variation sur un mois ; un mois de mise à jour de la collecte ne rend que les nouvelles annonces et le prix affiché, et le dit), avec ses limites et sa date de calcul, non servi au-delà de 45 jours. Aucune annonce individuelle n'est rendue. Pour le seul prix au m², prix_m2_commune répond plus court ; pour le loyer d'un logement précis, loyer_logement ; pour comparer des communes, comparaison_communes. Le score Pillr sur 100, ses sous-scores et l'analyse complète ne sont pas servis par ce connecteur, ils sont sur pillr.fr.

NameRequiredDescriptionDefault
communeYesNom de la commune (« Bordeaux », « Saint-Étienne ») ou code INSEE à 5 chiffres. Un arrondissement de Paris, Lyon ou Marseille s'écrit « Paris 11e », « Lyon 7e », « Marseille 8e » (ou « Lyon 7 », « Lyon 7ème », « 7e arrondissement de Lyon ») ; le nom seul (« Lyon ») rend l'agrégat de ses arrondissements. Un code postal est accepté en dernier recours : cinq chiffres désignent d'abord le code INSEE qui les porte.

TDQS

A4.6/5.0
Behavior5/5

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

Although annotations already declare readOnly, idempotent, non-destructive and non-open-world behavior, the description adds important context: no individual listings are returned, data older than 45 days is not served, update months return only limited fields, and the Pillr score/full analysis are excluded. No annotation contradiction.

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?

Purpose and included metrics are front-loaded, followed by alternatives and exclusions in a logical order. The text is very dense and one long semicolon-heavy paragraph, so it is informative but could be more scannable.

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

Completeness5/5

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

There is no output schema, so the description carries the return-value burden, and it does: it enumerates the market metrics, aggregation source, freshness limits, omission of individual listings, and excluded Pillr score. This is complete enough for an agent to invoke a complex read-only market tool correctly.

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 commune parameter already documents name, INSEE code, arrondissement notation, and postal-code fallback. The description adds only the 'UNE commune' scope and aggregation note, so the baseline 3 is appropriate.

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 resource and scope: a complete market synthesis for ONE commune, explicitly for judging whether to buy or invest. It enumerates the included metrics and distinguishes itself from siblings, so an agent can identify it without opening the schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent to alternatives: prix_m2_commune for price alone, loyer_logement for a precise rent, and comparaison_communes for comparing communes. It also states the 45-day freshness cutoff and the collection-update-month caveat.

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

prix_m2_communePrix au m² d'une communeA
Read-onlyIdempotent
Inspect

Prix de référence au mètre carré d'UNE commune française, appartement et maison, et rien d'autre : valeur, provenance (mesurée sur les ventes DVF ou estimée ; pour Paris, Lyon et Marseille, le compte des arrondissements mesurés et estimés), millésime et date de reconstruction. À utiliser quand la question porte seulement sur le prix d'une commune. Pour son loyer, son rendement, l'évolution de ses prix ou sa tension locative, utiliser marche_commune ; pour les prix quartier par quartier, prix_m2_quartiers ; pour plusieurs communes, comparaison_communes. Un prix absent est dit absent, jamais deviné. C'est un repère de marché communal, pas l'estimation d'un bien précis.

NameRequiredDescriptionDefault
communeYesNom de la commune (« Bordeaux », « Saint-Étienne ») ou code INSEE à 5 chiffres. Un arrondissement de Paris, Lyon ou Marseille s'écrit « Paris 11e », « Lyon 7e », « Marseille 8e » (ou « Lyon 7 », « Lyon 7ème », « 7e arrondissement de Lyon ») ; le nom seul (« Lyon ») rend l'agrégat de ses arrondissements. Un code postal est accepté en dernier recours : cinq chiffres désignent d'abord le code INSEE qui les porte.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral context: the provenance distinction (measured on DVF sales vs estimated), the arrondissement counting for Paris/Lyon/Marseille, and the rule that missing prices are reported as absent, never guessed. It does not restate annotation fields.

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?

The core scope is front-loaded in the first clause, followed by routing rules. It is dense but each sentence carries information; the only slight excess is the closing reassurance sentence, which is borderline redundant with the earlier 'jamais deviné' clause.

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

Completeness5/5

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

No output schema exists, so the description deliberately names the return fields (valeur, provenance, millésime, date de reconstruction) and the missing-value behavior. Combined with the explicit routing among siblings, an agent has everything needed to call it correctly.

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 schema already documents the commune/INSEE/postal-code forms and the PLM arrondissement notation. The description adds essentially nothing about the parameter beyond that, so the baseline of 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 precise verb+resource+scope: reference price per m² for ONE French commune, apartments and houses, explicitly 'et rien d'autre'. It also enumerates the returned facets (valeur, provenance, millésime), so the agent knows exactly what this returns versus the sibling tools.

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

Usage Guidelines5/5

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

Gives an explicit inclusion rule ('quand la question porte seulement sur le prix d'une commune') and names each alternative with the condition that selects it: marche_commune for rent/yield/trend/tension, prix_m2_quartiers for neighborhood detail, comparaison_communes for multiple communes.

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

prix_m2_quartiersPrix au m² par quartierA
Read-onlyIdempotent
Inspect

Prix au m² des appartements et des maisons quartier par quartier (IRIS de l'INSEE) dans UNE commune, du plus cher au moins cher : prix, nombre de ventes DVF, provenance (mesuré sur les ventes du quartier ou rapproché du prix de la commune) et part portée par les ventes du quartier. Seuls les quartiers d'au moins 5 ventes sont publiés, 40 au plus par type de bien. À utiliser pour « quel quartier est le moins cher à Lille » ou pour situer un quartier dans sa commune. Pour le prix de la commune entière, utiliser prix_m2_commune. Une commune que l'INSEE ne découpe pas en quartiers n'a pas de prix de quartier ; Paris, Lyon et Marseille se lisent mieux par arrondissement (« Lyon 3e »).

NameRequiredDescriptionDefault
communeYesNom de la commune (« Bordeaux », « Saint-Étienne ») ou code INSEE à 5 chiffres. Un arrondissement de Paris, Lyon ou Marseille s'écrit « Paris 11e », « Lyon 7e », « Marseille 8e » (ou « Lyon 7 », « Lyon 7ème », « 7e arrondissement de Lyon ») ; le nom seul (« Lyon ») rend l'agrégat de ses arrondissements. Un code postal est accepté en dernier recours : cinq chiffres désignent d'abord le code INSEE qui les porte.
type_bienNoNe lister qu'un type de bien. Absent : les deux.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it discloses result ordering (du plus cher au moins cher), the publication threshold (quartiers d'au moins 5 ventes), the cap (40 max per property type), and the meaning of the provenance field. It effectively documents the return payload in the absence of an output schema.

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?

Front-loads scope and granularity, then the exclusion rule and alternative. Dense and largely waste-free, though the long run-on first sentence mixing returned fields, thresholds and caps could be split for faster scanning.

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

Completeness5/5

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

For a two-parameter read tool with no output schema, the description covers what is returned (prix, nombre de ventes DVF, provenance, part), how it is ordered, what is suppressed, and how it differs from siblings. An agent has everything needed to invoke it correctly and interpret the result.

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 coverage is 100%, with the commune parameter already explaining name/INSEE/arrondissement forms and the type_bien enum documented. The description reinforces the single-commune constraint but adds no parameter syntax or format detail beyond what the schema already provides, 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 resource (prix au m² des appartements et maisons), a specific granularity (quartier par quartier, IRIS de l'INSEE) and a specific scope (UNE commune), then explicitly rules out the sibling prix_m2_commune. An agent can distinguish it from prix_m2_commune, marche_commune and comparaison_communes without opening any schema.

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

Usage Guidelines5/5

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

Gives a concrete use-case («quel quartier est le moins cher à Lille»), a secondary use (situer un quartier dans sa commune), the explicit alternative for the commune-level question, and the negative condition (communes not split by INSEE into quartiers have no quartier price). It even routes Paris/Lyon/Marseille queries to arrondissement naming rather than a different tool.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Addedclassement_departement
    • Addedcomparaison_communes
    • Addedloyer_logement
    • Addedprix_m2_quartiers
  2. 2 tool updates
    • Changedmarche_commune1 field changed
      • changedInput schema / properties / commune / description
        Previous value: -"Nom de la commune (« Bordeaux », « Lyon 7e », « Saint-Étienne ») ou code INSEE à 5 chiffres. Un code postal est accepté en dernier recours."New value: +"Nom de la commune (« Bordeaux », « Saint-Étienne ») ou code INSEE à 5 chiffres. Un arrondissement de Paris, Lyon ou Marseille s'écrit « Paris 11e », « Lyon 7e », « Marseille 8e » (ou « Lyon 7 », « Lyon 7ème », « 7e arrondissement de Lyon ») ; le nom seul (« Lyon ») rend l'agrégat de ses arrondissements. Un code postal est accepté en dernier recours : cinq chiffres désignent d'abord le code INSEE qui les porte."
    • Changedprix_m2_commune1 field changed
      • changedInput schema / properties / commune / description
        Previous value: -"Nom de la commune (« Bordeaux », « Lyon 7e », « Saint-Étienne ») ou code INSEE à 5 chiffres. Un code postal est accepté en dernier recours."New value: +"Nom de la commune (« Bordeaux », « Saint-Étienne ») ou code INSEE à 5 chiffres. Un arrondissement de Paris, Lyon ou Marseille s'écrit « Paris 11e », « Lyon 7e », « Marseille 8e » (ou « Lyon 7 », « Lyon 7ème », « 7e arrondissement de Lyon ») ; le nom seul (« Lyon ») rend l'agrégat de ses arrondissements. Un code postal est accepté en dernier recours : cinq chiffres désignent d'abord le code INSEE qui les porte."
  3. 3 tool updates
    • First observeddemarche_urbanisme_projet
    • First observedmarche_commune
    • First observedprix_m2_commune

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    18 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources