Real Estate Capitale MCP
Real estate MCP server for Morocco — search, valuation, market analysis, 17 tools.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (11)
- LOWen get_listing
- LOWen estimate_property
- LOWen get_market_trends
- LOWen get_quartier_stats
- LOWen get_comparables
- LOWen get_price_analytics
- LOWen get_rental_yield
- LOWen get_quartier_comparison
- LOWen get_suspicious_listings
- LOWen get_liquidity
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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-httpQué puede hacer
Inventario de herramientas
Herramientas (17)
🟢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
Evidencia