Skip to main content
Glama

Estimate Property Value

estimate_property_value
Read-only

Get an automated valuation (AVM) for a property — low / mid / high price range.

Use find_property_comparables instead if you want the raw comparable transactions with similarity scores. estimate_property_value returns only the AVM summary (low/mid/high range).

REQUIRED: latitude, longitude, surface

Optional:

  • type_local: "Maison" or "Appartement" (default: Appartement)

  • pieces: Number of rooms

  • code_postal, commune: Optional administrative fallback when GPS comparables are sparse

  • radius_m: Search radius (100–2000m, default: 500)

  • max_age_months: Max transaction age (1–24, default: 18)

Returns:

  • price_range: { low, mid, high } in euros

  • price_per_m2: { median, used_surface }

  • confidence: "high", "medium" or "low": how much the retained comparables agree on price/m² (dispersion (P75-P25)/median: high <15%, medium 15-50%, low >=50%). Measured on 1,957 masked DVF sales: median error 12% / 20% / 30%. It is not a probability of accuracy: even at "high", half of the outcomes fall outside price_range.

  • confidence_basis: "comparable_agreement" — names what confidence measures.

  • based_on_count: number of comparables used

  • interval: { method, coverage_label, basis, cohort, cohort_eligible_n, ratio_low, ratio_high, contract_version, calibration_generated_at } — how price_range was derived.

  • confidence_factors: { comparable_count, average_similarity, fallback_used, positive_factors[], limiting_factors[] } — what strengthens or limits the estimate.

Returns estimate: null with a message if fewer than 3 comparables are found. Tip: increase radius_m or max_age_months to get more data.

Note: the low/high range is a data-calibrated 50% interquartile interval (P25/P75 of observed-price / published-mid, backtest-measured on 2,000 masked DVF sales), not a fixed percentage. Its width is driven first by how much the retained comparables agree on price/m² — the dispersion cohort, (P75-P25) / median, e.g. interval.cohort = "dispersion=<15%" — then by comparable density, property type and surface band, and it widens to the global cohort when a segment lacks enough measured data (interval.basis). Agreeing or contradicting comparables also surface as confidence_factors comparables_agree / comparables_disagree. The mid value is unaffected by any of this. DVF data covers 2014–2025 (annual cadence). Use max_age_months ≥ 12 for reliable results.

Cost: 10 credits per call

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "latitude": "<latitude>",
      "longitude": "<longitude>",
      "surface": "<surface>"
    },
    "name": "estimate_property_value"
  }
}

Input Schema

NameRequiredDescriptionDefault
piecesNoNumber of rooms (±1 tolerance applied to comparables)
communeNoCommune fallback when GPS comparables are sparse
surfaceYesSurface area in m²
latitudeYesGPS latitude of the target property
radius_mNoSearch radius in meters (default: 500)
longitudeYesGPS longitude of the target property
type_localNoProperty type (default: Appartement)
code_postalNoPostal code fallback when GPS comparables are sparse
max_age_monthsNoMax age of comparable transactions in months (default: 18 — DVF updates semi-annually)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare a safe read (readOnlyHint/openWorldHint/destructiveHint), so the burden is on the text — and the description carries it: 10-credit cost, a hard failure condition (fewer than 3 comparables → null + message), DVF coverage 2014–2025, and an explicit warning that 'high' confidence is not a probability of accuracy and that half of outcomes fall outside the range. That calibration caveat is exactly the kind of context annotations cannot supply.

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

Conciseness3/5

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

Well front-loaded and clearly sectioned (purpose → alternative → required → optional → returns → note → cost), but the closing 'Note' paragraph runs ~140 words and re-explains dispersion cohort mechanics already stated under the confidence bullet. It also cites slightly inconsistent backtest sample sizes (1,957 vs 2,000 masked DVF sales), which adds noise rather than clarity.

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 must document the return payload — and it does, field by field (price_range, price_per_m2, confidence, interval, confidence_factors) plus the null case. For a 9-parameter, semantically rich valuation tool, an agent has everything needed to call it and to interpret the result responsibly.

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 the baseline is 3; the description earns more by explaining parameter interactions rather than restating fields — that code_postal/commune are a fallback 'when GPS comparables are sparse' and that raising radius_m/max_age_months is the lever for more data. It stops short of full marks because the individual optional parameters (pieces, type_local, radius_m) are only listed with defaults, which the schema already has.

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 — 'Get an automated valuation (AVM) for a property' — and immediately pins the output shape (low/mid/high price range). It also explicitly separates itself from sibling find_property_comparables ('returns only the AVM summary'), so an agent can route 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?

Names the alternative tool and the exact condition that selects it (wanting raw comparables with similarity scores). It also gives recovery guidance when the tool returns null ('increase radius_m or max_age_months') and a data-quality rule ('Use max_age_months ≥ 12'), so both path selection and retry behavior are covered.

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.

Resources