mcpField
M
mcp-safrapay

mcp-safrapay

本地服务
github.com/codespar金融数据2754 周前更新

关于 mcp-safrapay

mcp-safrapay 是 Safra 银行收单服务 Safrapay 的 MCP 服务,覆盖信用卡、Pix、boleto、分账、3DS 与拒付查询等功能。面向中大型巴西商户。该项目为 0.1.0-alpha.1 版本,认证流程和端点尚需沙箱验证。

主要功能

  1. 01信用卡预授权、捕获、撤销与退款
  2. 02Pix 与 boleto 收款创建
  3. 03分账规则配置与结算报告查询
  4. 043DS 认证、卡令牌化与分期模拟
  5. 05拒付详情、周期扣款与支付链接

适用场景

  1. 01为商户后台发起信用卡与 Pix 收款
  2. 02配置分账并获取结算报告对账
  3. 03查询拒付信息与管理周期性订阅

MCP 相关

该服务以 MCP 服务形式向客户端暴露 Safrapay 网关、管理及对账等接口的 22 个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"codespar-mcp-safrapay": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-safrapay"
],
"env": {
"SAFRAPAY_CLIENT_ID": "<SAFRAPAY_CLIENT_ID>",
"SAFRAPAY_CLIENT_SECRET": "<SAFRAPAY_CLIENT_SECRET>",
"SAFRAPAY_MERCHANT_ID": "<SAFRAPAY_MERCHANT_ID>",
"SAFRAPAY_ENV": "<SAFRAPAY_ENV>"
}
}
}
}
启动命令npx -y @codespar/mcp-safrapay
需要配置的环境变量
SAFRAPAY_CLIENT_IDSafrapay merchant CNPJ (sent as merchantCredential header on auth)
SAFRAPAY_CLIENT_SECRET密钥Safrapay MerchantToken used to compute the BCRYPT Authorization header on auth
SAFRAPAY_MERCHANT_IDSafrapay merchant id (used in request bodies where applicable)
SAFRAPAY_ENVEnvironment: 'sandbox' or 'production'. Defaults to sandbox.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@codespar/mcp-safrapay0.2.0-alpha.3

工具

22

收录的工具列表 · 更新于 2 周前

参数类型必填说明
cardobject是卡片数据。建议使用 tokenize_card 生成的 card_token,而非原始 PAN。
card.brandstring否
card.numberstring否PAN;切勿记录日志
card.card_tokenstring否来自 tokenize_card 的令牌
card.holder_namestring否
card.security_codestring否
card.expiration_yearstring否
card.expiration_monthstring否
amountnumber是金额以分为单位
preauthboolean否true = 仅预授权;false = 授权 + 扣款
currencystring否ISO-4217 货币代码(默认 BRL)
customerobject是客户身份信息
customer.namestring是
customer.emailstring否
customer.phonestring否
customer.customer_idstring否
customer.document_typeenum是CPF | CNPJ
customer.document_numberstring是
order_idstring是商户侧订单标识符
installmentsnumber否分期期数(1 = à vista)
soft_descriptorstring否账单描述

详细介绍

@codespar/mcp-safrapay

面向 Safrapay 的 MCP 服务——Banco Safra 的收单机构。专注于巴西中大型商户及私人银行客户,跨足 B2B 银行业务。

Safrapay 的 API 由 Aditum 支付平台提供(文档见 safrapay-docs.aditum.com.br)。网关、门户、对账和 Webhook 产品分别部署在不同的基础域名下。

状态:0.1.0-alpha.1。 此处的端点路径依据 Aditum 托管的 Safrapay 开发者文档(可公开访问)整理。身份验证流程(网关使用 BCRYPT + CNPJ,之后使用 JWT Bearer)是尽力推断的:公开文档未完整说明 BCRYPT 哈希输入格式,很可能需要沙盒账户才能最终确定。在通过真实沙盒商户验证之前,请将所有工具视为脚手架。

工具(22)

