About soko-mcp
soko-mcp is an MCP server for farmers and market participants in Kenya to query, compare, and analyze commodity prices, with guidance on whether to sell or hold. Its prices and trends use synthetic demo data and are not suitable for operational decisions.
Key features
- 01Query a commodity price at a specific market
- 02Compare prices across major Kenyan markets
- 03Analyze six-month history and three-month forecasts
- 04Assess selling or holding against storage costs and trends
- 05View a multi-commodity market snapshot
Use cases
- 01Check demo prices for commodities such as maize
- 02Compare agricultural prices across markets
- 03Use trends and storage costs to consider sale timing
MCP support
As an MCP server, it exposes tools for commodity price queries, regional comparisons, trend analysis, sell-or-hold assessment, and market overviews. Data comes from a synthetic seasonal model and should be checked against local market sources.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| market | string | Yes | Market: nairobi, nakuru, eldoret, kisumu, mombasa |
| commodity | string | Yes | Commodity: maize, beans, wheat, potatoes, tomatoes, avocados, tea_bulk, coffee_parchment, sugarcane, onions, kale_sukuma, milk, chicken, eggs |
Details
From the project README📊 soko-mcp — Kenya Commodity Price Intelligence MCP Server
Install: pip install soko-mcp · Use with any MCP client.
A farmer deciding whether to sell or hold needs current prices across multiple markets simultaneously. That comparison exists nowhere as a single queryable source.
Soko = market in Swahili.
A farmer in Nakuru doesn't know that maize prices in Nairobi are 40% higher that week. Traders know. Farmers don't. This information asymmetry is one of the most costly structural disadvantages facing smallholder farmers. soko-mcp closes it.
The Structural Problem
In mature commodity markets, price discovery is instantaneous — futures markets, satellite price tickers, and SMS alerts exist for every major exchange. A grain elevator in Iowa checks live CME prices before making any offer.
In Kenya, most smallholder farmers receive the price the trader offers, with no independent benchmark to compare against. The result: systematic underpricing at harvest, systematic overpricing at planting.
Information asymmetry is a tax on the poor.
Tools
| Tool | What it does |
|---|---|
commodity_price_query | Current price for commodity at a specific market |
regional_price_comparison | Compare prices across all major Kenya markets |
price_trend_analysis | 6-month history + 3-month forecast with seasonal model |
sell_hold_decision | Optimal sell/hold timing given storage costs and price trend |
market_overview | Multi-commodity price snapshot for a market |
Quick Start
pip install soko-mcp # coming soon to PyPI
soko-mcp # starts on stdio
Example Queries for Claude
"What is the current Nairobi maize price?"
"Should I sell my 50 bags of beans now or wait 2 months?"
"Compare potato prices across all Kenya markets"
"Give me a price trend for avocados in Nakuru for the next 3 months"
Research Basis
- EAGC East Africa Regional Market Monitor
- World Bank "Information and Communication Technology and Agricultural Markets" (2016)
- Suri & Jack "Mobile Phones and Agricultural Performance" (2016)
⚠️ DEMO data — synthetic seasonal model. Verify at eagc.org, kalro.org, or local market boards.
© 2026 Gabriel Mahia / AI Kung Fu LLC · MIT License
Part of the East Africa Coordination Stack
This MCP server is part of the Kenya coordination infrastructure.
It connects to africa-coord-bus — the coordination
event bus that routes signals between domains automatically.
When this server detects a threshold condition, the bus notifies:
bima-mcp— parametric insurance evaluationkilimo-mcp— agricultural advisoryafya-mcp— health surveillance activationcounty-mcp— county office alert
pip install africa-coord-bus
All servers: pypi.org/user/gmahia
IP & Collaboration
MIT licensed. Feedback via GitHub Issues only — pull requests are not accepted. Demo data is labeled DEMO and is not suitable for operational decisions. Full policy: docs/architecture/IP_POLICY.md. Security reports: see SECURITY.md.
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.