AI-native eGov platform for Cameroon powered by MCP
# Liwaza eGov MCP Platform 🇨🇲
AI-native eGov platform for Cameroon powered by Model Context Protocol (MCP).
Users interact with Cameroonian public data through natural language in French or English.
## Live Demo
- **Frontend**:
liwaza-egov-mcp.vercel.app
- **Backend API**:
liwaza-egov-backend.onrende…
- **API Docs**:
liwaza-egov-backend.onrende…
- **MCP Tools**:
liwaza-egov-backend.onrende…
- **Health Check**:
liwaza-egov-backend.onrende…
## Screenshots
> Screenshots of the live application
## Architecture
```
React Frontend (MCP Client)
↓ HTTPS POST /mcp/chat
Python MCP Server (FastAPI)
↓ ↓
Anthropic Claude API World Bank API
(tool orchestration) (real data)
```
## Tech Stack
| Layer | Technology |
|-------|-----------|
| Frontend | React + TypeScript + Tailwind CSS |
| Backend | Python + FastAPI + Pydantic |
| AI | Claude Sonnet 4.5 (Anthropic) |
| Data | World Bank API (public, no auth) |
| Deploy | Vercel (frontend) + Render (backend) |
| CI/CD | GitHub Actions |
| Container | Docker + docker-compose |
## MCP Tools
| Tool | Description | World Bank Indicator |
|------|-------------|---------------------|
| `get_gdp_data` | GDP data for Cameroon | NY.GDP.MKTP.CD |
| `get_population_data` | Population statistics | SP.POP.TOTL |
| `get_inflation_data` | Inflation rate | FP.CPI.TOTL.ZG |
| `get_unemployment_data` | Unemployment statistics | SL.UEM.TOTL.ZS |
| `get_country_info` | General country information | Country metadata |
## Setup Instructions
### Prerequisites
- Python 3.11+
- Node.js 20+
- Anthropic API key
### Backend
```bash
cd backend
pip install -r requirements.txt
cp .env.example .env
# Add your ANTHROPIC_API_KEY to .env
uvicorn app.main:app --reload --port 8000
```
### Frontend
```bash
cd frontend
npm install
cp .env.example .env
# Set VITE_API_URL=
localhost
npm run dev
```
### Docker
```bash
docker-compose up -d --b …