Razorpay MCP server
Razorpay's official MCP server lets agents create orders and payment links, capture and refund payments, and read settlements and payouts.
Razorpay MCP is Razorpay's official server that connects AI agents to the Razorpay payments platform. It exposes a comprehensive tool set covering payments (capture, fetch, update, card details, and saved-method flows including OTP), standard and UPI payment links, orders, refunds, QR codes, settlements and instant settlements, payouts, and saved-method tokens, plus integration helpers that detect a project's stack and generate Razorpay Standard Checkout code. That makes it a strong fit for commerce copilots that need to take a payment, send a link over SMS or email, reconcile a settlement, or scaffold a checkout integration.
Razorpay offers two deployment paths. The recommended one is the hosted remote server at https://mcp.razorpay.com/mcp, which clients without native remote support reach via npx mcp-remote with an Authorization: Basic merchant token header. Teams that need to self-host (or want tools restricted in the remote server, such as create_refund and create_instant_settlement) can run the official Docker image razorpay/mcp or build the Go binary, authenticating with RAZORPAY_KEY_ID and RAZORPAY_KEY_SECRET. A READ_ONLY flag and a TOOLSETS filter scope which tools are exposed.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Available tools
| Tool | Description |
|---|---|
| capture_payment | Changes the payment status from authorized to captured. |
| fetch_payment | Fetches payment details with an ID. |
| fetch_payment_card_details | Fetches the card details used for a payment. |
| fetch_all_payments | Fetches all payments with filtering and pagination. |
| update_payment | Updates the notes field of a payment. |
| initiate_payment | Initiates a payment using a saved payment method with order and customer details. |
| resend_otp | Resends the OTP if the previous one was not received or expired. |
| submit_otp | Verifies and submits the OTP to complete payment authentication. |
| create_payment_link | Creates a new standard payment link. |
| create_payment_link_upi | Creates a new UPI payment link. |
| fetch_all_payment_links | Fetches all payment links. |
| fetch_payment_link | Fetches details of a payment link. |
| send_payment_link | Sends a payment link via SMS or email. |
| update_payment_link | Updates a standard payment link. |
| create_order | Creates an order. |
| fetch_order | Fetches an order with an ID. |
| fetch_all_orders | Fetches all orders. |
| update_order | Updates an order. |
| fetch_order_payments | Fetches all payments for an order. |
| create_refund | Creates a refund. |
| fetch_refund | Fetches refund details with an ID. |
| fetch_all_refunds | Fetches all refunds. |
| update_refund | Updates refund notes with an ID. |
| fetch_multiple_refunds_for_payment | Fetches multiple refunds for a payment. |
| fetch_specific_refund_for_payment | Fetches a specific refund for a payment. |
| create_qr_code | Creates a QR code. |
| fetch_qr_code | Fetches a QR code with an ID. |
| fetch_all_qr_codes | Fetches all QR codes. |
| fetch_qr_codes_by_customer_id | Fetches QR codes by customer ID. |
| fetch_qr_codes_by_payment_id | Fetches QR codes by payment ID. |
| fetch_payments_for_qr_code | Fetches payments for a QR code. |
| close_qr_code | Closes a QR code. |
| fetch_all_settlements | Fetches all settlements. |
| fetch_settlement_with_id | Fetches settlement details. |
| fetch_settlement_recon_details | Fetches the settlement reconciliation report. |
| create_instant_settlement | Creates an instant settlement. |
| fetch_all_instant_settlements | Fetches all instant settlements. |
| fetch_instant_settlement_with_id | Fetches an instant settlement with an ID. |
| fetch_all_payouts | Fetches all payout details with an account number. |
| fetch_payout_by_id | Fetches the payout details with a payout ID. |
| fetch_tokens | Gets all saved payment methods by customer ID or contact number. |
| revoke_token | Revokes a saved payment method (token) for a customer. |
| create_registration_link | Creates a registration link (auth link) for subscription registration. |
| detect_stack | Detects the project language/framework for checkout integration. |
| integrate_razorpay_checkout | Generates end-to-end Razorpay Standard Checkout integration code for supported frameworks. |
Required configuration
- RAZORPAY_KEY_IDRequired
Razorpay API key ID (for the Docker/binary deployment).
- RAZORPAY_KEY_SECRETRequired
Razorpay API key secret (for the Docker/binary deployment).
- TOOLSETSOptional
Optional comma-separated list of toolsets to enable.
- READ_ONLYOptional
Optional flag to expose only read tools.
What you can do with it
Collect a payment with a link
An agent creates a standard or UPI payment link and sends it to a customer over SMS or email, then checks the linked payments once it is paid.
Reconcile settlements
A finance copilot fetches settlements and their reconciliation report, and can trigger an instant settlement when cash flow is tight (self-hosted deployment).
Scaffold a checkout integration
A developer asks the agent to detect the project's stack and generate Razorpay Standard Checkout code, cutting integration time from hours to minutes.
FAQ
- Is it free?
- The MCP server is free and open source under Razorpay. You pay normal Razorpay processing fees on any real transactions it helps create.
- Does it support remote/OAuth?
- Razorpay hosts a remote endpoint at https://mcp.razorpay.com/mcp that authenticates with a Basic merchant token; clients without native remote support bridge to it via npx mcp-remote. You can also self-host with the official Docker image or Go binary using a key ID and secret.
- Why are some tools missing on the remote server?
- The hosted remote server restricts certain write tools (such as create_refund, close_qr_code, create_instant_settlement, and create_registration_link). Self-host the Docker image or binary to access the full tool set.
- Can I make it read-only?
- Yes. The self-hosted deployment supports a READ_ONLY flag and a TOOLSETS filter so you can expose only the tools an agent needs.