工具用途
authorize_payment在 Safrapay 上授权信用卡付款。
capture_payment捕获之前已授权(预授权)的付款。
cancel_payment取消(撤销)已授权但尚未捕获的付款。
refund_payment退还已捕获的付款。
create_pix创建 Pix 收款。
create_boleto创建 boleto 收款。
get_payment根据 Safrapay chargeId 检索收款。
tokenize_card将卡片令牌化,以便安全地重复使用,符合 PCI 要求。
create_split_rule为现有收款配置分账分配规则。
get_statement检索电子账单(extrato)。
list_transactions列出收款,可选添加筛选条件。
delete_card_token撤销已存储的卡片令牌。
search_by_merchant_order根据商户侧订单标识符(创建时提供的 order_id)查找收款。
query_chargeback检索某笔收款的拒付(contestacao)详情:原因代码、收单机构截止日期、争议金额、证据……
query_installments模拟指定金额的分期付款方案。
authenticate_3ds在调用 authorize_payment 前启动 3-D Secure 身份验证。
create_recurrence创建定期计费订阅。
get_recurrence根据 id 检索定期扣款信息:计划、下次扣款日期、扣款历史和状态。
cancel_recurrence取消有效的定期扣款。
get_settlement_report从对账主机检索结算(liquidacao)报告。
create_payment_link创建托管结账付款链接。
register_webhook在 Safrapay Webhook 产品上批量注册订阅。

安装

npm install @codespar/mcp-safrapay@alpha

环境

SAFRAPAY_CLIENT_ID="..."      # Merchant CNPJ (sent as merchantCredential)
SAFRAPAY_CLIENT_SECRET="..."  # MerchantToken (used to compute BCRYPT)
SAFRAPAY_MERCHANT_ID="..."    # Safrapay merchant id (body field where required)
SAFRAPAY_ENV="sandbox"        # 'sandbox' (default) or 'production'

基础 URL

Safrapay 将 API 拆分为四个部署在不同域名下的产品:

产品沙盒生产环境
网关(付款)https://payment-dev.aditum.com.brhttps://payment.aditum.com.br
门户(管理)https://portal-dev.aditum.com.brhttps://portal-api.aditum.com.br
对账https://reconciliation-dev.aditum.com.brhttps://reconciliation-api.aditum.com.br
Webhookhttps://webhook-dev.aditum.com.brhttps://webhook.aditum.com.br

身份验证

网关采用两步引导流程:

  1. 向 POST {gateway}/v2/merchant/auth 发送请求,携带请求头 Authorization: <BCRYPT(CNPJ+MerchantToken)> 和 merchantCredential: <CNPJ>,以换取 JWT 访问令牌。
  2. 后续调用均发送 Authorization: Bearer <jwt>。

服务会在内存中缓存 JWT,直到令牌过期前 60 s。BCRYPT 输入拼接方式是有根据的推测;获得沙盒账户后请进一步确认。

运行

# stdio (default)
npx @codespar/mcp-safrapay

# HTTP
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-safrapay

端点映射(供工具使用)

工具方法路径(除非另有说明,否则位于网关下)
authorize_paymentPOST/v2/charge/authorization 或 /v2/charge/preauthorization
capture_paymentPUT/v2/charge/capture/{chargeId}
cancel_paymentPUT/v2/charge/cancelation/{chargeId}
refund_paymentPUT/v2/charge/cancelation/{chargeId}(部分金额)
create_pixPOST/v2/charge/pix
create_boletoPOST/v2/charge/boleto
get_paymentGET/v2/charge/{chargeId}
tokenize_cardPOST/v2/card(或 /v2/temporary/card)
create_split_rulePUT/v2/charge/split/{chargeId}
get_statementGET/v2/Account/Movement/Extract
list_transactionsGET/v2/charges
register_webhookPOST{webhook}/v1/webhook/bulk

企业版

需要为 Agent 付款设置治理机制、预算限制和审计追踪?CodeSpar Enterprise 在这些 MCP 服务的基础上,增加了策略引擎、付款路由和合规模板。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。