Connect your Razorpay payment gateway to AI assistants using the Model Context Protocol
A Model Context Protocol (MCP) server for interacting with the Razorpay payment gateway API. This package enables AI assistants like Cursor, Claude, and Copilot to directly access your Razorpay account data through a standardized interface.
The most reliable way to use this package:
# Install globally first
npm install -g razorpay-mcp@0.1.4
# Then use the binary directly
razorpay-mcp-stdio --key-id rzp_test_yourkeyid --key-secret yoursecretkey
After installing globally, add this configuration to your .cursor/mcp.json
file:
{
"mcpServers": {
"razorpay": {
"command": "razorpay-mcp-stdio",
"args": [
"--key-id",
"rzp_test_yourkeyid",
"--key-secret",
"yoursecretkey"
]
}
}
}
{
"mcpServers": {
"razorpay": {
"command": "cmd",
"args": [
"/c",
"razorpay-mcp-stdio",
"--key-id",
"rzp_test_yourkeyid",
"--key-secret",
"yoursecretkey"
]
}
}
}
- Start the SSE server:
# Install globally first
npm install -g razorpay-mcp@0.1.4
# Then use the binary directly
razorpay-mcp-sse --key-id rzp_test_yourkeyid --key-secret yoursecretkey --port 3001
- Connect from your web app:
// Create SSE connection
const eventSource = new EventSource('http://localhost:3001/sse');
// Handle connection event
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
// If this is a hello message, store the sessionId
if (data.type === 'hello') {
const sessionId = data.sessionId;
console.log(`Connected with session ID: ${sessionId}`);
// Now you can make API calls
callRazorpayAPI(sessionId, 'getAllPayments', {count: 10});
}
};
// Send API requests
async function callRazorpayAPI(sessionId, toolName, params) {
const response = await fetch(`http://localhost:3001/messages?sessionId=${sessionId}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
type: 'toolCall',
id: Date.now().toString(),
name: toolName,
params
})
});
return response.json();
}
You can also run this MCP server using Docker:
# Clone the repository
git clone https://github.com/yourusername/razorpay-mcp.git
cd razorpay-mcp
# Build the Docker image
docker build -t razorpay-mcp .
For the stdio transport (for direct use with Cursor):
docker run --rm -it razorpay-mcp node dist/transports/stdio.cjs \
--key-id rzp_test_yourkeyid --key-secret yoursecretkey
For the SSE server (for web applications):
docker run --rm -p 3001:3001 razorpay-mcp node dist/transports/sse.cjs \
--key-id rzp_test_yourkeyid --key-secret yoursecretkey --port 3001
Tool Name | Description | Parameters |
---|---|---|
getAllPayments |
Fetch payments with pagination |
count , skip , from , to
|
getAllOrders |
Fetch orders with pagination |
count , skip , from , to
|
getAllSettlements |
Fetch settlements with pagination |
count , skip , from , to
|
getAllRefunds |
Fetch refunds with pagination |
count , skip , from , to
|
getAllDisputes |
Fetch disputes with pagination |
count , skip , from , to
|
getAllInvoices |
Fetch invoices with pagination |
count , skip , from , to
|
getAllContacts |
Fetch contacts with pagination |
count , skip , from , to
|
getAllTransactions |
Fetch transactions with pagination |
count , skip , from , to
|
getAllVPAs |
Fetch Virtual Payment Addresses |
count , skip , from , to
|
getAllCustomers |
Fetch customers with pagination |
count , skip , from , to
|
getAccountBalance |
Fetch account balance | accountId |
All pagination parameters are optional:
-
count
: Number of items to fetch (default: 10, max: 100) -
skip
: Number of items to skip -
from
: Start timestamp -
to
: End timestamp
Apache-2.0