Real Estate Capitale MCP

Real estate MCP server for Morocco — search, valuation, market analysis, 17 tools.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
65%
Integridad del esquema
86%
Calidad de los nombres
99%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (11)

  • LOWTool 'get_listing' description lacks action verben get_listing
  • LOWTool 'estimate_property' description lacks action verben estimate_property
  • LOWTool 'get_market_trends' description lacks action verben get_market_trends
  • LOWTool 'get_quartier_stats' description lacks action verben get_quartier_stats
  • LOWTool 'get_comparables' description lacks action verben get_comparables
  • LOWTool 'get_price_analytics' description lacks action verben get_price_analytics
  • LOWTool 'get_rental_yield' description lacks action verben get_rental_yield
  • LOWTool 'get_quartier_comparison' description lacks action verben get_quartier_comparison
  • LOWTool 'get_suspicious_listings' description lacks action verben get_suspicious_listings
  • LOWTool 'get_liquidity' description lacks action verben get_liquidity

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,120Tokens (definiciones de herramientas)
~1009 BTamaño de respuesta típico
Impacto moderado en la atención (1.66% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "rabatrealestate-mcp": {
      "url": "https://realestatecapitale.ma/mcp"
    }
  }
}

Puntos de conexión remotos

https://realestatecapitale.ma/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (17)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_listings(transaction, location, propertyType, priceMin, priceMax, ...)

Rechercher des biens immobiliers avec filtres (transaction, location, budget, surface, pieces, type de bien, mot-cle)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "transaction": {
      "type": "string",
      "enum": [
        "Vente",
        "Location"
      ],
      "description": "Type de transaction"
    },
    "location": {
      "type": "string",
      "description": "Quartier ou ville (ex: Agdal, Hay Riad, Salé)"
    },
    "propertyType": {
      "type": "string",
      "enum": [
        "Appartement",
        "Maison",
        "Villa",
        "Studio",
        "Terrain",
        "Bureau",
        "Commerce",
        "Riad"
      ],
      "description": "Type de bien"
    },
    "priceMin": {
      "type": "number",
      "description": "Prix minimum en MAD"
    },
    "priceMax": {
      "type": "number",
      "description": "Prix maximum en MAD"
    },
    "surfaceMin": {
      "type": "number",
      "description": "Surface minimum en m²"
    },
    "surfaceMax": {
      "type": "number",
      "description": "Surface maximum en m²"
    },
    "roomsMin": {
      "type": "number",
      "description": "Nombre minimum de pieces"
    },
    "roomsMax": {
      "type": "number",
      "description": "Nombre maximum de pieces"
    },
    "q": {
      "type": "string",
      "description": "Mot-cle dans le titre ou la description"
    },
    "sort": {
      "type": "string",
      "enum": [
        "price_asc",
        "price_desc",
        "date_desc",
        "date_asc"
      ],
      "description": "Tri"
    },
    "page": {
      "type": "number",
      "description": "Page (defaut: 1)"
    },
    "pageSize": {
      "type": "number",
      "description": "Resultats par page (defaut: 12, max: 60)"
    }
  }
}
🟢get_listing(id)

Obtenir le détail complet d'un bien immobilier par son ID

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "ID du bien immobilier"
    }
  },
  "required": [
    "id"
  ]
}
⚪estimate_property(type, quartier, surface, ville, pieces, ...)

Estimer la valeur d'un bien immobilier (prix au m², fourchette basse/haute)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "vente",
        "location"
      ],
      "description": "Type de transaction"
    },
    "quartier": {
      "type": "string",
      "description": "Quartier (ex: Agdal, Hay Riad)"
    },
    "surface": {
      "type": "number",
      "description": "Surface en m²"
    },
    "ville": {
      "type": "string",
      "description": "Ville (optionnel, defaut: Rabat)"
    },
    "pieces": {
      "type": "number",
      "description": "Nombre de pieces (optionnel)"
    },
    "etage": {
      "type": "string",
      "enum": [
        "rdc",
        "bas",
        "milieu",
        "haut",
        "dernier"
      ],
      "description": "Type d'etage (optionnel)"
    },
    "etat": {
      "type": "string",
      "enum": [
        "renover",
        "bon",
        "neuf"
      ],
      "description": "Etat du bien (optionnel)"
    },
    "standing": {
      "type": "string",
      "enum": [
        "economique",
        "standard",
        "standing",
        "luxe"
      ],
      "description": "Standing (optionnel)"
    }
  },
  "required": [
    "type",
    "quartier",
    "surface"
  ]
}
🟢get_market_trends(status, months)

Obtenir les tendances du marche immobilier par quartier (variation de prix sur N mois)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "vente",
        "location",
        "all"
      ],
      "description": "Filtrer par type (defaut: all)"
    },
    "months": {
      "type": "number",
      "description": "Periode en mois (3-36, defaut: 12)"
    }
  }
}
🟢get_quartier_stats(transaction)

Obtenir les statistiques agregees par quartier (prix m² moyen, nombre d'annonces)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "transaction": {
      "type": "string",
      "enum": [
        "Vente",
        "Location"
      ],
      "description": "Filtrer par transaction"
    }
  }
}
🟢list_quartiers

Lister tous les quartiers disponibles avec leur ville

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢list_villes

Lister toutes les villes disponibles

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟡create_lead(name, phone, source, listingId)

Creer un lead (contact client) pour prise de rendez-vous ou demande d'information

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Nom du contact (2-120 caracteres)"
    },
    "phone": {
      "type": "string",
      "description": "Telephone (8-24 caracteres, ex: 0612345678)"
    },
    "source": {
      "type": "string",
      "enum": [
        "website",
        "whatsapp_click",
        "facebook",
        "phone",
        "other",
        "mcp"
      ],
      "description": "Source du lead (defaut: mcp)"
    },
    "listingId": {
      "type": "number",
      "description": "ID du bien concerne (optionnel)"
    }
  },
  "required": [
    "name",
    "phone"
  ]
}
🟢get_comparables(listingId)

Trouver les annonces les plus similaires a un bien donne (pour evaluation ou estimation)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "listingId": {
      "type": "number",
      "description": "ID du bien de reference"
    }
  },
  "required": [
    "listingId"
  ]
}
🟢get_investor_alerts(status, minDiscountPct, minSample, page, pageSize)

Identifier les biens sous-evalues (opportunites d'investissement avec discount)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "vente",
        "location",
        "all"
      ],
      "description": "Filtrer par type (defaut: vente)"
    },
    "minDiscountPct": {
      "type": "number",
      "description": "Discount minimum en pourcentage (10-70, defaut: 15)"
    },
    "minSample": {
      "type": "number",
      "description": "Echantillon minimum par segment (12-300, defaut: 20)"
    },
    "page": {
      "type": "number",
      "description": "Page (defaut: 1)"
    },
    "pageSize": {
      "type": "number",
      "description": "Resultats par page (defaut: 20, max: 100)"
    }
  }
}
🟢get_price_analytics(transaction, location, propertyType, priceMin, priceMax, ...)

Analyser les prix au m² par quartier avec tendances et distribution

Esquema de entrada

{
  "type": "object",
  "properties": {
    "transaction": {
      "type": "string",
      "enum": [
        "Vente",
        "Location",
        "Achat"
      ],
      "description": "Type de transaction (defaut: Vente)"
    },
    "location": {
      "type": "string",
      "description": "Quartier ou ville specifique (optionnel)"
    },
    "propertyType": {
      "type": "string",
      "description": "Type de bien (optionnel, ex: Appartement, Villa)"
    },
    "priceMin": {
      "type": "number",
      "description": "Prix minimum (optionnel)"
    },
    "priceMax": {
      "type": "number",
      "description": "Prix maximum (optionnel)"
    },
    "page": {
      "type": "number",
      "description": "Page (defaut: 1)"
    },
    "pageSize": {
      "type": "number",
      "description": "Resultats par page (defaut: 20, max: 100)"
    }
  }
}
🟢get_rental_yield(quartier)

Obtenir le rendement locatif brut par quartier (comparatif achat vs location)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "quartier": {
      "type": "string",
      "description": "Quartier specifique (optionnel, tous si omis)"
    }
  }
}
🟢get_market_predictions(quartier, status, months)

Previsions de prix a 90 jours par quartier (regression lineaire)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "quartier": {
      "type": "string",
      "description": "Quartier specifique (optionnel, tous si omis)"
    },
    "status": {
      "type": "string",
      "enum": [
        "vente",
        "location",
        "all"
      ],
      "description": "Filtrer par type (defaut: all)"
    },
    "months": {
      "type": "number",
      "description": "Periode d'analyse en mois (3-36, defaut: 12)"
    }
  }
}
🟢get_quartier_comparison(q1, q2, status)

Comparer deux quartiers cote-a-cote (prix m², nombre d'annonces, volatilite)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q1": {
      "type": "string",
      "description": "Premier quartier (ex: Agdal)"
    },
    "q2": {
      "type": "string",
      "description": "Second quartier (ex: Hay Riad)"
    },
    "status": {
      "type": "string",
      "enum": [
        "vente",
        "location",
        "all"
      ],
      "description": "Filtrer par type (defaut: all)"
    }
  },
  "required": [
    "q1",
    "q2"
  ]
}
🟢get_suspicious_listings(status, minSample, iqrMultiplier, minDeviationPct, page, ...)

Detecter les annonces avec des prix anormaux (IQR outliers, scores de severite)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "vente",
        "location",
        "all"
      ],
      "description": "Filtrer par type (defaut: all)"
    },
    "minSample": {
      "type": "number",
      "description": "Echantillon minimum (12-300, defaut: 20)"
    },
    "iqrMultiplier": {
      "type": "number",
      "description": "Multiplicateur IQR (1.5-3.0, defaut: 2.0)"
    },
    "minDeviationPct": {
      "type": "number",
      "description": "Deviation minimum (10-90%, defaut: 30)"
    },
    "page": {
      "type": "number",
      "description": "Page (defaut: 1)"
    },
    "pageSize": {
      "type": "number",
      "description": "Resultats par page (defaut: 20, max: 100)"
    }
  }
}
🟢get_liquidity(quartier, status)

Indice de liquidite du marche par quartier (taux de rotation, stock, delai de vente)

Esquema de entrada

{
  "type": "object",
  "properties": {
    "quartier": {
      "type": "string",
      "description": "Quartier specifique (optionnel, tous si omis)"
    },
    "status": {
      "type": "string",
      "enum": [
        "vente",
        "location",
        "all"
      ],
      "description": "Filtrer par type (defaut: all)"
    }
  }
}
🟢get_agency_leaderboard(limit)

Classement des agences immobilieres par volume d'annonces

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Nombre d'agences (5-100, defaut: 20)"
    }
  }
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada17 herramientas