mcpField
X
Xendit Mcp

Xendit Mcp

ローカル
github.com/mrslbt金融データ416 週間前に更新

Xendit Mcp について

Xendit Mcpは、残高、請求書、取引、振込などのXendit決済APIをAIエージェントに提供します。読み取り専用が初期設定で、段階的な確認と安全制限により資金移動を制御します。

主な機能

  1. 01残高・請求書・取引の照会
  2. 02有効化時の請求書作成と失効
  3. 03振込の準備と確認
  4. 04金額上限と口座許可リストの設定
  5. 05ワークスペースモードの設定案内

活用シーン

  1. 01残高や未払い請求書の確認
  2. 02顧客向け決済リンクの作成
  3. 03承認後の振込処理

MCP 対応

MCPクライアントにXenditのツール、プロンプト、リソースを公開します。請求書の書き込みと資金移動は初期状態で無効で、振込には設定と承認コードが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"xendit": {
"command": "npx",
"args": [
"-y",
"xendit-mcp"
]
}
}
}
起動コマンドnpx -y xendit-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmxendit-mcp0.3.0

ツール

6

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

xendit-mcp

npm version npm downloads MCP Badge xendit-mcp MCP server License: MIT

Xendit 決済 API 用の Model Context Protocol サーバーです。インドネシア、フィリピン、タイ、ベトナム、マレーシアで、請求書による決済リンク、送金/支払い、残高、取引に対応しています。

インストール

npm install -g xendit-mcp

または、npx xendit-mcp を使って必要なときに実行できます。

0.1.x からのアップグレード

0.2.0 では、デフォルトの動作に互換性のない変更が導入されています。 0.1.x を使用していて、請求書の作成や一回限りの送金がすぐに使えることを前提としていた場合、これらのツールはデフォルトで無効になっています。

以前の動作に戻すには、MCP 設定の env に次の項目を設定します。

XENDIT_ENABLE_INVOICE_MUTATIONS=true
XENDIT_ENABLE_DISBURSEMENTS=true
XENDIT_ENABLE_LEGACY_ONE_SHOT_DISBURSEMENT=true

送金を有効にする場合は、4 つの安全ゲート(XENDIT_MAX_DISBURSEMENT_AMOUNT、XENDIT_MAX_DAILY_AMOUNT、XENDIT_ALLOWED_ACCOUNTS、XENDIT_APPROVAL_CODE)も設定する必要があります。設定しないと、サーバーは起動を拒否します。

推奨する移行方法は、以前の一回限りの送金を再度有効にするのではなく、新しい 2 段階の送金フロー(prepare_disbursement → 承認コードを使った confirm_disbursement)を採用することです。詳しくは安全性を参照してください。

ユーザー向けのモード

製品の利用方法を 3 つのモードで考えてください。

  • read-only:残高、請求書の読み取り、取引の読み取り
  • invoices:読み取り専用に create_invoice と expire_invoice を追加
  • guarded-payouts:請求書モードに prepare_disbursement と confirm_disbursement を追加

技術に詳しくないユーザーにとって、使いやすいヘルパーは次のとおりです。

npx xendit-mcp doctor
npx xendit-mcp setup
  • doctor は現在のモード、有効な機能、まだブロックされている機能を表示します。
  • setup は、希望するモードに合わせて Claude Code または Claude Desktop 用の設定スニペットを生成します。

設定

  1. Xendit Dashboard に登録します。
  2. Settings → API Keys に移動し、キーを生成します。
  3. 開発にはテストキー(xnd_development_...)、本番環境にはライブキーを使用します。
変数必須説明
XENDIT_API_KEYはいテストまたはライブの API キー
XENDIT_ENABLE_INVOICE_MUTATIONSいいえtrue に設定すると、create_invoice、expire_invoice、create_payment_link プロンプトが有効になります。より安全な読み取り専用の動作にするため、デフォルトでは無効です。
XENDIT_ENABLE_DISBURSEMENTSいいえtrue に設定すると、送金ツール(金銭の移動)が有効になります。デフォルトでは無効です。
XENDIT_ALLOW_LIVEいいえtrue に設定すると、ライブ/本番用キー(プレフィックス xnd_production_、iluma_production_、sk_live_)が使用可能になります。デフォルトでは拒否されます。
XENDIT_MAX_DISBURSEMENT_AMOUNTいいえ1 回の送金呼び出しに対する上限です。0 に設定するか省略すると、無効になります。
XENDIT_MAX_DAILY_AMOUNTいいえ送金呼び出し全体に対する、直近 24 時間の上限です。0 に設定するか省略すると、無効になります。
XENDIT_ALLOWED_ACCOUNTSいいえCHANNEL_CODE:ACCOUNT_NUMBER 形式のカンマ区切りの許可リストです。例:ID_BCA:1234567890。
XENDIT_PREPARE_TTL_SECONDSいいえ準備済み送金トークンの有効期間です。デフォルトは 300、最大値は 86400 です。
XENDIT_APPROVAL_CODEいいえXENDIT_ENABLE_DISBURSEMENTS=true の場合に必須です。confirm_disbursement と従来の一回限りの送金に必要な、人による承認コードです。信頼できないプロンプトのコンテキストに含めないでください。
XENDIT_ENABLE_LEGACY_ONE_SHOT_DISBURSEMENTいいえ以前の一回限りの create_disbursement ツールを意図的に使う場合にのみ、true に設定します。デフォルトでは無効です。
ガイド付きセットアップ

環境変数を手動で編集したくない場合は、次を実行してください。

npx xendit-mcp setup

使用しているクライアントと希望するモードを尋ねた後、シークレットのプレースホルダーを含む、すぐに貼り付けられる Claude 設定スニペットを出力します。

Claude で MCP がすでに接続されている場合は、Claude に次の使用を依頼することもできます。

  • get_workspace_mode
  • guided_setup

guided_setup は、利用可能な場合、Claude Code で MCP のエリシテーションを使用するため、ユーザーには生の設定詳細ではなくフォームが表示されます。

Claude Desktop

claude_desktop_config.json を編集します。

{
  "mcpServers": {
    "xendit": {
      "command": "npx",
      "args": ["-y", "xendit-mcp"],
      "env": {
        "XENDIT_API_KEY": "your-api-key"
      }
    }
  }
}
Claude Code
claude mcp add xendit --env XENDIT_API_KEY=your-api-key -- npx -y xendit-mcp
Cursor

Claude Desktop と同じ形式で ~/.cursor/mcp.json に追加します。

ツール

ツール説明
get_workspace_mode有効な Xendit モード、有効になっている機能、さらに機能を有効にするための最も安全な次の手順を説明します。
guided_setupread-only、invoices、または guarded-payouts 用の Claude Code または Claude Desktop の設定スニペットを生成します。
get_balance種類(CASH、HOLDING、TAX)別のアカウント残高を取得します。
list_invoicesステータス、日付範囲、または通貨で絞り込んだ請求書を一覧表示します。
get_invoice単一の請求書を取得します。
create_invoice支払い用の請求書を作成し、支払いリンクを返します。XENDIT_ENABLE_INVOICE_MUTATIONS=true が設定されていない場合は無効です。
expire_invoice有効な請求書を失効させます。XENDIT_ENABLE_INVOICE_MUTATIONS=true が設定されていない場合は無効です。
list_transactions支払い、支払い実行、返金、送金、残高調整を一覧表示します。
prepare_disbursement出金呼び出しを準備し、有効期間の短い確認トークンを返します。XENDIT_ENABLE_DISBURSEMENTS=true が設定されていない場合は無効です。
confirm_disbursement事前に準備された出金トークンを実行します。approvalCode が必要です。XENDIT_ENABLE_DISBURSEMENTS=true が設定されていない場合は無効です。
cancel_disbursement準備済みの出金トークンをキャンセルします。XENDIT_ENABLE_DISBURSEMENTS=true が設定されていない場合は無効です。
create_disbursement従来の一括支払い実行/出金です。approvalCode と、明示的な従来方式のオプトインが必要です。XENDIT_ENABLE_DISBURSEMENTS=true と XENDIT_ENABLE_LEGACY_ONE_SHOT_DISBURSEMENT=true の両方が設定されていない場合は無効です。
get_disbursement支払い実行/出金のステータスを確認します。XENDIT_ENABLE_DISBURSEMENTS=true が設定されていない場合は無効です。
list_disbursement_banksID_BCA や PH_BPI などの支払いチャネルを一覧表示します。XENDIT_ENABLE_DISBURSEMENTS=true が設定されていない場合は無効です。

プロンプト

プロンプト説明
check_balanceアカウント残高を報告します。
recent_payments過去 N 日間に受け取った支払いを表示します。
create_payment_link顧客向けの支払いリンクを生成します。XENDIT_ENABLE_INVOICE_MUTATIONS=true が設定されていない場合は無効です。
unpaid_invoices未払いの請求書を一覧表示します。
daily_summary今日の支払い状況を表示します。

リソース

リソースURI説明
対応銀行xendit://banksインドネシアとフィリピンで一般的な支払いチャネルの別名です。
セットアップガイドxendit://setup現在のモード、セットアップコマンド、各モードの平易な説明です。
API 情報xendit://infoXendit API の概要とドキュメントへのリンクです。

クエリの例

What's my current Xendit balance?
Saldo Xendit saya berapa?

With `XENDIT_ENABLE_INVOICE_MUTATIONS=true`:
Create an invoice for Rp 500,000 for "Website design deposit".
Buatkan invoice Rp 500.000 untuk "Deposit desain website".

Show me all unpaid invoices.
Tampilkan semua invoice yang belum dibayar.

XENDIT_ENABLE_DISBURSEMENTS=true の場合:

Prepare a Rp 1,000,000 payout to Ahmad at BCA, then wait for my confirmation.
Siapkan payout Rp 1.000.000 ke Ahmad di BCA, lalu tunggu konfirmasi saya.

List available payout channels in the Philippines.

環境

Xendit はテスト用と本番用の API キーを別々に発行します。テストキーは Xendit のサンドボックスに対して動作するため、実際の資金は移動しません。本番キー(xnd_production_...、iluma_production_...、sk_live_...)は本番環境に対して動作します。

安全性

このサーバーは、Xendit API を通じて実際のお金を移動できます。主な安全対策は次のとおりです。

  • デフォルトでは読み取り専用です。 XENDIT_ENABLE_INVOICE_MUTATIONS=true を設定しない限り、請求書の書き込みツールは無効です。送金ツールは XENDIT_ENABLE_DISBURSEMENTS=true を設定しない限り無効です。
  • デフォルトでは本番キーを拒否します。 xnd_production_、iluma_production_、sk_live_ のプレフィックスが付いたキーは、XENDIT_ALLOW_LIVE=true を設定しない限り、起動時に拒否されます。必ず最初に開発用キー(xnd_development_...)でテストしてください。
  • 送金はフェイルクローズです。 送金を有効にした場合、XENDIT_MAX_DISBURSEMENT_AMOUNT、XENDIT_MAX_DAILY_AMOUNT、XENDIT_ALLOWED_ACCOUNTS、XENDIT_APPROVAL_CODE が設定されていないと、サーバーは起動を拒否します。
  • 人間が介在するフローです。 confirm_disbursement では、ステージング済みトークンと別途指定する approvalCode の両方が必要です。
  • 従来のワンショット送金はデフォルトで無効です。 XENDIT_ENABLE_LEGACY_ONE_SHOT_DISBURSEMENT=true を設定しない限り、create_disbursement は登録されません。
  • ハード上限と許可リストがあります。 XENDIT_MAX_DISBURSEMENT_AMOUNT、XENDIT_MAX_DAILY_AMOUNT、XENDIT_ALLOWED_ACCOUNTS を設定すると、送金が実行される前にフェイルクローズできます。
  • 冪等性があります。 送金呼び出しでは、externalId が Idempotency-Key として使用されるため、安全に再試行しても重複送金は発生しません。
  • セットアップ用ヘルパーは常に利用できます。 get_workspace_mode と guided_setup は読み取り専用モードでも公開されるため、ユーザーは何がブロックされているか、次のモードを安全に有効にする方法を確認できます。
  • 重要な制限事項です。 信頼できないモデルコンテキストに機密性の高い読み取りツールや書き込みツールを公開した場合、どの MCP サーバーもプロンプトインジェクションを完全に防ぐことはできません。これらのデフォルト設定でリスクは軽減されますが、このサーバーは信頼できるエージェントのワークフローにのみ接続してください。

こうした制限を有効にしていても、送金リクエストはツール呼び出しを承認する前に確認してください。モデルの出力に由来するツール入力は、信頼できないものとして扱ってください。

送金のライフサイクル

承認された送金が、必ずしもすぐに成功または失敗するとは限りません。Xendit は次のいずれかのステータスを返しますが、終端状態になるまで数秒から数分かかる場合があります。

  • ACCEPTED — Xendit に受け付けられ、チャネルで処理中です
  • REQUESTED — 送金先チャネルに送信され、チャネルからの応答を待っています
  • SUCCEEDED — 資金が届けられました
  • FAILED — 最終的な失敗です(例:INVALID_DESTINATION、REJECTED_BY_CHANNEL、INSUFFICIENT_BALANCE)

一部の送金先では(PHP サンドボックスでのテスト時に確認)、REQUESTED の状態がしばらく続いてから FAILED に移行します。最終状態を判断する前に、必ず get_disbursement で再取得してください。confirm_disbursement の初回応答を、資金が届けられた証拠として扱わないでください。

サンドボックスでの検証範囲

0.2.0 は、Xendit サンドボックスで IDR と PHP の開発用キーを使って検証済みです(2026 年 5 月 25 日)。検証済みのフローは次のとおりです。

  • 請求書の作成/取得/一覧表示/期限切れ(IDR + PHP)
  • 送金チャネルの検出(PHP)
  • 保護された送金の prepare → confirm → get(IDR + PHP)
  • 送金の失敗理由 INVALID_DESTINATION と REJECTED_BY_CHANNEL(PHP のみ — IDR のサンドボックスキーは balance: 0 だったため、IDR の失敗ケースでは送金先固有の失敗ではなく INSUFFICIENT_BALANCE が発生しました)

タイ、ベトナム、マレーシアでの動作は、実際のサンドボックスキーを使った検証がまだ完了していません。動作は同様と考えられますが、テスト済みとは言えません。

Claude Code の任意の強化策

Claude Code は PreToolUse フックをサポートしており、confirm_disbursement などの機密性の高いツールに対して、追加の承認ダイアログを強制できます。これにより、モデルコンテキスト外に第 2 の制御手段を設けられます。

.claude/settings.json の設定例:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "mcp__xendit__confirm_disbursement",
        "hooks": [
          {
            "type": "command",
            "command": "printf '%s' '{\"hookSpecificOutput\":{\"hookEventName\":\"PreToolUse\",\"permissionDecision\":\"ask\",\"permissionDecisionReason\":\"Human review required before confirm_disbursement.\"}}'"
          }
        ]
      }
    ]
  }
}

免責事項

これは非公式のコミュニティ製 MCP サーバーです。Xendit との提携、承認、後援関係はありません。Xendit はそれぞれの所有者の商標です。ご自身の責任でご使用ください。作者は、誤用、プロンプトインジェクション、バグによる資金の損失について、一切の責任を負いません。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。