# Ghana Home Rental MCP Platform
This project is a home-rental-first platform for Ghana. The goal is to let users search for homes, apartments, villas, lodges, guest houses, and hotel-style rooms through natural language instead of manually browsing many rental websites.
The platform is intentionally split into three services:
- **Django backend**: business logic, database, listings, external ingestion, availability, booking inquiries, and verification.
- **Python MCP server**: natural-language tool layer that lets AI clients search, compare, check availability, and submit booking inquiries.
- **Next.js frontend**: user-facing search and inquiry interface.
## Current Status
The first implementation pass has been built. It includes a clean monorepo structure, Django domain models, migrations, seed commands, MCP tools, a LangChain-backed query parser with deterministic fallback, a provider adapter system for Ghana external sources, and a working Next.js UI skeleton.
Client authentication and role-based authorization have also been added at the backend level. The current frontend includes registration, login, logout, profile display, MFA setup, and a basic host listing creation panel. Email verification, password reset endpoints, TOTP-based MFA, and API throttling have also been added.
Runtime verification still needs to happen on a machine where Python and Node commands can execute normally. In the Codex environment used to create this, Python and Git timed out and Node was blocked by the sandbox, so commands were not executed end to end.
## Architecture
```text
User
|
| uses browser
v
Next.js frontend
|
| REST API calls
v
Django backend
|
| owns business rules and persistence
v
Database
AI client / assistant
|
| MCP tools
v
Python MCP server
|
| authenticated REST calls
v
Django backend
External Ghana listing source
|
| approved provider adapter
v
Django external listing ingestion
|
| normalized listing snapshot
v
Database
```
## Service Responsibilities …