mcp-african-markets
by mutheejj
README.md
<div align="center">
# ๐ณ mcp-african-markets
**MCP servers for African markets โ agentic tooling for payments, reconciliation, and public data.**
[](https://github.com/mutheejj/mcp-african-markets/actions/workflows/ci.yml)
[](LICENSE)
[](package.json)
[](https://github.com/sponsors/mutheejj)
M-Pesa ยท Mobile-money reconciliation ยท County data ยท Built agent-first
</div>
---
## Why
African fintech runs on M-Pesa, bank rails, and a patchwork of public portals โ but almost none of it speaks to AI agents. If your agent can't call Daraja or reconcile a till, it can't do real work for millions of users.
**mcp-african-markets** ships focused [Model Context Protocol](https://modelcontextprotocol.io) servers so any MCP-aware agent gets first-class African-market tools.
## Servers
| Server | Status | What your agent can do |
|--------|--------|----------------------|
| **daraja** | ๐ง in progress | Initiate B2C/B2B payouts, query transaction status, validate phone numbers |
| **reconcile** | ๐ง in progress | Match M-Pesa statements against ledger CSVs, surface discrepancies |
| **county-data** | ๐ planned | Structured lookups for county public data |
| **kra** | ๐ planned | PIN validation helpers and filing-status lookups |
## Quickstart
```bash
npx mcp-african-markets --server daraja
```
Wire it into any MCP client:
```json
{
"mcpServers": {
"african-markets": {
"command": "npx",
"args": ["-y", "mcp-african-markets", "--server", "daraja"],
"env": {
"DARAJA_CONSUMER_KEY": "your-key",
"DARAJA_CONSUMER_SECRET": "your-secret",
"DARAJA_ENV": "sandbox"
}
}
}
}
```
Defaults to **sandbox**. Production requires explicit opt-in (`DARAJA_ENV=production`) โ agents should not move real money by accident.
## Design principles
1. **Sandbox by default** โ money-moving tools are opt-in, loudly
2. **Read-only where possible** โ reconciliation and lookups never mutate state
3. **Idempotency keys everywhere** โ agents retry; payouts must not double-fire
4. **Local-first** โ works offline against cached statements
## Status
๐ง **v0.x โ early development.** The daraja server skeleton and sandbox auth flow are landing first.
## Roadmap
- [x] Project scaffold + MCP server template
- [ ] daraja: sandbox auth + STK push + transaction status
- [ ] reconcile: statement parser + fuzzy matcher
- [ ] county-data: first datasets
- [ ] kra: PIN validation helpers
- [ ] Example agent walkthroughs
## Who is this for
- Fintech teams building **agent-powered ops** on African rails
- Hackathon teams who want working payments tools on day one
- Developers who believe **agents should work everywhere**, not just in Silicon Valley
## Contributing
PRs welcome โ new MCP servers, dataset contributions, and sandbox fixtures especially.
## ๐ Support
I build tools for the multi-agent era in the open. If this saves you time, [consider sponsoring](https://github.com/sponsors/mutheejj).
<div align="center">
MIT ยฉ [John Muthee](https://github.com/mutheejj)
</div>
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues