SuperAPI AI 工具集

mpesa-mcp

mpesa-mcp 是一个面向 M-PESA(Safaricom Daraja API)与 Africa's Talking 的 MCP 服务器,让 AI 智能体能够触发 M-PESA 支付、查询交易状态、发送短信以及为 20 多个非洲电信网络充值话费。它提供 7 个工具,覆盖 STK Push、B2C、余额查询、交易状态、SIM 卡更换检测和 Bill Manager 等能力。该服务器通过 pip 安装,支持 Claude Desktop、Claude Code 等 MCP 兼容运行时,并遵循 NSA MCP 安全指南,对涉及资金流出和消息发送的工具设置了确认与金额上限等安全限制。

访问官网

工具介绍

用途

mpesa-mcp 是一个 MCP(Model Context Protocol)服务器,用于连接 AI 智能体与东非金融科技 API,主要包括 M-PESA(Safaricom Daraja)和 Africa's Talking。它让 AI 智能体能够触发 M-PESA 支付、查询交易状态、发送短信,并在 20 多个非洲电信网络上充值话费。

该项目指出,M-PESA 在非洲的日交易量超过 PayPal,Africa's Talking 通过短信和 USSD 覆盖 20 多个国家的基础手机用户,但两者此前都没有 MCP 服务器。mpesa-mcp 旨在填补这一空白,使 Claude、GPT、Gemini 或任何 MCP 兼容运行时无需自定义集成即可调用这些能力。

主要能力

  • M-PESA(肯尼亚 Safaricom Daraja v3):STK Push、C2B、交易状态查询。
  • 短信与话费:通过 Africa's Talking 覆盖肯尼亚、尼日利亚、加纳、坦桑尼亚、乌干达、卢旺达、南非等 20 多个国家。
  • 工具数量:共 7 个工具,涵盖 STK push、B2C、余额查询、交易状态、SIM 卡更换检测和 Bill Manager 等。
  • 托管 MCP:在 Glama 上提供托管 MCP 服务器。
  • 服务器发现:通过 .well-known/mcp.json 公布能力,符合新兴的 MCP Server Cards 标准,注册表和浏览器无需连接即可索引该服务器的工具。

使用方式

安装与运行:

pip install mpesa-mcp

或直接使用 uvx 运行。启动服务器前需设置环境变量。

沙箱凭据:

  • M-PESA 沙箱:https://developer.safaricom.co.ke — 创建免费应用获取测试凭据。
  • 测试短代码:174379
  • 测试 passkey:bfb279f9aa9bdbcf158e97dd71a467cd2e0c893059b10f78e6b72ada1ed2c919
  • Africa's Talking 沙箱:https://account.africastalking.com — 使用 username=sandbox,任意 API key。

Claude Desktop 用法:将配置添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)。

Claude Code 用法:在运行 claude 前在 shell 中设置环境变量。

示例提示:

  • “Send KES 500 STK Push to +254712345678 for order #1234”
  • “Check if the payment QKL8ABC123 has been received”
  • “Send an SMS to these 50 farmers with today's maize price: [list]”
  • “Top up KES 50 airtime for our field agents: [list of numbers]”

适用场景

  • 现场代理付款分发:向多名现场代理依次触发 STK Push,跟踪每个 checkout_request_id 并轮询确认。
  • 农民警报与话费:向大量农民发送短信并充值话费,覆盖 Safaricom、Airtel 和 Telkom。
  • 支付对账:实时验证 M-PESA 交易是否成功及金额。

安全与限制

  • 安全合规:mpesa-mcp 依据 NSA CSI U/OO/6030316-26(2026 年 5 月)更新,遵循 NSA 人工智能安全中心的 MCP 安全框架,完整合规表见 SECURITY.md。
  • 工具注解:所有工具声明 MCP 工具注解,客户端可在触发支付、短信或话费操作前请求确认。
  • 实时模式限制:在实时模式(MPESA_SANDBOX=false)下,八个资金流出工具(mpesa_b2c、mpesa_business_paybill、mpesa_business_buygoods、mpesa_business_pochi、mpesa_reversal、mpesa_tax_remittance、mpesa_b2b_express_checkout、airtime_send)受到限制:
    • 确认:除非以 confirm_send=true 调用,否则拒绝执行。
    • 上限:超过 MPESA_MAX_AMOUNT_KES(默认 100,000;0 表示无上限)的金额会被拒绝。
    • 退出:MPESA_REQUIRE_CONFIRMATION=false 可移除确认要求,仅应在完全受控的自动化设置中谨慎使用。
  • 沙箱不受限制:客户批准的流程(STK Push、Ratiba、Bill Manager)不变,由客户在手机上批准。
  • 短信上限:MPESA_MAX_SMS_RECIPIENTS 默认 50。
  • 模型提示:服务器不推荐、认证或基准测试任何模型,get_model_hint() 仅为兼容性保留(返回中性指导)。建议使用能可靠遵循工具模式的模型,先在沙箱中演练,并保持人工批准每一次资金流动或消息发送调用。
  • 测试与准确性:MCP 生态基准(CData, 2026)发现多数 MCP 服务器在复杂查询上准确率为 60–75%。mpesa-mcp 针对三种肯尼亚电话号码格式、边界金额值和缺失可选字段进行了测试,写操作(STK push、短信、话费)在调用 API 前有显式验证。
  • 密钥安全:不要提交 API 密钥,使用环境变量或密钥管理器。漏洞报告至 contact@aikungfu.dev。

生态与协议

  • Mojaloop + MCP:Mojaloop(盖茨基金会资助)处理支付互操作性,连接银行、移动钱包和商户;mpesa-mcp 处理 AI 智能体工具层。两者互补。
  • MCP vs A2A:mpesa-mcp 实现 MCP(AI 智能体与工具通信)。A2A(Agent-to-Agent)处理智能体之间的通信。多数集成只需 MCP;构建多智能体系统时 A2A 才相关。

相关基础设施

  • wapimaji-mcp — 肯尼亚水/干旱 MCP
  • civic-agent-kit — 肯尼亚公民数据 MCP
  • swahili-health-mcp — 肯尼亚 DHIS2 健康数据 MCP
  • kenya-legal-rag — 肯尼亚法律语料 MCP

许可与协作

MIT 许可,© 2026 Gabriel Mahia。反馈仅通过 GitHub Issues,不接受 pull request。演示数据标记为 DEMO,不适用于运营决策。