remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Used for storing sensitive M-Pesa API credentials and configuration through environment variables.
Provides containerized deployment option for running the Daraja MCP server.
Required runtime environment for the MCP server and used for direct module execution.
达拉贾 MCP
模型上下文协议 (MCP) 服务器旨在将 AI 应用程序与 Safaricom 的 Daraja API 相集成,实现与 M-Pesa 服务的无缝交互。
⚠️警告:尚未准备好投入生产
该项目目前处于开发阶段,不建议用于生产环境。其设计用途如下:
- 学习和实验
- 开发和测试环境
- 概念验证实施
对于生产用途,请确保:
- 全面的安全测试
- 正确的错误处理
- 全面实施所有计划的功能
- 符合 Safaricom 的生产要求
什么是 MCP 服务器?
MCP(模型上下文协议)服务器为 LLM 提供与外部系统交互的功能。MCP 服务器可以提供三种主要类型的功能:
- 资源:客户端可以读取的类似文件的数据(如 API 响应)
- 工具:可由 LLM 调用的函数(经用户批准)
- 提示:预先编写的模板,帮助用户完成特定任务
Daraja MCP 专门利用这种架构将 AI 系统与 Safaricom 的 Daraja M-Pesa API 连接起来。
概述
Daraja MCP 是连接人工智能、金融科技和 M-Pesa 的桥梁,使人工智能驱动的财务自动化变得便捷高效。通过标准化 LLM(大型语言模型)与金融交易之间的连接,Daraja MCP 使人工智能驱动的应用程序能够轻松处理支付、检索交易数据并实现财务工作流程的自动化。
关键功能
- ✅人工智能驱动的 M-Pesa 交易– 使 LLM 能够处理 B2C、C2B 和 B2B 支付
- ✅标准化集成– MCP 确保与多种 AI 工具兼容
- ✅安全且可扩展– 实现 OAuth 身份验证并支持企业级交易处理
- ✅灵活的自动化——AI 代理可以查询账户余额、生成发票并自动进行对账
要求
- Python 3.12
- Safaricom Daraja API 凭证(消费者密钥和秘密)
安装
步骤 1:设置环境
- 安装 uv 包管理器对于 Mac/Linux:对于 Windows (PowerShell):CopyCopy
- 克隆存储库Copy
- 创建并激活虚拟环境✅ 预期输出:您的终端提示应该发生变化,表明虚拟环境已激活。Copy
- 安装依赖项Copy
第 2 步:设置环境变量
- 复制示例环境文件:Copy
- 使用您的实际凭证和配置值更新
.env
文件。
注意:开发时请使用沙盒环境。准备就绪后,请切换到生产 URL。
用法
使用 Claude Desktop 进行测试
- 安装 Claude Desktop
- 从Claude Desktop下载并安装最新版本
- 确保你运行的是最新版本
- 配置 Claude 桌面
- 打开您的 Claude Desktop 配置文件:Copy
- 如果文件不存在,则创建该文件
- 打开您的 Claude Desktop 配置文件:
- 添加服务器配置选择以下配置之一:
Anthropic 推荐的格式
工作配置(已测试)
笔记:
- 将
/ABSOLUTE/PATH/TO/PARENT
替换为您的实际路径- 要查找
uv
的完整路径,请运行:
- 验证配置
- 保存配置文件
- 重启Claude桌面
- 在界面中寻找锤子🔨图标
- 单击它即可查看可用的工具:
- 生成访问令牌
- stk_push(未来实现)
- query_transaction_status(未来实现)
- b2c_payment(未来实施)
- account_balance(未来实现)
工具和提示
支付工具
stk_push
发起 M-Pesa STK 推送请求,提示客户在其移动设备上授权付款。
输入:
amount
(int):需要支付的金额phone_number
(int):客户的电话号码
返回: JSON 格式的 M-PESA API 响应
生成二维码
为付款请求生成二维码,客户可以扫描该二维码进行付款。
输入:
merchant_name
(str): 公司名称/M-Pesa 商户名称transaction_reference_no
(str): 交易参考编号amount
(int):销售/交易的总金额transaction_type
(Literal["BG", "WA", "PB", "SM", "SB"]): 交易类型credit_party_identifier
(str): 信用方标识符(手机号码、商业号码、代理收银机、付款单或商家购买商品)
**返回:**包含二维码数据的 JSON 格式的 M-PESA API 响应
付款提示
stk_push_prompt
生成启动 M-Pesa STK 推送支付请求的提示。
输入:
phone_number
(str): 客户的电话号码amount
(int):需要支付的金额purpose
(str):付款目的
返回: STK推送请求的格式化提示字符串
生成二维码提示符
生成创建 M-Pesa QR 码付款请求的提示。
输入:
merchant_name
(str): 商家/企业的名称amount
(int):应付金额transaction_type
(str): 交易类型(BG 代表购买商品,WA 代表钱包,PB 代表付款,SM 代表汇款,SB 代表汇至企业)identifier
(str): 收件人标识符(收银机号、付款单、电话号码)reference
(str, 可选): 交易参考编号。若未提供,则使用默认值。
**返回:**二维码生成的格式化提示字符串
文档处理工具
创建源
创建从数据源到非结构化服务器的连接器进行处理。
输入:
connector_name
(str): 要创建的源连接器的名称
**返回:**源连接器详细信息,包括名称和 ID
创建目的地
创建从非结构化服务器到数据存储目的地的连接器。
输入:
connector_name
(str): 要创建的目标连接器的名称
**返回:**目标连接器详细信息,包括名称和 ID
创建工作流
创建一个工作流来处理从源连接器到目标连接器的数据。
输入:
workflow_name
(str): 要创建的工作流的名称source_id
(str): 源连接器的IDdestination_id
(str): 目标连接器的 ID
**返回:**工作流详细信息,包括名称、ID、状态、类型、来源、目的地和时间表
运行工作流
执行工作流程。
输入:
workflow_id
(str): 要运行的工作流的 ID
**返回:**工作流执行状态
获取工作流详细信息
获取有关工作流程的详细信息。
输入:
workflow_id
(str): 要获取详细信息的工作流的 ID
**返回:**工作流详细信息,包括名称、ID 和状态
获取文档
获取工作流执行期间分析的文档。
**输入:**无
**返回:**已分析文档的列表
提示
创建并运行工作流提示
生成提示以创建并运行文档处理工作流。
输入:
user_input
(str): 用户的处理需求
**返回:**工作流创建和执行的格式化提示
例子:
资源
目前,没有可用资源。
执照
致谢
- Safaricom 提供 Daraja API
- 人类学的 MCP 框架
- 项目贡献者
接触
如有任何疑问,请在 GitHub 存储库上打开问题。
This server cannot be installed
模型上下文协议服务器将 AI 应用程序与 Safaricom 的 Daraja API 相集成,通过 M-Pesa 服务实现 AI 驱动的金融交易和自动化。