π soko-mcp β Kenya Commodity Price Intelligence MCP Server
Compatible with claude-sonnet-5 (released 2026-06-30) β Anthropic's most agentic
Sonnet yet. Runs multi-step tool chains end-to-end without stopping short.
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.
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.
| 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 |
pip install soko-mcp # coming soon to PyPI
soko-mcp # starts on stdio
"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"
β οΈ DEMO data β synthetic seasonal model. Verify at eagc.org, kalro.org, or local market boards.
Β© 2026 Gabriel Mahia / AI Kung Fu LLC Β· MIT License
This MCP server is one of 32 tools in 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 alertpip install africa-coord-bus
All servers: pypi.org/user/gmahia
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.
pip install reli-cli && reli list β 33 MCP servers on the official MCP Registry under io.github.gabrielmahiaModel-agnostic by design: closed APIs, open-weight models, and small distilled models are all first-class citizens.
Source-derived launch command. Check the maintainerβs required arguments and credentials before running:
uvx soko-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-gabrielmahia-soko-mcp": {
"command": "uvx",
"args": [
"soko-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the clientβs tool list, then try a read-only example from its documentation.
Claude Desktop setup referencesoko-mcppypiio.github.gabrielmahia/soko-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.