Real Estate Capitale MCP

io.github.allamiwayl-27Published by GitHub account allamiwayl-27v1.0.0Updated Oct 26, 2026

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

VerifiedStreamable HTTPWeb executableFinanceData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Moroccan real estate MCP server for Rabat, Salé and Témara: search listings, estimate values, and analyze market trends and yields.

What you can do
  • Search and read property listings by transaction, budget, surface, rooms, type and keyword, and fetch full details by ID.
  • List cities and quartiers, and get aggregated quartier statistics.
  • Estimate a property's value, find comparable listings, and compare two quartiers side by side.
  • Analyze prices per m², market trends, 90-day price predictions, rental yields and market liquidity.
  • Flag undervalued properties and suspicious outlier prices, and rank agencies by listing volume.
  • Create a lead (contact client) for an appointment or information request.
When to use it
Useful when an assistant needs Moroccan real estate data for Rabat, Salé or Témara: property search, valuation estimates, investment screening, rental yield comparisons, or market analysis by quartier.
Requirements
The registry lists a remote endpoint at realestatecapitale.ma with no authentication, environment variables or headers declared. The README also documents a local Node.js install that needs a PostgreSQL connection string in DATABASE_URL and runs over stdio or HTTP on port 3001.
Before you install
The create_lead tool writes a contact record to the server, so confirm before submitting personal details. The README's local setup requires a PostgreSQL connection string in DATABASE_URL, which is a credential. Market predictions and valuations are model-derived estimates, not appraisals.

Installation

In SourceWeft

  1. Open Real Estate Capitale MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.allamiwayl-27%2Frabatrealestate-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "real-estate-capitale": {
      "type": "http",
      "url": "https://realestatecapitale.ma/mcp"
    }
  }
}

README

Real Estate Capitale — MCP Server

MCP server for real estate search, property valuation, market analysis, and lead management in Rabat, Salé, and Témara, Morocco.

Quick Start

bash
# Installnpm install
# Set database URLcp .env.example .env# Edit .env with your PostgreSQL connection string
# Start stdio server (for Claude Desktop, opencode, Cursor)npm start
# Or start HTTP/SSE servernpm start:http

17 Tools

ToolDescription
search_listingsSearch properties with filters (type, location, budget, surface, rooms)
get_listingGet full listing details by ID
estimate_propertyEstimate property value by quartier and surface
get_market_trendsPrice trends over time by quartier
get_quartier_statsAggregated stats per quartier (price/m², count)
list_quartiersList all available quartiers
list_villesList all available cities
create_leadCreate a lead (contact client)
get_comparablesFind similar listings for valuation
get_investor_alertsIdentify undervalued properties
get_price_analyticsPrice/m² analysis with distribution
get_rental_yieldRental yield by quartier
get_market_predictions90-day price predictions
get_quartier_comparisonCompare two quartiers side-by-side
get_suspicious_listingsDetect outlier pricing
get_liquidityMarket liquidity index
get_agency_leaderboardAgency ranking by volume

Transports

stdio (local)

bash
node bin/mcp-server

For Claude Desktop, opencode, Cursor — reads JSON-RPC from stdin, writes to stdout.

HTTP/SSE (remote)

bash
node bin/mcp-server-http# Listens on port 3001

Endpoints:

  • GET / — Server info (Streamable HTTP discovery)
  • POST / — Synchronous JSON-RPC
  • GET /sse — SSE stream
  • POST /messages?sessionId=... — SSE session messages
  • GET /health — Health check

Configuration

Claude Desktop

Copy config/claude-desktop.json to your Claude Desktop MCP config, or add to claude_desktop_config.json:

json
{  "mcpServers": {    "realestatecapitale": {      "command": "node",      "args": ["/path/to/rabatrealestate/bin/mcp-server"],      "env": {        "DATABASE_URL": "postgresql://user:pass@localhost:5432/mubawab"      }    }  }}

opencode

json
{  "mcp": {    "realestatecapitale": {      "type": "local",      "command": ["node", "bin/mcp-server"],      "env": { "DATABASE_URL": "..." }    }  }}

Remote (HTTP)

json
{  "mcp": {    "realestatecapitale": {      "type": "remote",      "url": "https://realestatecapitale.ma/mcp"    }  }}

Query Tool

bash
# List toolsnode bin/query "tools/list"
# Call a toolnode bin/query 'tools/call {"name":"list_villes","arguments":{}}'
# Query remote serverMCP_URL=https://realestatecapitale.ma/mcp node bin/query "tools/list"

Testing

bash
npm test

Architecture

┌─────────────┐     stdio      ┌──────────────┐│ Claude Desktop│ ◄──────────── │ bin/mcp-server││ opencode     │               │ (stdio)       │└─────────────┘               └──────┬───────┘                                      │┌─────────────┐     HTTP/SSE  ┌──────┴───────┐│ Remote AI   │ ◄──────────── │ bin/mcp-     ││ clients     │               │ server-http  │└─────────────┘               │ (port 3001)  │                              └──────┬───────┘                                     │                              ┌──────┴───────┐                              │ src/core/     │                              │ mcp-core.js   │                              │ (17 tools)    │                              └──────┬───────┘                                     │                              ┌──────┴───────┐                              │ PostgreSQL    │                              │ (mubawab)     │                              └──────────────┘

License

MIT

Source: README.md at commit 3b1edc2

Tools

17

search_listings

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

ParametersqpagesortlocationpageSizepriceMaxpriceMinroomsMaxroomsMinsurfaceMaxsurfaceMintransaction+1 more

get_listing

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

Parametersidrequired

estimate_property

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

Parametersetattyperequiredetagevillepiecessurfacerequiredquartierrequiredstanding

get_quartier_stats

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

Parameterstransaction

list_quartiers

Lister tous les quartiers disponibles avec leur ville

Takes no parameters.

list_villes

Lister toutes les villes disponibles

Takes no parameters.

create_lead

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

ParametersnamerequiredphonerequiredsourcelistingId

get_comparables

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

ParameterslistingIdrequired

get_investor_alerts

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

ParameterspagestatuspageSizeminSampleminDiscountPct

get_price_analytics

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

ParameterspagelocationpageSizepriceMaxpriceMintransactionpropertyType

get_rental_yield

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

Parametersquartier

get_market_predictions

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

Parametersmonthsstatusquartier

get_quartier_comparison

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

Parametersq1requiredq2requiredstatus

get_suspicious_listings

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

ParameterspagestatuspageSizeminSampleiqrMultiplierminDeviationPct

get_liquidity

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

Parametersstatusquartier

get_agency_leaderboard

Classement des agences immobilieres par volume d'annonces

Parameterslimit

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts