mpesa mcp
东非金融科技API的MCP服务器——M-Pesa(Safaricom Daraja)和非洲的Talking
让您的AI代理能够触发M-Pesa支付,检查交易状态,发送短信,并在20多个非洲电信网络上充值通话时间。
    

为什么存在
M-Pesa在非洲每天处理的交易比PayPal多。非洲的谈话 通过短信和USSD在20多个国家的基本手机上联系用户。两者都没有MCP服务器。
这意味着今天构建的每个AI代理——Claude、GPT、Gemini或任何与MCP兼容的运行时-- 如果不进行自定义集成工作,则无法触发M-Pesa支付或发送斯瓦希里语短信。
mpesa-mcp 将这一差距缩小到一个 pip install.
工具
| 工具 | 说明 |
|---|---|
mpesa_stk_push | 触发客户M-Pesa手机上的STK推送支付提示 |
mpesa_stk_query | 检查STK推送请求的状态 |
mpesa_transaction_status | 按收据编号查询任何M-Pesa交易 |
sms_send | 通过非洲网络向1-1000名收件人发送短信 |
airtime_send | 向任何用户(KES、NGN、GHS、UGX等)发送通话时间充值 |
覆盖
- M-Pesa: 肯尼亚(Safaricom Daraja v3)——STK推送、C2B、交易状态
- 短信/通话时间: 肯尼亚、尼日利亚、加纳、坦桑尼亚、乌干达、卢旺达、南非等15个国家通过非洲对话
Glama(托管MCP)
mpesa mcp可作为托管mcp服务器在 格拉玛:
 
