Token导航 LogoToken导航TokenDH.com
Daraja MCP logo
金融服务stdio官方级别未说明来源级核验

Daraja MCP

MCP Server

Daraja MCP是一个连接AI应用与Safaricom的Daraja API的协议服务器,实现AI驱动的M-Pesa支付处理和金融自动化。

工具数

12

提示词数

0

GitHub Stars

14

资源数

0
金融科技PythonClaude支付处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jameskanyiri

提供方

jameskanyiri

最后核验

2026/5/17 20:56

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP 级别

🚨 重要通知:存储库已移动 此项目已移动到新存储库。如果您希望贡献或访问最新版本,请访问:

模型上下文协议(MCP)服务器,旨在将人工智能应用程序与Safaricom的Daraja API集成,实现与M-Pesa服务的无缝交互。

⚠️ 警告:未准备好生产 该项目目前正在开发中,不建议用于生产。它的设计目的是: - 学习和实验 - 开发和测试环境 - 概念验证实施 对于生产使用,请确保: - 全面的安全测试 - 正确的错误处理 - 完成所有计划功能的实施 - 符合Safaricom的生产要求

什么是MCP服务器?

MCP(模型上下文协议)服务器为LLM提供了与外部系统交互的能力。MCP服务器可以提供三种主要功能:

  • 资源:可以由客户端读取的类文件数据(如API响应)
  • 工具:LLM可以调用的函数(经用户批准)
  • 提示:帮助用户完成特定任务的预先编写的模板

Daraja MCP专门利用该架构将人工智能系统与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:

   curl -LsSf https://astral.sh/uv/install.sh | sh

对于Windows(PowerShell):

   powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  1. 克隆存储库
   git clone https://github.com/jameskanyiri/DarajaMCP.git
   cd DarajaMCP
  1. 创建和激活虚拟环境
   uv venv
   source .venv/bin/activate  # On Windows: .venv\Scripts\activate

✅ 预期输出:您的终端提示应更改,表示虚拟环境已激活。

  1. 再进行
   uv sync

步骤2:设置环境变量

  1. 复制示例环境文件:
   cp .env.example .env
  1. 更新 .env 文件中包含您的实际凭据和配置值。
注意:对于开发,请使用沙盒环境。准备就绪后切换到生产URL。

用法

使用Claude Desktop进行测试

  1. 安装克劳德桌面

- 从下载并安装最新版本 克劳德桌面 - 确保您运行的是最新版本

  1. 配置Claude桌面

- 打开您的Claude Desktop配置文件:

     # On MacOS/Linux
     code ~/Library/Application\ Support/Claude/claude_desktop_config.json

     # On Windows
     code %APPDATA%\Claude\claude_desktop_config.json

- 如果文件不存在,则创建该文件

  1. 添加服务器配置

选择以下配置之一:

#### Anthropic推荐格式

   {
     "mcpServers": {
       "daraja": {
         "command": "uv",
         "args": [
           "--directory",
           "/ABSOLUTE/PATH/TO/PARENT/FOLDER/DarajaMCP",
           "run",
           "main.py"
         ]
       }
     }
   }

#### 工作配置(已测试)

   {
     "mcpServers": {
       "DarajaMCP": {
         "command": "/ABSOLUTE/PATH/TO/PARENT/.local/bin/uv",
         "args": [
           "--directory",
           "/ABSOLUTE/PATH/TO/PARENT/FOLDER/DarajaMCP",
           "run",
           "main.py"
         ]
       }
     }
   }

> 注: > > - 替换 /ABSOLUTE/PATH/TO/PARENT 与你的实际路径 > - 找到完整的路径 uv,运行:

   # On MacOS/Linux
   which uv

   # On Windows
   where uv
  1. 验证配置

- 保存配置文件 - 重新启动克劳德桌面 - 寻找锤子🔨 界面中的图标 - 单击它查看可用工具: - generate_access_token - stk_push(未来实现) - query_transaction_status(未来实现) - b2c_支付(未来实施) - account_balance(未来实施)

工具和提示

支付工具

stk_push

发起M-Pesa STK推送请求,提示客户在其移动设备上授权付款。

输入:

  • amount (int):应支付的金额
  • phone_number (int):客户的电话号码

退货: JSON格式的M-PESA API响应

generate_qr_code

为付款请求生成二维码,客户可以扫描二维码进行付款。

输入:

  • merchant_name (str):公司名称/M-Pesa商户名称
  • transaction_reference_no (str):交易参考号
  • amount (int):销售/交易的总金额
  • transaction_type (字面意思\[“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推送请求的格式化提示字符串

generate_qr_code_prompt

生成创建M-Pesa二维码支付请求的提示。

输入:

  • merchant_name (str):商家/企业名称
  • amount (int):待支付金额
  • transaction_type (str):交易类型(BG代表购买商品,WA代表钱包,PB代表付款单,SM代表汇款,SB代表汇款业务)
  • identifier (str):收件人标识符(收款号码、付款单、电话号码)
  • reference (str,可选):交易参考号。如果没有提供,将使用默认值。

退货: 用于生成二维码的格式化提示字符串

文档处理工具

create_source

创建从数据源到非结构化服务器的连接器以进行处理。

输入:

  • connector_name (str):要创建的源连接器的名称

退货: 源连接器详细信息,包括名称和ID

create_destination

创建从非结构化服务器到数据存储目标的连接器。

输入:

  • connector_name (str):要创建的目标连接器的名称

退货: 目标连接器详细信息,包括名称和ID

创建工作流

创建工作流以处理从源连接器到目标连接器的数据。

输入:

  • workflow_name (str):要创建的工作流的名称
  • source_id (str):源连接器的ID
  • destination_id (str):目标连接器的ID

退货: 工作流详细信息,包括名称、ID、状态、类型、来源、目的地和计划

运行工作流

执行工作流。

输入:

  • workflow_id (str):要运行的工作流的ID

退货: 工作流执行状态

get_workflow_details

获取有关工作流的详细信息。

输入:

  • workflow_id (str):获取详细信息的工作流ID

退货: 工作流详细信息,包括名称、ID和状态

fetch_documents

获取工作流执行过程中分析的文档。

输入:

退货: 分析文件清单

提示

create_and_run_workflow_prompt

生成一个提示,以创建和运行文档处理的工作流。

输入:

  • user_input (str):用户的处理要求

退货: 工作流创建和执行的格式化提示

例子:

# Example usage
prompt = await create_and_run_workflow_prompt(
    user_input="Process all PDF invoices from the invoices folder and store them in the processed folder"
)
# Returns: "The user wants to achieve Process all PDF invoices from the invoices folder and store them in the processed folder. Assist them by creating a source connector and a destination connector, then setting up the workflow and executing it."

资源

目前,没有可用的资源。

许可证

MIT许可证

致谢

  • Safaricom提供Daraja API
  • MCP框架的拟人化
  • 项目贡献者

联系

如有任何疑问,请在GitHub存储库上打开一个问题。

目录标签

目录标签

金融科技PythonClaude支付处理本地部署AI集成移动支付API服务

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauthremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP