MewCP Razorpay MCP

by asthetech

Not rated
GitHub

About

Hosted, Stateless & Multitenant Razorpay MCP server enables AI assistants to manage payments, customers, subscriptions, invoices, and financial operations through Razorpay.

Details

Author
asthetech
Categories
Developer Tools, Other, Finance, API

Setup

Install MewCP Razorpay MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/asthetech/mewcp-razorpay

Follow the installation instructions in the repository README, then restart your MCP client.

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:

- Create and track orders, capture and update payments
- Issue full or partial refunds with speed control
- Query settlements and reconcile transaction history

- Automating refund workflows and customer support payment queries
- Building AI-powered dashboards that pull live payment and settlement data
- Triggering order creation and payment capture from conversational interfaces

Returns a status object confirming the server is running and reachable.

{ "status": "ok", "server": "CL Razorpay MCP Server" }

Creates a new order object. The returned order ID is passed to the Razorpay checkout SDK on the frontend to initiate payment.

- 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)
{ "id": "order_XXXXXXXXXX", "entity": "order", "amount": 50000, "currency": "INR", "status": "created" }

Retrieves full details of a single Razorpay order by its order ID.

- order_id (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')
{ "id": "order_XXXXXXXXXX", "entity": "order", "amount": 50000, "amount_paid": 0, "status": "created" }

Returns a filtered, paginated list of all Razorpay orders. Supports Unix timestamp range filtering.

- 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
{ "entity": "collection", "count": 10, "items": [...] }

Returns all payments made against a given order ID.

- order_id (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')
{ "entity": "collection", "count": 1, "items": [...] }

Patches the notes field on an existing order. Only the notes field can be updated after creation.

- order_id (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX') - notes (object, required) — Key-value notes to update on the order
{ "id": "order_XXXXXXXXXX", "notes": { "key": "value" } }

Retrieves full details of a single Razorpay payment by its payment ID.

- payment_id (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
{ "id": "pay_XXXXXXXXXX", "entity": "payment", "amount": 50000, "currency": "INR", "status": "captured" }

Returns a filtered, paginated list of all Razorpay payments. Supports Unix timestamp range filtering.

- 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
{ "entity": "collection", "count": 10, "items": [...] }

Captures a payment that is inauthorizedstate. The amount must exactly match the authorized amount.

- 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'
{ "id": "pay_XXXXXXXXXX", "status": "captured", "amount": 50000 }

Patches the notes field on an existing payment.

- payment_id (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX') - notes (object, required) — Key-value notes to update on the payment
{ "id": "pay_XXXXXXXXXX", "notes": { "key": "value" } }

Issues a full or partial refund for a captured payment. Omit amount for a full refund. Speedoptimumuses instant refund where available.

- 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
{ "id": "rfnd_XXXXXXXXXX", "entity": "refund", "amount": 50000, "speed_processed": "normal", "status": "processed" }

Retrieves full details of a single Razorpay refund by its refund ID.

- refund_id (string, required) — Razorpay refund ID (e.g. 'rfnd_XXXXXXXXXX')
{ "id": "rfnd_XXXXXXXXXX", "entity": "refund", "amount": 50000, "status": "processed" }

Returns a filtered, paginated list of all Razorpay refunds. Supports Unix timestamp range filtering.

- 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
{ "entity": "collection", "count": 10, "items": [...] }

Returns all refunds issued against a specific payment ID, with pagination support.

- 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)
{ "entity": "collection", "count": 2, "items": [...] }

Patches the notes field on an existing refund.

- refund_id (string, required) — Razorpay refund ID (e.g. 'rfnd_XXXXXXXXXX') - notes (object, required) — Key-value notes to update on the refund
{ "id": "rfnd_XXXXXXXXXX", "notes": { "key": "value" } }

Returns a filtered, paginated list of all Razorpay settlements. Supports Unix timestamp range filtering.

- 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
{ "entity": "collection", "count": 10, "items": [...] }

Retrieves full details of a single Razorpay settlement by its settlement ID.

- settlement_id (string, required) — Razorpay settlement ID (e.g. 'setl_XXXXXXXXXX')
{ "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 withcountfor pagination
- from_timestamp— Unix epoch timestamp (seconds); filters records created at or after this time
- to_timestamp— Unix epoch timestamp (seconds); filters records created at or before this time

order_{alphanumeric} Example: order_OGN1lSF2fk1JNW
pay_{alphanumeric} Example: pay_OGN1lSF2fk1JNW
rfnd_{alphanumeric} Example: rfnd_OGN1lSF2fk1JNW
setl_{alphanumeric} Example: setl_OGN1lSF2fk1JNW

All amounts are in thesmallest currency unit:

- INR → paise (₹500.00 =50000)
- USD → cents ($10.00 =1000)
- EUR → cents (€10.00 =1000)
- Go to theRazorpay Dashboard
- Navigate toSettingsAPI Keys
- ClickGenerate Test Key(for test mode) orGenerate Live Key(for production)
- Copy theKey IDandKey Secret— the secret is only shown once; store it securely

Use test mode keys (prefixedrzp_test_) during development and live keys (rzp_live_) in production.

- Cause:API key not provided in request headers or incorrect format
- Solution:
- VerifyAuthorization: Bearer YOUR_API_KEYandX-Mewcp-Credential-Id: CREDENTIAL-IDheaders are present
- Check API key is active in your MewCP account

- Cause:API calls have exceeded your request limits
- Solution:
- Check credit usage in your Curious Layer dashboard
- Upgrade to a paid plan or add credits for higher limits
- Contact support for credit adjustments

- Cause:No Razorpay credential linked to your account
- Solution:
- Go toCredentialsin your MewCP dashboard
- Add your Razorpay Key ID and Key Secret
- Retry the request with the correctX-Mewcp-Credential-Idheader

- Cause:JSON payload is invalid or missing required fields
- Solution:
- Validate JSON syntax before sending
- Ensure all required tool parameters are included
- Check thatamountis an integer in the smallest currency unit, not a decimal

- Cause:Incorrect server name in the API endpoint
- Solution:
- Verify endpoint format:{server-name}/mcp/{tool-name}
- Use correct server name from documentation
- Check available servers in your Curious Layer account

- Cause:Upstream Razorpay API returned an error
- Solution:
- Check Razorpay service status at
Razorpay Status Page
- Verify your API keys have the required permissions for the operation
- Review the error message for specific details (e.g. payment not inauthorizedstate for capture)

- Razorpay API Documentation— Official API reference
-
Razorpay Dashboard— Manage keys, orders, and settlements
-
FastMCP Docs— FastMCP specification
-
FastMCP Credentials— FastMCP Credentials package for credential handling

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Integrate AI tools and agents with Cashfree's Payment Gateway, Payouts, and SecureID APIs.

Interact with Juspay APIs for payment processing and merchant dashboard management.

Remote MCP server (Streamable HTTP, read-only, no auth) at https://doc.2328.io/mcp — integration documentation for the 2328 payment platform.

Secure agent purchasing with human-approved virtual cards.

A read-only MCP server by CData for querying live Authorize.Net data.

An unofficial MCP server for the Autumn pricing API to manage customers, entitlements, invoices, and billing portal links.

Live Dodo Payments API for AI agents — payments, subscriptions, customers, products, refunds, license keys, and usage-based billing via browser OAuth (no API key needed) plus a companion documentation search server.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.