Real Estate Capitale MCP
Real estate MCP server for Morocco — search, valuation, market analysis, 17 tools.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (11)
- LOWin get_listing
- LOWin estimate_property
- LOWin get_market_trends
- LOWin get_quartier_stats
- LOWin get_comparables
- LOWin get_price_analytics
- LOWin get_rental_yield
- LOWin get_quartier_comparison
- LOWin get_suspicious_listings
- LOWin get_liquidity
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"rabatrealestate-mcp": {
"url": "https://realestatecapitale.ma/mcp"
}
}
}Remote-Endpunkte
https://realestatecapitale.ma/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (17)
🟢search_listings(transaction, location, propertyType, priceMin, priceMax, ...)
Rechercher des biens immobiliers avec filtres (transaction, location, budget, surface, pieces, type de bien, mot-cle)
Eingabe-Schema
{
"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
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"type": "object",
"properties": {
"transaction": {
"type": "string",
"enum": [
"Vente",
"Location"
],
"description": "Filtrer par transaction"
}
}
}🟢list_quartiers
Lister tous les quartiers disponibles avec leur ville
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢list_villes
Lister toutes les villes disponibles
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟡create_lead(name, phone, source, listingId)
Creer un lead (contact client) pour prise de rendez-vous ou demande d'information
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"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
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"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)
Eingabe-Schema
{
"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
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Nombre d'agences (5-100, defaut: 20)"
}
}
}Community
Nachweis