Thirty-two MCP servers for Kenya’s coordination domains.
Water. Health. Agriculture. Insurance. Land. Education. Transport. Tax. Labor. Market prices.
Each one works. None talks to any other.
This is what 32 isolated tools looks like in practice: a CHW in Kisumu flags a cholera cluster. The water quality system doesn’t know. The county procurement system doesn’t know. The emergency medicine supply chain doesn’t know. The tools that need to respond are all present. The coordination between them doesn’t exist.
The architectural problem
The Model Context Protocol ecosystem is growing fast. For most of the world, it’s growing in domains that already have coordination infrastructure: calendar apps, email clients, project management tools. These tools coordinate with each other through years of API integrations, webhooks, Zapier connections, and shared data stores.
African coordination domains don’t have that legacy. They’re being built now, from scratch, on MCP.
That means the coordination layer has to be built at the same time.
What a coordination layer looks like at the MCP level
africa-coord-bus defines a CoordinationEvent — a standard cross-domain signal schema — and an EventBus that routes events to the tools that need to respond.
The routing table is explicit:
Trigger Cascadewater.drought_alert (Warning+)
bima-mcp, kilimo-mcp, soko-mcp
water.drought_alert (Alert+)
+ afya-mcp, county-mcp
health.disease_outbreak (cholera)
wapimaji-mcp water quality check
agriculture.price_spike (>30%)
afya-mcp food security watch
water.flood_alert
afya-mcp waterborne watch, county-mcp
Custom rules take three lines:
from africa_coord_bus import RoutingRule, EventDomain, EventSeverity
bus.routing.add(RoutingRule(
name="locust→emergency_procurement",
trigger_domain=EventDomain.AGRICULTURE,
trigger_event_type="locust_swarm",
trigger_min_severity=EventSeverity.ALERT,
target_actions=["fomu-mcp.emergency_procurement", "county-mcp.agriculture_alert"],
))
Enter fullscreen mode Exit fullscreen mode
The composable coordination stack
The pattern that’s emerging for East Africa:
Public domain datasets (HuggingFace)
│ grounding knowledge
▼
32 MCP servers (PyPI) ←── africa-coord-bus
│
▼
A2A + ADK agents
│
▼
Streamlit coordination interfaces
Enter fullscreen mode Exit fullscreen mode
Each layer is replaceable. The models are replaceable. The MCP servers are replaceable. What persists is the coordination architecture.
Install
pip install africa-coord-bus
Enter fullscreen mode Exit fullscreen mode
Source: github.com/gabrielmahia/africa-coord-bus
The coordination gap was the last missing layer. It’s now installable.
Source: africa-coord-bus on PyPI
답글 남기기