One MCP server. Every major African payment provider.
π Africa Payments MCP
The missing piece for African fintech. One MCP server. Every major African payment provider. Natural language payments.
β¨ What if accepting payments was as easy as sending a message?
# "Send KES 5,000 to Mary via M-Pesa"
# "Request $100 from a customer in Nigeria"
# "Check if that MTN MoMo payment came through"
# "Process a refund for order #12345"
No more wrestling with 5 different APIs. No more juggling documentation.
Just natural language that works across M-Pesa, Paystack, MTN MoMo, and more.
See it in action with Claude, ChatGPT, Cursor, and any MCP client
π¬ See It In Action
| Demo with Claude | Demo with Cursor |
|---|---|
![]() |
![]() |
π‘ Why Africa Payments MCP?
The Problem π€
Africa has the world's most innovative payment systemsβM-Pesa, Paystack, Flutterwave, MTN MoMo, Chipper Cashβbut integrating them is a nightmare:
- π Fragmented APIs: M-Pesa uses SOAP. Paystack uses REST. MTN MoMo uses something entirely different.
- π Scattered Documentation: Hours spent hunting for the right docs
- π§ Different Auth Methods: API keys, OAuth, basic authβeach one unique
- π Edge Cases Everywhere: Each provider has quirks that break your code
- β±οΈ Weeks of Integration Time: Before you process a single payment
The Solution π―
One MCP server. Every provider. Natural language.
// Instead of this...
const mpesa = new MpesaAPI({ consumerKey, consumerSecret, passkey });
await mpesa.authenticate();
const result = await mpesa.stkPush({ phone, amount, accountRef });
// Just say this:
"Send KES 5,000 to 254712345678 via M-Pesa"
The Impact π
- β‘ Ship in hours, not weeks β Your first payment working today
- π§ AI-native from day one β Built for the era of AI agents
- π Truly Pan-African β One integration covers the continent
- π Open Source β MIT licensed, community-driven
- π οΈ Developer-First β Built by Africans who understand the pain
π Quick Start
One-Line Installer (Recommended)
curl -fsSL https://raw.githubusercontent.com/kenyaclaw/africa-payments-mcp/main/scripts/install.sh | bash
Or with wget:
wget -qO- https://raw.githubusercontent.com/kenyaclaw/africa-payments-mcp/main/scripts/install.sh | bash
Manual Installation
1. Install
npm install -g @kenyaclaw/africa-payments-mcp
2. Configure
Interactive wizard (recommended):
africa-payments-mcp init
# Beautiful interactive setup with emoji and progress indicators
Auto-detect existing credentials:
africa-payments-mcp detect --output config.json
# Automatically finds MPESA_*, PAYSTACK_* env vars and config files
3. Connect to Your AI
Add to your MCP client configuration:
{
"mcpServers": {
"africa-payments": {
"command": "africa-payments-mcp",
"env": {
"MPESA_CONSUMER_KEY": "your_key",
"PAYSTACK_SECRET_KEY": "your_key"
}
}
}
}
4. Start Accepting Payments
Open Claude, ChatGPT, Cursor, or any MCP client and just ask:
"Send KES 5,000 to Mary via M-Pesa"
π³ Docker Quick Start
Run with Docker (no Node.js installation required):
# Pull the latest image
docker pull kenyaclaw/africa-payments-mcp:latest
# Run with a config file
docker run -v $(pwd)/config.json:/app/config/config.json \
kenyaclaw/africa-payments-mcp:latest
# Or run with environment variables
docker run -e MPESA_CONSUMER_KEY=xxx \
-e MPESA_CONSUMER_SECRET=xxx \
-e PAYSTACK_SECRET_KEY=xxx \
kenyaclaw/africa-payments-mcp:latest
Docker Compose
version: '3.8'
services:
africa-payments:
image: keny
Tools (4)
process_paymentProcess a payment transaction across supported providers using natural languagerequest_fundsRequest funds from a customercheck_transactionCheck the status of a payment transactionprocess_refundProcess a refund for a specific orderEnvironment Variables
MPESA_CONSUMER_KEYAPI key for M-Pesa integrationMPESA_CONSUMER_SECRETAPI secret for M-Pesa integrationPAYSTACK_SECRET_KEYSecret key for Paystack integrationConfiguration
{"mcpServers": {"africa-payments": {"command": "africa-payments-mcp", "env": {"MPESA_CONSUMER_KEY": "your_key", "PAYSTACK_SECRET_KEY": "your_key"}}}}
