Kenya has roughly 7 million smallholder farming households. Most have no crop insurance.
The barriers are not primarily financial. They're informational. Traditional insurance requires claims adjusters who visit farms, assess damage, and submit reports. At 7 million farms, that's not a business model.
Parametric insurance removes the claims adjuster. The contract specifies a measurable trigger: when satellite-observed rainfall drops below X% of the seasonal mean for Y weeks, the payout fires automatically. No farm visit. No claims form.
The data
CHIRPS produces daily rainfall estimates at 0.05° resolution — roughly 5km grid cells — free and open, updated daily. MODIS NDVI measures plant health from space; a consistent drop in NDVI against the seasonal baseline is a drought signal 6-8 weeks before visible crop failure. SPI normalizes rainfall against historical distribution, making drought severity comparable across different climates.
The coordination gap
None of this data is currently connected to insurance contracts at the smallholder level.
wapimaji-mcp reads CHIRPS and NDVI data and fires drought alerts when thresholds cross. bima-mcp holds parametric contracts. These two tools don't talk to each other.
africa-coord-bus closes that gap:
from africa_coord_bus import EventBus, CoordinationEvent, EventDomain, EventSeverity, DomainCascade
bus = EventBus()
DomainCascade(bus).wire_all()
bus.publish(CoordinationEvent(
domain=EventDomain.WATER, event_type="drought_alert",
source="wapimaji-mcp", severity=EventSeverity.ALERT,
data={"ndvi_anomaly": -0.28, "spi_3month": -1.8},
))
# bima-mcp receives the event and evaluates insurance triggers automatically
pip install africa-coord-bus wapimaji-mcp bima-mcp
The data exists. The contracts can be written. The missing piece was the routing between them.
Top comments (0)