loading…
Search for a command to run...
loading…
Integrates with Razorpay's payment infrastructure to manage orders, process payments, handle refunds, and query settlements via the Model Context Protocol. Feat
Integrates with Razorpay's payment infrastructure to manage orders, process payments, handle refunds, and query settlements via the Model Context Protocol. Features stateless, multi-tenant architecture with secure per-request authentication using API keys.
Automate Razorpay payments, refunds, and settlements through AI.
A Model Context Protocol (MCP) server that exposes Razorpay's API for managing orders, payments, refunds, and settlements.
The Razorpay MCP Server provides full lifecycle payment management through AI:
Perfect for:
health_check — Check server readinessReturns a status object confirming the server is running and reachable.
Inputs: (none)
Output:
{
"status": "ok",
"server": "CL Razorpay MCP Server"
}
create_order — Create a new Razorpay orderCreates a new order object. The returned order ID is passed to the Razorpay checkout SDK on the frontend to initiate payment.
Inputs:
- `amount` (integer, required) — Amount in smallest currency unit (e.g. paise for INR)
- `currency` (string, required) — ISO 4217 currency code, e.g. 'INR'
- `receipt` (string, optional) — Merchant receipt number (max 40 chars)
- `notes` (object, optional) — Key-value notes to attach to the order
- `partial_payment` (boolean, optional) — Whether partial payments are allowed (default: false)
Output:
{
"id": "order_XXXXXXXXXX",
"entity": "order",
"amount": 50000,
"currency": "INR",
"status": "created"
}
fetch_order — Fetch a specific orderRetrieves full details of a single Razorpay order by its order ID.
Inputs:
- `order_id` (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')
Output:
{
"id": "order_XXXXXXXXXX",
"entity": "order",
"amount": 50000,
"amount_paid": 0,
"status": "created"
}
fetch_all_orders — Fetch paginated list of ordersReturns a filtered, paginated list of all Razorpay orders. Supports Unix timestamp range filtering.
Inputs:
- `count` (integer, optional) — Number of orders to fetch, max 100 (default: 10)
- `skip` (integer, optional) — Number of orders to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch orders created after this time
- `to_timestamp` (integer, optional) — Unix timestamp — fetch orders created before this time
Output:
{
"entity": "collection",
"count": 10,
"items": [...]
}
fetch_payments_for_order — Fetch payments for a specific orderReturns all payments made against a given order ID.
Inputs:
- `order_id` (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')
Output:
{
"entity": "collection",
"count": 1,
"items": [...]
}
update_order — Update notes on an orderPatches the notes field on an existing order. Only the notes field can be updated after creation.
Inputs:
- `order_id` (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')
- `notes` (object, required) — Key-value notes to update on the order
Output:
{
"id": "order_XXXXXXXXXX",
"notes": { "key": "value" }
}
fetch_payment — Fetch a specific paymentRetrieves full details of a single Razorpay payment by its payment ID.
Inputs:
- `payment_id` (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
Output:
{
"id": "pay_XXXXXXXXXX",
"entity": "payment",
"amount": 50000,
"currency": "INR",
"status": "captured"
}
fetch_all_payments — Fetch paginated list of paymentsReturns a filtered, paginated list of all Razorpay payments. Supports Unix timestamp range filtering.
Inputs:
- `count` (integer, optional) — Number of payments to fetch, max 100 (default: 10)
- `skip` (integer, optional) — Number of payments to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch payments created after this time
- `to_timestamp` (integer, optional) — Unix timestamp — fetch payments created before this time
Output:
{
"entity": "collection",
"count": 10,
"items": [...]
}
capture_payment — Capture an authorized paymentCaptures a payment that is in authorized state. The amount must exactly match the authorized amount.
Inputs:
- `payment_id` (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
- `amount` (integer, required) — Amount to capture in smallest currency unit (must match authorized amount)
- `currency` (string, required) — ISO 4217 currency code, e.g. 'INR'
Output:
{
"id": "pay_XXXXXXXXXX",
"status": "captured",
"amount": 50000
}
update_payment — Update notes on a paymentPatches the notes field on an existing payment.
Inputs:
- `payment_id` (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
- `notes` (object, required) — Key-value notes to update on the payment
Output:
{
"id": "pay_XXXXXXXXXX",
"notes": { "key": "value" }
}
create_refund — Create a refund for a paymentIssues a full or partial refund for a captured payment. Omit amount for a full refund. Speed optimum uses instant refund where available.
Inputs:
- `payment_id` (string, required) — Razorpay payment ID to refund (e.g. 'pay_XXXXXXXXXX')
- `amount` (integer, optional) — Refund amount in smallest currency unit; omit for full refund
- `speed` (string, optional) — Refund speed: 'normal' (default) or 'optimum'
- `notes` (object, optional) — Key-value notes to attach to the refund
- `receipt` (string, optional) — Unique merchant receipt number for the refund
Output:
{
"id": "rfnd_XXXXXXXXXX",
"entity": "refund",
"amount": 50000,
"speed_processed": "normal",
"status": "processed"
}
fetch_refund — Fetch a specific refundRetrieves full details of a single Razorpay refund by its refund ID.
Inputs:
- `refund_id` (string, required) — Razorpay refund ID (e.g. 'rfnd_XXXXXXXXXX')
Output:
{
"id": "rfnd_XXXXXXXXXX",
"entity": "refund",
"amount": 50000,
"status": "processed"
}
fetch_all_refunds — Fetch paginated list of refundsReturns a filtered, paginated list of all Razorpay refunds. Supports Unix timestamp range filtering.
Inputs:
- `count` (integer, optional) — Number of refunds to fetch, max 100 (default: 10)
- `skip` (integer, optional) — Number of refunds to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch refunds created after this time
- `to_timestamp` (integer, optional) — Unix timestamp — fetch refunds created before this time
Output:
{
"entity": "collection",
"count": 10,
"items": [...]
}
fetch_refunds_for_payment — Fetch all refunds for a paymentReturns all refunds issued against a specific payment ID, with pagination support.
Inputs:
- `payment_id` (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
- `count` (integer, optional) — Number of refunds to fetch, max 100 (default: 10)
- `skip` (integer, optional) — Number of refunds to skip for pagination (default: 0)
Output:
{
"entity": "collection",
"count": 2,
"items": [...]
}
update_refund — Update notes on a refundPatches the notes field on an existing refund.
Inputs:
- `refund_id` (string, required) — Razorpay refund ID (e.g. 'rfnd_XXXXXXXXXX')
- `notes` (object, required) — Key-value notes to update on the refund
Output:
{
"id": "rfnd_XXXXXXXXXX",
"notes": { "key": "value" }
}
fetch_all_settlements — Fetch paginated list of settlementsReturns a filtered, paginated list of all Razorpay settlements. Supports Unix timestamp range filtering.
Inputs:
- `count` (integer, optional) — Number of settlements to fetch, max 100 (default: 10)
- `skip` (integer, optional) — Number of settlements to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch settlements created after this time
- `to_timestamp` (integer, optional) — Unix timestamp — fetch settlements created before this time
Output:
{
"entity": "collection",
"count": 10,
"items": [...]
}
fetch_settlement — Fetch a specific settlementRetrieves full details of a single Razorpay settlement by its settlement ID.
Inputs:
- `settlement_id` (string, required) — Razorpay settlement ID (e.g. 'setl_XXXXXXXXXX')
Output:
{
"id": "setl_XXXXXXXXXX",
"entity": "settlement",
"amount": 1000000,
"status": "processed"
}
count — Number of records to return per request (max 100, default 10)skip — Number of records to skip; use with count for paginationfrom_timestamp — Unix epoch timestamp (seconds); filters records created at or after this timeto_timestamp — Unix epoch timestamp (seconds); filters records created at or before this timeOrders:
order_{alphanumeric}
Example: order_OGN1lSF2fk1JNW
Payments:
pay_{alphanumeric}
Example: pay_OGN1lSF2fk1JNW
Refunds:
rfnd_{alphanumeric}
Example: rfnd_OGN1lSF2fk1JNW
Settlements:
setl_{alphanumeric}
Example: setl_OGN1lSF2fk1JNW
All amounts are in the smallest currency unit:
50000)1000)1000)Use test mode keys (prefixed
rzp_test_) during development and live keys (rzp_live_) in production.
Authorization: Bearer YOUR_API_KEY and X-Mewcp-Credential-Id: CREDENTIAL-ID headers are presentX-Mewcp-Credential-Id headeramount is an integer in the smallest currency unit, not a decimal{server-name}/mcp/{tool-name}authorized state for capture)Выполни в терминале:
claude mcp add cl-razorpay-mcp-server -- npx CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.