You're viewing a demo portfolio

Join the waitlist
PRSM

real_estate_intel

Active

Tool of @gapup/mcp-knowledge

declared in 0.2.0

Real estate intelligence aggregator with a best-in-class French dataset (DVF — Demandes de Valeurs Foncières — 100% of FR transactions since 2019, public, keyless) plus UK Land Registry Price Paid (all UK transactions 1995+). Four modes: (1) property — full transaction history for a specific address; (2) comparables — median/std price/m² within a radius (default 500m); (3) market — annual price series, YoY change, volume, trend by commune; (4) valuation — two-method estimate (comparables median + hedonic regression if n≥30) with confidence scoring (high/medium/low). All sources are free and require no API key. ICP: PropTech agents, REITs, fund managers, family offices, insurance. SLA: ≤25s p95 (sources fetched in parallel, 8s budget each). Cache: 24h TTL (DVF data is stable). Quality score: 30 pts DVF retrieved, 20 pts geocoding, 20 pts UK LR retrieved, 15 pts if comparables count ≥10, 15 pts if method quality achieved. Status: failed/<60/≥60 → failed/partial/final. No env vars required.

Parameters schema

{
  "type": "object",
  "required": [
    "mode",
    "location"
  ],
  "properties": {
    "mode": {
      "enum": [
        "property",
        "comparables",
        "market",
        "valuation"
      ],
      "type": "string",
      "description": "property: transactions at an address | comparables: sample around a point | market: commune/neighbourhood market stats | valuation: price estimate for a given surface"
    },
    "async": {
      "type": "boolean",
      "description": "If true, returns a job_id immediately (<200ms) instead of waiting for the result. Poll the result with job_result(job_id). Use for slow tools to avoid client timeouts."
    },
    "date_to": {
      "type": "string",
      "description": "ISO date YYYY-MM-DD — latest transaction date"
    },
    "location": {
      "type": "object",
      "properties": {
        "lat": {
          "type": "number",
          "description": "Latitude"
        },
        "lon": {
          "type": "number",
          "description": "Longitude"
        },
        "city": {
          "type": "string",
          "description": "City name"
        },
        "address": {
          "type": "string",
          "description": "Street address (full or partial)"
        },
        "country": {
          "type": "string",
          "description": "ISO country code or full name"
        },
        "radius_m": {
          "type": "number",
          "description": "Search radius in metres for comparables (default 500)"
        },
        "insee_code": {
          "type": "string",
          "description": "French INSEE commune code (5 digits, e.g. '75104' for Paris 4e)"
        }
      },
      "description": "Location descriptor. One of: {address, city?, country?} | {lat, lon, radius_m?} | {insee_code} for FR communes."
    },
    "date_from": {
      "type": "string",
      "description": "ISO date YYYY-MM-DD — earliest transaction date"
    },
    "max_results": {
      "type": "number",
      "maximum": 50,
      "minimum": 5,
      "description": "Maximum number of results to return (5–50, default 20)"
    },
    "surface_max": {
      "type": "number",
      "description": "Maximum surface in m² (±20% tolerance applied for comparables)"
    },
    "surface_min": {
      "type": "number",
      "description": "Minimum surface in m² (±20% tolerance applied for comparables)"
    },
    "property_type": {
      "enum": [
        "apartment",
        "house",
        "land",
        "commercial",
        "all"
      ],
      "type": "string",
      "description": "Filter by property type (default: all)"
    }
  }
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.70.

Parent server

@gapup/mcp-knowledge

https://github.com/getgapup/gapup-mcp

2/7 registries
View full server →