Odel
Real Estate Capitale MCP

Real Estate Capitale MCP

@allamiwayl-27JavaScriptMITUpdated 4w ago

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

Server endpointStreamable HTTPProbe failed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

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

# Install
npm install

# Set database URL
cp .env.example .env
# Edit .env with your PostgreSQL connection string

# Start stdio server (for Claude Desktop, opencode, Cursor)
npm start

# Or start HTTP/SSE server
npm 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)

node bin/mcp-server

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

HTTP/SSE (remote)

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:

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

opencode

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

Remote (HTTP)

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

Query Tool

# List tools
node bin/query "tools/list"

# Call a tool
node bin/query 'tools/call {"name":"list_villes","arguments":{}}'

# Query remote server
MCP_URL=https://realestatecapitale.ma/mcp node bin/query "tools/list"

Testing

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