Africa Payments MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add africa-payments-mcp -- docker pull kenyaclaw/africa-payments-mcp:latest
README.md

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
Claude Demo Cursor Demo

πŸ’‘ 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 language
request_fundsRequest funds from a customer
check_transactionCheck the status of a payment transaction
process_refundProcess a refund for a specific order

Environment Variables

MPESA_CONSUMER_KEYAPI key for M-Pesa integration
MPESA_CONSUMER_SECRETAPI secret for M-Pesa integration
PAYSTACK_SECRET_KEYSecret key for Paystack integration

Configuration

claude_desktop_config.json
{"mcpServers": {"africa-payments": {"command": "africa-payments-mcp", "env": {"MPESA_CONSUMER_KEY": "your_key", "PAYSTACK_SECRET_KEY": "your_key"}}}}

Try it

β†’Send KES 5,000 to 254712345678 via M-Pesa
β†’Request $100 from a customer in Nigeria using Paystack
β†’Check if that MTN MoMo payment for order #12345 came through
β†’Process a refund for order #12345

Frequently Asked Questions

What are the key features of Africa Payments MCP?

Unified interface for M-Pesa, Paystack, and MTN MoMo. Natural language payment processing and fund requests. Cross-provider transaction status checking. Automated refund processing. AI-native design for integration with LLM agents.

What can I use Africa Payments MCP for?

Rapidly integrating multiple African payment gateways into a single application. Enabling AI agents to handle customer billing and payment inquiries. Standardizing payment workflows across fragmented API architectures. Reducing development time for fintech applications targeting African markets.

How do I install Africa Payments MCP?

Install Africa Payments MCP by running: curl -fsSL https://raw.githubusercontent.com/kenyaclaw/africa-payments-mcp/main/scripts/install.sh | bash

What MCP clients work with Africa Payments MCP?

Africa Payments MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Africa Payments MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare