eGov MCP — Cameroun
AI-native eGovernment platform for Cameroonian public services, providing tools for tax calendar, social contributions, and company searches via MCP.
README
eGov MCP — Cameroun
AI-native eGovernment platform for Cameroonian public services, built with MCP (Model Context Protocol).
Live Demo
| Service | URL |
|---|---|
| Frontend | https://egov-mcp.vercel.app |
| Backend API | https://egov-mcp-backend.onrender.com |
| API Docs | https://egov-mcp-backend.onrender.com/docs |
Architecture
React Frontend (MCP Client) ↓ HTTP FastAPI MCP Server ↓ Tool Execution Government APIs (Open Data Cameroun, DGI, CNPS logic) ↑ Orchestration Groq / Llama 3.3 70B
MCP Tools
| Tool | Description | Data Source |
|---|---|---|
get_tax_calendar |
Tax deadlines DGI Cameroun | Business logic (CGI) |
validate_cnps_number |
CNPS registration validation | Format + region logic |
calculate_social_contributions |
CNPS + IRPP calculation | Official rates |
search_companies |
Company search | Open Data Cameroun |
get_public_datasets |
Public datasets | data.gouv.cm |
Setup Local
Prerequisites
- Python 3.11
- Node.js 18+
- Groq API key (free at console.groq.com)
Backend
cd backend
python -m venv .venv
source .venv/Scripts/activate # Windows
pip install -r requirements.txt
cp .env.example .env
# Add your GROQ_API_KEY in .env
uvicorn app.main:app --reload
Frontend
cd frontend
npm install
echo "VITE_API_URL=http://127.0.0.1:8000" > .env
npm run dev
Docker
docker-compose up
Deployment
| Service | Platform | Config |
|---|---|---|
| Backend | Render (free tier) | render.yaml |
| Frontend | Vercel (free tier) | Auto-detected Vite |
Testing
cd backend
python -m pytest tests/ -v
# 14/14 tests passing
Tech Stack
Backend: Python 3.11 · FastAPI · Pydantic v2 · Groq SDK · httpx Frontend: React 18 · TypeScript · Tailwind CSS · Vite LLM: Llama 3.3 70B via Groq DevOps: Docker · GitHub Actions · Render · Vercel
Repository Structure
egov-mcp/ ├── backend/ │ ├── app/ │ │ ├── main.py # FastAPI + MCP orchestration │ │ ├── config.py # Settings │ │ ├── tools/ # 5 MCP tools │ │ ├── schemas/ # Pydantic models │ │ └── core/ # Auth + logging │ └── tests/ # 14 unit tests ├── frontend/ │ └── src/ │ ├── components/ # React components │ ├── hooks/ # useChat hook │ └── types/ # TypeScript types ├── docker-compose.yml └── .github/workflows/ci.yml
Assumptions & Tradeoffs
Groq instead of Anthropic/OpenAI: Groq offers a truly free tier with no credit card required, which is practical for this assessment. The tradeoff is that Llama 3.3 has slightly less reliable tool-calling than Claude Sonnet, requiring a more explicit system prompt.
CNPS/DGI without official API: Neither CNPS nor DGI Cameroun expose public APIs. The tools implement real business logic (official CNPS rates, real DGI tax calendar from CGI) rather than mock data. This is disclosed transparently.
Monorepo: Single repository simplifies CI/CD and submission. For a production system with multiple teams, a multi-repo or Turborepo setup would be preferable.
Future Improvements
- Add Redis caching for Open Data API responses
- Implement user authentication (JWT)
- Add support for document upload (DSF, liasse fiscale)
- Migrate to Claude Sonnet for more reliable tool orchestration
- Add WebSocket support for streaming responses
- Integrate real CNPS and DGI APIs when they become available
AI Tools Used
- Claude (Anthropic): Architecture design, code generation, debugging
- Prompts used: Available in PROMPTS.md
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.