About wapimaji-mcp
wapimaji-mcp is a Kenya drought-response MCP server for AI agents and coordination systems. It provides clearly labeled synthetic county status data, confirmation-gated SMS sending, and drought-event publishing; no real drought data source is integrated.
Key features
- 01Synthetic drought phases for 47 counties
- 02Synthetic county alert lists
- 03Confirmation-gated SMS via Africa's Talking
- 04Drought coordination event publishing
Use cases
- 01Testing drought-response flows without observational data
- 02Sending an alert SMS after explicit confirmation
- 03Notifying downstream servers of a drought event
MCP support
Exposes drought status, alert, SMS, and coordination-event tools to MCP clients. Status data is synthetic; live status sources are not implemented, and live SMS requires SANDBOX=false and confirm_send=true.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
4Saved tool list · updated 1d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| county | string | Yes |
Details
From the project README💧 WapiMaji MCP — Kenya Water & Drought Intelligence
Install: pip install wapimaji-mcp · Use with any MCP client.
A Kenya drought-response toolkit for AI agents: simulated county drought phases (no real NDMA data is integrated yet), SMS alerts through Africa's Talking that need explicit confirmation, and drought events published to the coordination bus.
What it does, and does not
- Simulated drought phases for the 47 counties. Values are generated from the county name so downstream flows can be built and tested. They are not observations and not NDMA data; every answer says
"synthetic": true. Never use them for decisions. - No real data source is integrated. With
SANDBOX=falsethe status tools return an explicit "not implemented, status unknown" error. NDMA publishes drought phases as periodic bulletins; FEWS NET and IPC publish food-security classifications through APIs that were slow or unverified when checked on 2026-10-07. Integrating one is the next step. - SMS alerts through Africa's Talking: simulated by default (
sent: false); a live send needsSANDBOX=falseandconfirm_send=true. - Coordination: publish a drought event so downstream MCP servers (insurance, agriculture advisory, health, county alerts) can react.
Tools
| Tool | Type | Description |
|---|---|---|
get_drought_status | Read-only, simulated | A simulated drought phase for one county, labelled synthetic |
get_drought_alerts | Read-only, simulated | Simulated list of counties at or above a phase |
sms_drought_alert | Sends SMS | Send a drought alert SMS via Africa's Talking (needs confirm_send=true in live mode) |
publish_drought_coordination | Writes an event | Publish a drought coordination event for downstream servers |
Install
pip install wapimaji-mcp
# or:
uvx wapimaji-mcp
Configure
{
"mcpServers": {
"wapimaji": {
"command": "uvx",
"args": ["wapimaji-mcp"],
"env": {
"AT_USERNAME": "your_username",
"AT_API_KEY": "your_at_key",
"SANDBOX": "true"
}
}
}
}
Data sources
Runtime safety and data limits
SANDBOX=true (the default) uses simulated county drought values, including
aggregate alerts. These values are not observations from NDMA. Live aggregate
alerts are not implemented and return an explicit error with unknown status.
SMS calls in sandbox return sent: false without contacting Africa's Talking.
Live SMS requires both SANDBOX=false and confirm_send=true, supplied only after
the user explicitly confirms that send. Provider acceptance does not establish
delivery to the recipient.
No real data source is integrated. Earlier versions listed NDMA, the Kenya Meteorological Department and FEWS NET here; the code never used them.
Related
- mpesa-mcp — M-Pesa + Africa's Talking MCP server
- WapiMaji — The Streamlit dashboard version
- gabrielmahia.github.io — Full civic portfolio
IP & Collaboration
© 2026 Gabriel Mahia · [email protected] License: MIT Not affiliated with NDMA or Africa's Talking.
Related datasets
Earlier versions said this server draws on NASA MODIS NDVI, NOAA CHIRPS, TRMM and FEWS NET; it does not read any of them. The Hugging Face datasets africa-open-climate-data and east-africa-agricultural-pd are separate resources.
Part of the East Africa Coordination Stack
This MCP server is part of the Kenya coordination infrastructure.
Connect it to africa-coord-bus —
the coordination event bus that routes signals between domains automatically.
pip install africa-coord-bus
All servers: pypi.org/user/gmahia Live demo: coord-cascade-demo
Part of the East Africa coordination stack
- Install & run:
pip install reli-cli && reli list— the MCP servers on the official MCP Registry underio.github.gabrielmahia - Evaluate any model on Swahili agent tasks: kipimo · dataset · leaderboard
- Coordinate across servers: africa-coord-bus — offline-first event bus with a built-in Kenya routing table
- Datasets: huggingface.co/gmahia · Docs hub: nairobi-stack
Model-agnostic by design: closed APIs, open-weight models, and small distilled models are all first-class citizens.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.