mcp-safrapay について
mcp-safrapay は Banco Safra の収単サービス Safrapay を扱う MCP サーバーで、クレジットカード、PIX、ボレト、分割決済、チャージバック照会に対応しています。中規模から大規模のブラジル加盟店を想定しています。バージョンは 0.1.0-alpha.1 で、認証フローとエンドポイントはサンドボックスでの検証が必要です。
主な機能
- 01クレジットカードの事前承認、売上確定、取消、返金
- 02PIX とボレトの決済作成
- 03分割ルールの設定と決済レポートの取得
- 043-D Secure 認証、カードのトークン化、分割払いのシミュレーション
- 05チャージバックの詳細、定期課金、決済リンク
活用シーン
- 01加盟店の管理画面からクレジットカードと PIX の決済を受け付ける
- 02分割ルールの設定と照合用の決済レポートの取得
- 03チャージバックの詳細確認と定期購読の管理
MCP 対応
本サーバーは Safrapay のゲートウェイ、ポータル、照合 API を包む 22 のツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @codespar/mcp-safrapaySAFRAPAY_CLIENT_IDSafrapay merchant CNPJ (sent as merchantCredential header on auth)SAFRAPAY_CLIENT_SECRETシークレットSafrapay MerchantToken used to compute the BCRYPT Authorization header on authSAFRAPAY_MERCHANT_IDSafrapay merchant id (used in request bodies where applicable)SAFRAPAY_ENVEnvironment: 'sandbox' or 'production'. Defaults to sandbox.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
22掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| card | object | はい | カードデータ。生の PAN より、tokenize_card で生成した card_token を推奨します。 |
| card.brand | string | いいえ | |
| card.number | string | いいえ | PAN。ログに記録しないでください |
| card.card_token | string | いいえ | tokenize_card のトークン |
| card.holder_name | string | いいえ | |
| card.security_code | string | いいえ | |
| card.expiration_year | string | いいえ | |
| card.expiration_month | string | いいえ | |
| amount | number | はい | 金額はセント単位です |
| preauth | boolean | いいえ | true = 仮売上のみ;false = 承認 + 売上確定 |
| currency | string | いいえ | ISO-4217 通貨コード(デフォルトは BRL) |
| customer | object | はい | 顧客の識別情報 |
| customer.name | string | はい | |
| customer.email | string | いいえ | |
| customer.phone | string | いいえ | |
| customer.customer_id | string | いいえ | |
| customer.document_type | enum | はい | CPF | CNPJ |
| customer.document_number | string | はい | |
| order_id | string | はい | 加盟店側の注文識別子 |
| installments | number | いいえ | 分割回数(1 = à vista) |
| soft_descriptor | string | いいえ | 利用明細の表示名 |
詳細
@codespar/mcp-safrapay
Banco Safra のアクワイアラーである Safrapay 向けの MCP サーバーです。中規模から大規模のブラジル企業やプライベートバンキングの顧客に重点を置いた、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 プロダクトに 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 は、別々のドメインでホストされる4つのプロダクトに分かれています。
| プロダクト | サンドボックス | 本番環境 |
|---|---|---|
| ゲートウェイ(決済) | https://payment-dev.aditum.com.br | https://payment.aditum.com.br |
| ポータル(管理) | https://portal-dev.aditum.com.br | https://portal-api.aditum.com.br |
| 照合 | https://reconciliation-dev.aditum.com.br | https://reconciliation-api.aditum.com.br |
| Webhook | https://webhook-dev.aditum.com.br | https://webhook.aditum.com.br |
認証
ゲートウェイでは、次の2段階の初期認証を行います。
- ヘッダー
Authorization: <BCRYPT(CNPJ+MerchantToken)>とmerchantCredential: <CNPJ>を付けてPOST {gateway}/v2/merchant/authを呼び出し、JWT アクセストークンと交換します。 - 以降のリクエストでは
Authorization: Bearer <jwt>を送信します。
サーバーは JWT を有効期限の60秒前までメモリにキャッシュします。BCRYPT 入力値の連結方法は、入手可能な情報に基づく推測です。サンドボックスアカウントを入手したら、改良してください。
実行
# stdio (default)
npx @codespar/mcp-safrapay
# HTTP
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-safrapay
エンドポイント一覧(ツールで使用)
| ツール | メソッド | パス(特記がない限り、ゲートウェイ配下) |
|---|---|---|
authorize_payment | POST | /v2/charge/authorization または /v2/charge/preauthorization |
capture_payment | PUT | /v2/charge/capture/{chargeId} |
cancel_payment | PUT | /v2/charge/cancelation/{chargeId} |
refund_payment | PUT | /v2/charge/cancelation/{chargeId}(一部金額) |
create_pix | POST | /v2/charge/pix |
create_boleto | POST | /v2/charge/boleto |
get_payment | GET | /v2/charge/{chargeId} |
tokenize_card | POST | /v2/card(または /v2/temporary/card) |
create_split_rule | PUT | /v2/charge/split/{chargeId} |
get_statement | GET | /v2/Account/Movement/Extract |
list_transactions | GET | /v2/charges |
register_webhook | POST | {webhook}/v1/webhook/bulk |
エンタープライズ
エージェントによる決済にガバナンス、予算上限、監査証跡が必要ですか?CodeSpar Enterprise は、これらの MCP サーバーにポリシーエンジン、決済ルーティング、コンプライアンステンプレートを追加します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。