README
🚀 基于Anthropic MCP框架的Daraja接口实现项目
本项目聚焦于提供一个基于Anthropic MCP框架的Daraja接口实现,可与Safaricom的M - Pesa API开展交互。借助调用特定工具或使用提供的提示,用户能够轻松完成各类支付操作,满足多样化的支付需求。
🚀 快速开始
该项目主要功能包括生成访问令牌,同时还有一些待实现的未来功能,如stk_push、查询交易状态等。用户可通过调用特定工具或使用提供的提示来完成各种支付操作。
✨ 主要特性
- 提供基于Anthropic MCP框架的Daraja接口实现,与Safaricom的M - Pesa API交互。
- 具备生成访问令牌功能,支持未来扩展如stk_push、查询交易状态等功能。
- 提供多种支付工具和提示,方便用户完成支付操作。
- 提供文档处理工具和提示,可进行数据处理工作流的创建和管理。
📦 安装指南
文档未提及安装步骤,暂不提供。
💻 使用示例
基础用法
# 生成访问令牌示例
token = get_access_token()
print(f"Generated access token: {token}")
# 使用工作流处理文档示例
workflow_id = "your_workflow_id"
doc_content = "待处理的文档内容"
result = process_document(workflow_id, doc_content)
print(f"Document processing result: {result}")
高级用法
文档未提及高级用法相关代码,暂不提供。
📚 详细文档
工具和提示
支付工具
stk_push
发起M - Pesa STK推送请求,要求客户在手机上授权付款。
输入参数:
amount(int): 需要支付的金额phone_number(int): 客户的电话号码
返回值: JSON格式的M - PESA API响应结果
generate_qr_code
生成用于支付请求的QR码,客户可以扫描该二维码完成付款。
输入参数:
merchant_name(str): 商家名称/ M - Pesa商家名称transaction_reference_no(str): 交易参考号amount(int): 销售/交易总金额transaction_type(Literal["BG", "WA", "PB", "SM", "SB"]): 交易类型credit_party_identifier(str): 付款方标识(移动电话号码、企业电话号码、代理收银机、Paybill、或商家购买商品)
返回值: JSON格式的M - PESA API响应结果,包含二维码数据
支付提示
stk_push_prompt
生成用于发起M - Pesa STK推送付款请求的提示信息。
输入参数:
phone_number(str): 客户的电话号码amount(int): 需要支付的金额purpose(str): 支付目的
返回值: 格式化的STK推送请求提示字符串
generate_qr_code_prompt
生成用于创建M - Pesa QR码付款请求的提示信息。
输入参数:
merchant_name(str): 商家名称amount(int): 需要支付的金额transaction_type(str): 交易类型(BG表示购买商品,WA表示钱包,PB表示Paybill,SM表示发送到个人,SB表示发送到企业)identifier(str): 收款人标识(电话号码、企业号码、代理收银机、Paybill、或商家BuyGoods)reference(str, optional): 交易参考号。如果未提供,默认生成。
返回值: 格式化的QR码生成提示字符串
文档处理工具
create_source
创建一个从数据源到无结构服务器的连接器,用于数据处理。
输入参数:
connector_name(str): 要创建的数据源连接器名称
返回值: 包含名称和ID的源连接器详细信息
create_destination
创建一个从无结构服务器到目标存储位置的连接器。
输入参数:
connector_name(str): 要创建的目的地连接器名称
返回值: 包含名称和ID的目标连接器详细信息
create_workflow
创建一个处理数据从源连接器流向目的连接器的工作流。
输入参数:
workflow_name(str): 工作流的名称source_connector_id(str): 源连接器的唯一标识符destination_connector_id(str): 目标连接器的唯一标识符
返回值: 包含工作流ID和状态(成功或失败)的结果
delete_workflow
删除指定ID的工作流。
输入参数:
workflow_id(str): 要删除的工作流的唯一标识符
返回值: 删除操作的状态信息
文档处理提示
process_document
使用工作流处理文档。
输入参数:
workflow_id(str): 用于处理文档的工作流IDdocument_content(str): 待处理的文档内容
返回值: 包含处理结果的状态信息
返回值格式
所有API调用均返回JSON对象,如下所示:
{
"status": "success", // 状态:成功或失败
"message": "操作完成。", // 操作提示信息
"data": {} // 存储具体数据的字段
}
错误处理
如果发生错误,API将返回包含错误详细信息的状态码和消息。
📄 许可证
本项目采用MIT License协议。
📞 联系方式
- 感谢所有为该项目贡献代码和建议的开发人员。
- 如有任何问题或建议,请联系daraja@anthropic.com
通过该项目,用户可以方便地与Safaricom的M - Pesa服务进行集成,并实现多种支付功能。
Scan to join WeChat group