Skip to main content
Glama

Daraja MCP

by jameskanyiri

达拉贾 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:设置环境

  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"
  2. 克隆存储库
    git clone https://github.com/jameskanyiri/DarajaMCP.git cd DarajaMCP
  3. 创建并激活虚拟环境
    uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
    ✅ 预期输出:您的终端提示应该发生变化,表明虚拟环境已激活。
  4. 安装依赖项
    uv sync

第 2 步:设置环境变量

  1. 复制示例环境文件:
    cp .env.example .env
  2. 使用您的实际凭证和配置值更新.env文件。

注意:开发时请使用沙盒环境。准备就绪后,请切换到生产 URL。

用法

使用 Claude Desktop 进行测试

  1. 安装 Claude Desktop
    • Claude Desktop下载并安装最新版本
    • 确保你运行的是最新版本
  2. 配置 Claude 桌面
    • 打开您的 Claude Desktop 配置文件:
      # On MacOS/Linux code ~/Library/Application\ Support/Claude/claude_desktop_config.json # On Windows code %APPDATA%\Claude\claude_desktop_config.json
    • 如果文件不存在,则创建该文件
  3. 添加服务器配置选择以下配置之一:
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. 验证配置
    • 保存配置文件
    • 重启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): 源连接器的ID
  • destination_id (str): 目标连接器的 ID

**返回:**工作流详细信息,包括名称、ID、状态、类型、来源、目的地和时间表

运行工作流

执行工作流程。

输入:

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

**返回:**工作流执行状态

获取工作流详细信息

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

输入:

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

**返回:**工作流详细信息,包括名称、ID 和状态

获取文档

获取工作流执行期间分析的文档。

**输入:**

**返回:**已分析文档的列表

提示

创建并运行工作流提示

生成提示以创建并运行文档处理工作流。

输入:

  • 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 存储库上打开问题。

-
security - not tested
F
license - not found
-
quality - not tested

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.

模型上下文协议服务器将 AI 应用程序与 Safaricom 的 Daraja API 相集成,通过 M-Pesa 服务实现 AI 驱动的金融交易和自动化。

  1. 什么是 MCP 服务器?
    1. 概述
      1. 关键功能
    2. 要求
      1. 安装
        1. 步骤 1:设置环境
        2. 第 2 步:设置环境变量
      2. 用法
        1. 使用 Claude Desktop 进行测试
      3. 工具和提示
        1. 支付工具
        2. 付款提示
        3. 文档处理工具
        4. 提示
        5. 资源
      4. 执照
        1. 致谢
          1. 接触

            Related MCP Servers

            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that enables AI assistants to interact with the Deriv trading API, providing access to active trading symbols and account balance information.
              Last updated -
              2
              Python
              • Apple
            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that allows AI assistants to query and analyze financial data through Ledger CLI, enabling tasks like financial reporting, budget analysis, and accounting.
              Last updated -
              9
              15
              Python
              • Apple
              • Linux
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that enables AI assistants to access Flow blockchain data and perform operations such as checking balances, resolving domains, executing scripts, and submitting transactions.
              Last updated -
              JavaScript
              • Linux
              • Apple
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol server that connects AI assistants like Claude to Moneybird accounting software, enabling management of contacts, financial data, products, and business operations through natural language.
              Last updated -
              1
              JavaScript
              MIT License
              • Apple

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/jameskanyiri/DarajaMCP'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server