mcp-openpay について
mcp-openpay は、BBVA 傘下のメキシコ決済ゲートウェイ Openpay 向けの MCP サーバーです。メキシコのオンライン加盟店やエージェントを対象とし、カード、SPEI、OXXO などの決済手段を扱います。
主な機能
- 01課金、顧客、カード、返金を扱う 23 のツール
- 02プランによるネイティブなサブスクリプションと定期課金
- 03銀行口座への MXN 送金(ペイアウト)
- 04Webhook の登録、一覧表示、削除
- 05サンドボックスと本番環境の切り替え
活用シーン
- 01メキシコの EC 向けエージェントによる課金と返金の作成
- 02顧客のサブスクリプションと定期課金の管理
- 03銀行口座への MXN ペイアウトの実行
MCP 対応
MCP サーバーとして、Openpay の課金、顧客、サブスクリプション、ペイアウト、Webhook 操作をツールとして MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @codespar/mcp-openpayOPENPAY_MERCHANT_IDOpenpay merchant id (forms part of the API URL path)OPENPAY_PRIVATE_KEYシークレットOpenpay private API key (used as HTTP Basic auth username with empty password)OPENPAY_ENVEnvironment: 'sandbox' (default) or 'production'. Selects between https://sandbox-api.openpay.mx and https://api.openpay.mx.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
23掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| card | object | いいえ | method='card' で source_id を使用しない場合のインラインカードオブジェクト。トークン化されたカードの source_id を渡すこともできます。 |
| amount | number | はい | 主要通貨単位での金額(MXN)。 |
| method | enum | はい | 決済方法:card、bank_account(SPEI)、または store(OXXO)。card | bank_account | store |
| capture | boolean | いいえ | false の場合はオーソリのみ行います — 後で capture_charge を使用してください。デフォルトは true です。 |
| currency | string | いいえ | ISO-4217 通貨コード。デフォルトは MXN です。 |
| customer | object | いいえ | 単発(加盟店スコープ)請求の顧客 ID 情報。customer_id が設定されている場合は不要です。 |
| customer.name | string | いいえ | |
| customer.email | string | いいえ | |
| customer.last_name | string | いいえ | |
| customer.phone_number | string | いいえ | |
| customer.requires_account | boolean | いいえ | true の場合、Openpay は顧客のウォレットアカウントを作成します。 |
| due_date | string | いいえ | store(OXXO)/bank_account(SPEI)の請求における ISO-8601 形式の有効期限。 |
| order_id | string | いいえ | 加盟店側の一意な注文参照 ID。 |
| source_id | string | いいえ | method='card' の場合のカードまたはトークン ID。インラインの 'card' オブジェクトを指定しない限り、カード請求に必須です。 |
| send_email | boolean | いいえ | store(OXXO)の請求では、顧客にバウチャーをメールで送信します。 |
| customer_id | string | いいえ | 任意。保存済みの顧客に請求対象を限定するための Openpay 顧客 ID。 |
| description | string | いいえ | レシートに表示される請求の説明。 |
| redirect_url | string | いいえ | 3DS/リダイレクトフローで、認証後に購入者を戻す URL。 |
| use_3d_secure | boolean | いいえ | カード決済で 3DS を強制します。 |
| device_session_id | string | いいえ | Openpay の不正防止 JS から取得したデバイスセッション ID(本番環境でのカード決済では必須)。 |
詳細
@codespar/mcp-openpay
Openpay 用の MCP サーバーです。BBVA 傘下のメキシコの決済ゲートウェイです。
Openpay は、メキシコのオンライン加盟店にとって、Conekta に対抗する BBVA 支援の主要な決済サービスです。カタログに @codespar/mcp-conekta と並べて追加することで、メキシコの「二大」ゲートウェイをカバーし、エージェントが BBVA の決済ネットワーク(SPEI、OXXO、国内カード)を利用できるようになります。このカタログにおける差別化要素は、ネイティブなサブスクリプション(プランと顧客ごとの定期請求)とマーケットプレイスへの支払いです。
ツール(23)
| ツール | 用途 |
|---|---|
create_charge | 支払いを作成します。 |
get_charge | 支払いを取得します。 |
capture_charge | 以前に承認された支払いをキャプチャします(元の支払いで capture=false が指定されている場合)。 |
refund_charge | キャプチャ済みの支払いを返金します。 |
create_customer | 顧客レコードを作成します。 |
get_customer | Openpay の顧客 ID で顧客を取得します。 |
list_customers | オプションのフィルターを指定して顧客を一覧表示します。 |
create_card | カードをトークン化します。 |
delete_card | トークン化されたカードを削除します。 |
create_plan | サブスクリプションプランを作成します。 |
create_subscription | 顧客をプランに登録します。 |
create_payout | 銀行口座に MXN を支払います。 |
update_customer | 保存済みの顧客を更新します(PUT /customers/{id})。 |
delete_customer | 顧客を削除します(DELETE /customers/{id})。 |
get_card | トークン化されたカードを取得します。 |
list_cards | トークン化されたカードを一覧表示します。 |
create_bank_account | 顧客の銀行口座を保存します(POST /customers/{customer_id}/bankaccounts)。 |
delete_bank_account | 保存済みの顧客の銀行口座を削除します(DELETE /customers/{customer_id}/bankaccounts/{id})。 |
cancel_subscription | 顧客のサブスクリプションを解約します(DELETE /customers/{customer_id}/subscriptions/{id})。 |
list_payouts | 支払いを一覧表示します。 |
create_webhook | Webhook エンドポイントを登録します(POST /webhooks)。 |
list_webhooks | 設定済みの Webhook サブスクリプションを一覧表示します(GET /webhooks)。 |
delete_webhook | Webhook サブスクリプションを削除します(DELETE /webhooks/{id})。 |
インストール
npm install @codespar/mcp-openpay
環境変数
OPENPAY_MERCHANT_ID="..." # merchant id (part of the API URL path)
OPENPAY_PRIVATE_KEY="..." # private API key — secret
OPENPAY_ENV="sandbox" # 'sandbox' (default) | 'production'
認証
HTTP Basic 認証です。秘密鍵をユーザー名として指定し、パスワードは空にします。
Authorization: Basic base64(OPENPAY_PRIVATE_KEY + ":")
Content-Type: application/json
サーバーが Base64 エンコードを自動で処理するため、設定する環境変数は 3 つだけです。
ベース URL
| 環境 | ホスト |
|---|---|
sandbox(デフォルト) | https://sandbox-api.openpay.mx/v1/{merchant_id} |
production | https://api.openpay.mx/v1/{merchant_id} |
実行
# stdio (default — for Claude Desktop, Cursor, etc)
npx @codespar/mcp-openpay
# HTTP (for server-to-server testing)
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-openpay
スコープに関する注意事項
Openpay の複数のリソースは、加盟店スコープまたは顧客スコープのいずれでも指定できます。ツールでは、オプションの customer_id パラメーターを使用してこれを指定します。
create_charge、get_charge、capture_charge、refund_charge—customer_idが設定されている場合は/customers/{customer_id}/...にルーティングされ、設定されていない場合は/...にルーティングされます。create_card、delete_card— 同じ動作です。create_payout— 顧客スコープで支払うには、顧客のrequires_account=trueが必要です。create_subscription— API で顧客スコープが必須です(プランは加盟店スコープですが、サブスクリプションは常に顧客ごとに設定されます)。
PCI の適用範囲
Openpay.js によるクライアント側のトークン化を優先し、生成された token_id / source_id をサーバーに渡してください。生の PAN や CVV をサーバー側に送信するのは、PCI-DSS に準拠している場合に限ってください。
ドキュメント
https://documents.openpay.mx/en/api
エンタープライズ
エージェントによる支払いにガバナンス、予算上限、監査証跡が必要ですか? CodeSpar Enterprise は、これらの MCP サーバーにポリシーエンジン、決済ルーティング、コンプライアンステンプレートを追加します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。