安装
pip install mpesa-mcp或者直接与 uvx:
uvx mpesa-mcp配置
在启动服务器之前设置这些环境变量:
# M-Pesa (Safaricom Daraja)
MPESA_CONSUMER_KEY=your_consumer_key
MPESA_CONSUMER_SECRET=your_consumer_secret
MPESA_SHORTCODE=174379 # sandbox test shortcode
MPESA_PASSKEY=your_passkey
MPESA_CALLBACK_URL=https://yourdomain.com/mpesa/callback
MPESA_SANDBOX=true # set false for production
# Africa's Talking
AT_USERNAME=sandbox # your AT username (sandbox for testing)
AT_API_KEY=your_at_api_key沙盒凭据
M-Pesa沙盒: https://developer.safaricom.co.ke--创建一个免费应用程序来获取测试凭据。
- 测试短代码:
174379 - 测试密钥:
bfb279f9aa9bdbcf158e97dd71a467cd2e0c893059b10f78e6b72ada1ed2c919
非洲的谈话沙盒: https://account.africastalking.com--使用 username=sandbox,任何API密钥。
使用Claude Desktop
添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"mpesa": {
"command": "uvx",
"args": ["mpesa-mcp"],
"env": {
"MPESA_CONSUMER_KEY": "your_key",
"MPESA_CONSUMER_SECRET": "your_secret",
"MPESA_SHORTCODE": "174379",
"MPESA_PASSKEY": "your_passkey",
"MPESA_CALLBACK_URL": "https://yourdomain.com/mpesa/callback",
"MPESA_SANDBOX": "true",
"AT_USERNAME": "sandbox",
"AT_API_KEY": "your_at_key"
}
}
}
}使用Claude代码
claude mcp add mpesa -- uvx mpesa-mcp运行前在shell中设置env变量 claude.
示例提示
连接后,您可以询问您的AI代理:
“发送KES 500 STK推送至+254712345678进行订单#1234”
“检查是否已收到付款QKL8ABC123”
“给这50位农民发一条短信,告诉他们今天的玉米价格:\[列表\]”
“为我们的现场代理充值KES 50的通话时间:\[号码列表\]”
现实世界场景
现场代理付款调度
“将KES 300 STK Push发送给这12个现场代理中的每一个,以进行今天的数据收集:\[list\]”
代理触发12个连续的STK推送,跟踪每个推送 checkout_request_id,以及 无需您输入任何代码,即可进行确认投票。
农民警报+广播时间
“给这200名加里萨农民发短信,告诉他们河水正在上涨。然后每人加20肯尼亚先令的通话时间,这样他们就可以打电话报告了。”
一个提示→ 200 Safaricom、Airtel和Telkom的短信和200次通话时间充值。
付款对账
“检查收据OKL8M3B2HF是否成功付款,以及付款金额”
对于使用Claude实时验证M-Pesa交易的支持代理非常有用。
工具注释
所有工具声明 MCP工具注释 因此客户端可以适当地屏蔽呼叫:
| 工具 | 只读 | 破坏性 | 幂等 |
|---|---|---|---|
mpesa_stk_push | ❌ | ✅ | ❌ |
mpesa_stk_query | ✅ | ❌ | ✅ |
mpesa_transaction_status | ✅ | ❌ | ✅ |
sms_send | ❌ | ✅ | ❌ |
airtime_send | ❌ | ✅ | ❌ |
Claude Desktop和其他MCP客户端将在触发支付、短信或通话时间操作之前请求确认。
服务器发现
通过以下方式宣传功能 .well-known/mcp.json --新兴的MCP服务器卡标准。注册表和浏览器可以在不连接到该服务器的情况下对此服务器的工具进行索引。
# Check capabilities
curl https://raw.githubusercontent.com/gabrielmahia/mpesa-mcp/main/.well-known/mcp.json测试和准确性
MCP生态系统基准测试(CData,2026)发现,大多数MCP服务器在复杂查询上的准确率为60-75%,特别是在写操作和部分参数应用方面的无声故障。
mpesa mcp针对所有三种肯尼亚电话号码格式、边界金额值和缺失的可选字段进行了测试:
pytest tests/ -v # run full suite
pytest tests/test_phone_formats.py # format normalization
pytest tests/test_boundary_amounts.py # min/max amount edge cases写操作(STK推送、SMS、广播时间)在进行任何API调用之前都要进行显式验证。
生态系统背景——Mojaloop+MCP
Mojaloop 的 (由盖茨基金会资助)处理付款 *互操作性* --连接东非及其他地区DFSP的银行、移动钱包和商家。
mpesa mcp 处理 *AI代理工具层* --使AI编码助手能够以编程方式触发和查询M-Pesa支付。
这些是互补的:
- Mojaloop:金融提供商之间的互操作性轨道
- mpesa mcp:将AI代理连接到这些轨道的mcp接口层
请参阅 Mojaloop文档贡献 有关此模式的更多信息。
MCP与A2A——两种不同的协议
mpesa mcp实施 主控程序 (模型上下文协议)——人工智能代理如何与工具对话。
有一个补充协议, A2A (代理到代理),处理代理的方式 和...交谈 *彼此*.他们解决不同的问题并共同努力:
- 主控程序:您的AI代理→ mpesa mcp→ Daraja API/非洲对话
- A2A:编排器代理↔ 付款分代理人↔ 通知子代理
对于大多数集成,您只需要MCP。A2A在您构建时变得重要 支付工作流与其他专业代理协调的多代理系统。
______________________________________________________________________
发展
git clone https://github.com/gabrielmahia/mpesa-mcp
cd mpesa-mcp
pip install -e ".[dev]"
pytest tests/ -v安全
不要提交API密钥。使用环境变量或机密管理器。\ 向以下人员报告漏洞:contact@aikungfu.dev
许可证
麻省理工学院 --©2026加布里埃尔·马希亚
保持更新
获取有关新版本和东非API开发的通知: 订阅更新→
或者在GitHub上查看此仓库以获取发布通知。
兄弟姐妹套餐
相关套餐
全部麻省理工学院·全部东非公民人工智能堆栈的一部分
| 软件包 | 安装 | 说明 |
|---|---|---|
| 测量器-mcp | pip install wapimaji-mcp | 肯尼亚干旱情报MCP服务器 |
| 肯尼亚卫生部 | pip install kenya-health-mcp | 肯尼亚健康数据MCP----国家健康基金、设施、产妇、权利 |
| 公民代理人工具包 | pip install civic-agent-kit | 东非公民AI SDK |
完整投资组合:
