cashfree-mcp について
cashfree-mcpは、CashfreeのPayment Gateway、Payouts、SecureID APIをMCP対応のAIツールやエージェントに接続します。決済、返金、精算、送金、KYCを扱い、サンドボックスまたは本番環境と有効化するモジュールを設定できます。
主な機能
- 01Cashfree決済ドキュメントの検索
- 02注文、決済リンク、返金の作成
- 03決済、異議申し立て、精算情報の取得
- 04送金の実行と状況確認
- 05KYCリンクの生成と状況確認
活用シーン
- 01決済注文を作成して状況を確認
- 02返金や決済異議を処理
- 03単一または一括の送金を実行
- 04KYC確認リンクを生成
MCP 対応
MCPを介して、CashfreeのPayment Gateway、Payouts、SecureID APIのツールをAIツールやエージェントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @cashfreepayments/cashfree-mcpPAYMENTS_APP_IDシークレットPayment Gateway App IdPAYMENTS_APP_SECRETシークレットPayment Gateway App SecretPAYOUTS_APP_IDシークレットPayouts App IdPAYOUTS_APP_SECRETシークレットPayouts App SecretTWO_FA_PUBLIC_KEY_PEM_PATHシークレットPath to the PEM file containing the public key for verifying 2FA signaturesSECUREID_APP_IDシークレットSecureId App IdSECUREID_APP_SECRETシークレットSecureId App SecretTOOLSTools (Comma-separated list of modules to enable. Available options: pg, payouts, secureid)ENVEnvironment (production/sandbox default: sandbox)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cashfree MCP サーバー
Cashfree MCP サーバーを使うと、AI ツールやエージェントをCashfree API(Payment Gateway、Payouts、SecureID)とModel Context Protocol(MCP)を通じて連携できます。
セットアップ
リポジトリのクローン
git clone https://github.com/cashfree/cashfree-mcp.git
cd cashfree-mcp
依存関係のインストール
インストールする前に、Node.js v14.x 以上がインストールされていることを確認してください。nvm または brew を使用している場合は、正しいバージョンが有効になっていることを確認してください。
node -v
# Should output v14.x or higher
ステップ 1:プロジェクトの依存関係をインストールする
npm install
これにより、package.json に記載されているすべての必要なパッケージがインストールされます。
💡
Node.js >=18を使用している場合、undiciなどのパッケージでピア依存関係の問題が発生することがあります。その場合は、Node.js を>=20.18.1にアップグレードするか、必要に応じてパッケージのバージョンを調整してください。
ステップ 2:プロジェクトをビルドする
npm run build
これにより、ソースファイルが dist/ ディレクトリにコンパイルされます。MCP サーバーを実行するには、この処理が必要です。
🛠️
/dist内のファイルが見つからないというエラーが表示された場合は、ビルド手順が正常に完了していることを確認してください。
設定
API 認証情報を持つ Cashfree アカウントが必要です(サンドボックスキーと本番キーの両方をサポートしています)。お好みのクライアントで Cashfree MCP を使用できます。設定例を以下に示します。
Claude
以下の設定ブロックを claude_desktop_config.json に追加してください。
{
"mcpServers": {
"cashfree": {
"command": "node",
"args": ["/path/to/cashfree-mcp/dist/index.js"],
"env": {
"PAYMENTS_APP_ID": "YOUR_PG_CLIENT_ID",
"PAYMENTS_APP_SECRET": "YOUR_PG_CLIENT_SECRET",
"PAYOUTS_APP_ID": "YOUR_PAYOUTS_CLIENT_ID",
"PAYOUTS_APP_SECRET": "YOUR_PAYOUTS_CLIENT_SECRET",
"TWO_FA_PUBLIC_KEY_PEM_PATH": "/path/to/public_key.pem",
"SECUREID_APP_ID": "YOUR_SECUREID_CLIENT_ID",
"SECUREID_APP_SECRET": "YOUR_SECUREID_CLIENT_SECRET",
"TOOLS": "pg,payouts,secureid",
"ENV": "sandbox",
"ELICITATION_ENABLED": "true"
}
}
}
}
VS Code
以下の設定ブロックを VS Code の設定に追加してください。
{
"mcp": {
"inputs": [],
"servers": {
"cashfree": {
"command": "node",
"args": ["/path/to/cashfree-mcp/dist/index.js"],
"env": {
"PAYMENTS_APP_ID": "YOUR_PG_CLIENT_ID",
"PAYMENTS_APP_SECRET": "YOUR_PG_CLIENT_SECRET",
"PAYOUTS_APP_ID": "YOUR_PAYOUTS_CLIENT_ID",
"PAYOUTS_APP_SECRET": "YOUR_PAYOUTS_CLIENT_SECRET",
"TWO_FA_PUBLIC_KEY_PEM_PATH": "/path/to/public_key.pem",
"SECUREID_APP_ID": "YOUR_SECUREID_CLIENT_ID",
"SECUREID_APP_SECRET": "YOUR_SECUREID_CLIENT_SECRET",
"TOOLS": "pg,payouts,secureid",
"ENV": "sandbox",
"ELICITATION_ENABLED": "true"
}
}
}
}
}
API 認証情報
サービスごとに、以下の環境変数を設定してください。 Payment Gateway:
PAYMENTS_APP_ID:Payment Gateway のクライアント IDPAYMENTS_APP_SECRET:Payment Gateway のクライアントシークレット
Payouts:
PAYOUTS_APP_ID:Payouts のクライアント IDPAYOUTS_APP_SECRET:Payouts のクライアントシークレットTWO_FA_PUBLIC_KEY_PEM_PATH:2FA 公開鍵へのパス(2FA が有効な場合のみ必須)
SecureID:
SECUREID_APP_ID:SecureID のクライアント IDSECUREID_APP_SECRET:SecureID のクライアントシークレットTWO_FA_PUBLIC_KEY_PEM_PATH:2FA 公開鍵へのパス(2FA が有効な場合のみ必須)
環境
ENV:本番環境では production、サンドボックスでは sandbox に設定します(デフォルト:sandbox)。
ツールの設定
TOOLS:有効にするモジュールをカンマ区切りで指定します。選択可能な項目:
pg:Payment Gateway APIpayouts:Payouts APIsecureid:SecureID API
入力要求の設定
ELICITATION_ENABLED:対話形式でのパラメーター入力要求を有効にする場合は true、無効にする場合は false に設定します(デフォルト:false)。
有効にすると、MCP サーバーは検証エラーで失敗する代わりに、不足している必須パラメーターをユーザーに尋ねます。これにより、最初に指定されなかった必須フィールドの値をユーザーに尋ねる、より対話的な操作が可能になります。
ツール
Cashfree MCP では、以下のツールを製品カテゴリ別に利用できます。
Payment Gateway(PG)
| ツール名 | 説明 |
|---|---|
| search | Cashfree Payments の開発者向けドキュメント全体を検索します。 |
| get-input-source-help | 入力ソース変数エラーへの対処方法について、包括的な手順を確認します。 |
| create-payment-link | 新しい支払いリンクを作成します。 |
| fetch-payment-link-details | 支払いリンクのすべての詳細とステータスを表示します。 |
| cancel-payment-link | 有効な支払いリンクをキャンセルします。キャンセルされたリンクでは、それ以降の支払いはできません。 |
| get-orders-for-a-payment-link | 支払いリンクのすべての注文詳細を表示します。 |
| create-order | Cashfree で注文を作成し、取引に使用する payment_sessions_id を取得します。 |
| get-order | order_id を使用して注文の詳細を取得します。 |
| get-order-extended | 住所、カート、特典、顧客情報などの拡張注文データを取得します。 |
| get-eligible-payment-methods | 指定した注文金額と ID に対して利用可能な支払い方法を取得します。 |
| get-payments-for-an-order | 注文のすべての支払い詳細を表示します。 |
| get-payment-by-id | Payment ID を指定して、注文の支払い詳細を表示します。 |
| create-refund | 返金を開始します。 |
| get-all-refunds-for-an-order | 注文に対して処理されたすべての返金を取得します。 |
| get-refund | Cashfree アカウントで処理された特定の返金を取得します。 |
| get-all-settlements | 決済 ID、決済 UTR、または日付範囲を指定して、すべての決済詳細を取得します。 |
| get-split-and-settlement-details-by-order-id-v2-0 | 注文内のベンダーについて、決済済み/未決済の取引を含む分割と決済の詳細を取得します。 |
| get-settlements-by-order-id | 特定の注文のすべての決済を表示します。 |
| get-disputes-by-order-id | Order ID を指定して、すべての異議申し立ての詳細を取得します。 |
| get-disputes-by-payment-id | Payment ID を指定して、すべての異議申し立ての詳細を取得します。 |
| get-disputes-by-dispute-id | Dispute ID を指定して、異議申し立ての詳細を取得します。 |
| accept-dispute-by-dispute-id | Dispute ID を指定して、異議申し立てを受け入れます。 |
| submit-evidence-to-contest-the-dispute-by-dispute-id | 異議申し立てに反論するための証拠を提出します。 |
| simulate-payment | テスト用に支払いをシミュレートします。事前に注文を作成する必要があります。 |
| fetch-simulation | シミュレートした支払いの詳細を取得します。 |
支払い
| ツール名 | 説明 |
|---|---|
| standard-transfer-v2 | Cashfree Payments で金額の送金を開始します。 |
| get-transfer-status-v2 | 開始した送金のステータスを取得します。 |
| batch-transfer-v2 | Cashfree Payments で一括送金リクエストを開始します。 |
| get-batch-transfer-status-v2 | 開始した一括送金のステータスを取得します。 |
| authorize | Cashfree システムで認証し、認証ベアラートークンを取得します。 |
| create-cashgram | Cashgram を作成します。 |
| deactivate-cashgram | Cashgram を無効化します。 |
| get-cashgram-status | 作成した Cashgram のステータスを取得します。 |
SecureID
| ツール名 | 説明 |
|---|---|
| verify-name-match | 表記に揺れのある名前を照合します。 |
| generate-kyc-link | KYC 情報の確認フォームを生成します。 |
| get-kyc-link-status | KYC 確認フォームのステータスを取得します。 |
| generate-static-kyc-link | 静的な KYC リンクを生成します。 |
| deactivate-static-kyc-link | 静的な KYC リンクを無効化します。 |
ライセンス
このプロジェクトは、MIT オープンソースライセンスの条件に基づいてライセンスされています。詳細な条件については、LICENSE を参照してください。
ドキュメント
API ドキュメントの詳細は、Cashfree API ドキュメントをご覧ください。
サポート
サポートが必要な場合は、[email protected] にお問い合わせいただくか、GitHub リポジトリで Issue を作成してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
