{"slug": "building-a-coordination-layer-when-nobody-else-is", "title": "Building a Coordination Layer When Nobody Else Is", "summary": "A developer has released africa-coord-bus, an open-source event bus that connects previously isolated domain-specific MCP servers for African use cases — including drought intelligence (wapimaji-mcp), agriculture (kilimo-mcp, bima-mcp, soko-mcp), health (afya-mcp), and finance (mpesa-mcp) — so that a single alert, such as a drought detection, automatically cascades to the tools that need to respond. The domain servers and the coordination bus are installable individually from PyPI, and the developer has also published public-domain datasets on Hugging Face covering agricultural baselines from 1906–1925, Swahili-language corpora, and legal and climate records.", "body_md": "Building AI tools for Africa one at a time solves individual problems. The coordination problems that cost lives require tools that work together.\n\nMost AI tooling for the region treats each domain — finance, water, health, agriculture — as a separate problem with a separate tool. The tools work in isolation. The crises they're meant to help with don't.\n\n**Finance**: `mpesa-mcp`, `kra-mcp`, `faida-mcp`, `mkopo-mcp`, `sifa-mcp`\n\n**Water**: `wapimaji-mcp` (drought intelligence)\n\n**Agriculture**: `kilimo-mcp`, `bima-mcp`, `soko-mcp`\n\n**Health**: `afya-mcp`, `afya-ya-akili-mcp`\n\n**Education**: `elimu-mcp`\n\n**Transport**: `usafiri-mcp`\n\n**Land**: `ardhi-mcp`\n\n**Language**: `swahili-civic-nlp`, `tafsiri-mcp`\n\n**Civic**: `county-mcp`, `fomu-mcp`, `haki-ya-kazi-mcp`\n\nAll installable from PyPI: `pip install wapimaji-mcp kilimo-mcp bima-mcp`\n\n`africa-coord-bus` connects the domain servers. When `wapimaji-mcp` detects drought, the bus routes it to the servers that need to respond: insurance evaluation, crop advisory, malnutrition surveillance, county alerts.\n\n``` python\nfrom africa_coord_bus import EventBus, DomainCascade, CoordinationEvent\nfrom africa_coord_bus import EventDomain, EventSeverity\n\nbus = EventBus(queue_path=\"/var/coord-bus/events.jsonl\")\nDomainCascade(bus).wire_all()\n\nbus.publish(CoordinationEvent(\n    domain=EventDomain.WATER, event_type=\"drought_alert\",\n    source=\"wapimaji-mcp\", severity=EventSeverity.ALERT,\n    data={\"ndvi_anomaly\": -0.28, \"spi_3month\": -1.8},\n))\n# Five tools respond automatically\n```\n\n`pip install africa-coord-bus`\n\nPublic domain datasets at [huggingface.co/gmahia](https://huggingface.co/gmahia) provide historical grounding: agricultural baselines from 1906–1925, Swahili-language corpora, and legal and climate records — material that exists but was never structured for AI training or retrieval before.\n\nThe domain servers referenced above are on PyPI individually; browse [pypi.org/user/gmahia](https://pypi.org/user/gmahia/) for the current list.", "url": "https://wpnews.pro/news/building-a-coordination-layer-when-nobody-else-is", "canonical_source": "https://dev.to/gabrielmahia/the-coordination-stack-for-kenya-what-32-mcp-servers-look-like-as-a-system-26p4", "published_at": "2026-10-12 10:00:00+00:00", "updated_at": "2026-10-12 10:10:31.799668+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools", "artificial-intelligence"], "entities": ["africa-coord-bus", "wapimaji-mcp", "kilimo-mcp", "bima-mcp", "soko-mcp", "afya-mcp", "mpesa-mcp", "PyPI"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/building-a-coordination-layer-when-nobody-else-is", "markdown": "https://wpnews.pro/news/building-a-coordination-layer-when-nobody-else-is.md", "text": "https://wpnews.pro/news/building-a-coordination-layer-when-nobody-else-is.txt", "jsonld": "https://wpnews.pro/news/building-a-coordination-layer-when-nobody-else-is.jsonld"}}