Seamlessly integrate PayU payment services with your AI tools through Model Context Protocol
PayU MCP Server provides specialized integration that enables AI tools to securely access PayU payment APIs through the Model Context Protocol (MCP). This integration allows AI assistants to create payment links, retrieve transaction details, access invoice information, manage refunds, and analyze settlement data directly, making your payment workflows smarter and more efficient.
The Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. Whether you're building an AI-powered IDE, enhancing a chat interface, or creating custom AI workflows, MCP provides a standardized way to connect LLMs with the context they need.
| Tool Name | Description |
|---|---|
| create-payment-link | Generate a new payment link for your customers |
| get-invoice-details | Retrieve comprehensive details for any invoice ID |
| get-transaction-details | Access complete transaction information |
| transactions-list | Get detailed transactions list with advanced filtering options |
| transactions-summary | Retrieve transaction summaries with comprehensive analytics |
| search-refunds-data | Search and filter refund transactions |
| refunds-summary-data | Get refund summaries and analytics |
| settlement-details | Access settlement information and details |
- Python 3.10 or higher
- PayU Merchant Account with API access
- MCP-compatible AI client (Claude AI, etc.)
git clone https://github.com/payu-intrepos/payu-mcp-server.git
cd payu-mcp-serverWe recommend using uv for Python dependency management. Install uv from Astral.
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment and activate it
uv venv
source .venv/bin/activate
# Install dependencies
uv add "mcp[cli]" httpx python-dotenvAlternatively, you can use pip:
pip install -r requirements.txtgit clone https://github.com/payu-intrepos/payu-mcp-server.git
cd payu-mcp-serverdocker build -t payu-mcp-server .Run the container with your PayU credentials:
docker run -p 8888:8888 \
-e CLIENT_ID="YOUR_CLIENT_ID" \
-e CLIENT_SECRET="YOUR_CLIENT_SECRET" \
-e AUTH_TOKEN="YOUR_BEARER_TOKEN" \
-e MERCHANT_ID="YOUR_MERCHANT_ID" \
-e PORT=8888 \
payu-mcp-server python server.py --sse --port 8888Example for Claude AI Desktop Client:
Location of configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the following to your configuration:
{
"mcpServers": {
"payu-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/payu-mcp-server",
"run",
"server.py"
],
"env": {
"CLIENT_ID": "YOUR_CLIENT_ID",
"CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"AUTH_TOKEN": "YOUR_BEARER_TOKEN",
"MERCHANT_ID": "YOUR_MERCHANT_ID"
}
}
}
}Configure your MCP client to connect to the Docker container:
{
"mcpServers": {
"payu-mcp-server": {
"url": "http://localhost:8888"
}
}
}To obtain your API credentials, visit the PayU Developer Portal.
Required credentials:
- CLIENT_ID: Your PayU client ID
- CLIENT_SECRET: Your PayU client secret
- AUTH_TOKEN: Your PayU bearer token (preferred method)
- MERCHANT_ID: Your PayU merchant identifier
When configuring your API access, ensure you have the following permission scopes:
-
read_transactions:
- Provides access to transaction history and details
- Allows retrieval of transaction metadata.
- Enables detailed transaction analysis and tracking
-
read_invoices:
- Enables fetching comprehensive invoice details
- Provides access to invoice status, amounts, and related transaction information
- Read-only permission ensures secure access to invoice data
-
read_refunds:
- Access to refund transaction data
- Enables refund status tracking and analytics
-
read_settlements:
- Access to settlement information
- Enables settlement tracking and reporting
Note: Contact PayU support to confirm these specific scopes are available and properly configured for your merchant account.
Once configured, your MCP Client can create payment links with a natural language request:
- Payment link with contacts
Create a payment link for ₹5000 for Web Development Services and send to ABC
- Payment link with email
Create a payment link for ₹5000 for Web Development Services and send to <abc@example.com>
Once configured, your AI assistant can help you fetch invoice number details with a natural language request:
Get the invoice details for <Invoice-ID>
Once configured, your AI assistant can help you fetch transaction details with a natural language request:
Provide the transaction details for <Transaction-ID>
Get transactions list from 2024-01-01 00:00:00 to 2024-01-31 23:59:59 with status captured
Get transactions summary from 2024-01-01 00:00:00 to 2024-01-31 23:59:59 for UPI payments
Search refunds from 2024-01-01 to 2024-01-31 with status success
Get refunds summary from 2024-01-01 to 2024-01-31
Get settlement details for settlement ID <SETTLEMENT_ID>
The enhanced transaction tools support comprehensive filtering:
- Status Filters: captured, failed, pending, cancelled, etc.
- Payment Modes: UPI, CC, DC, NB, EMI, etc.
- Payment Sources: pg, button, paymentLink, apiIntInvoice, etc.
- Amount Ranges: min/max amount filtering
- Currency Filters: USD, AED, AUD, CAD, GBP, OTH
- Date Ranges: Flexible date range queries
- Additional Filters: IVR, mobile, web, chargeback, etc.
- Search refunds by date range and status
- Get refund summaries and analytics
- Support for multiple refund statuses: requested, success, failure, queued, pending, user_cancelled
- Access settlement details by settlement ID
- Support for UTR references and transaction IDs
- Multiple settlement status tracking
This project is licensed under the MIT License - see the LICENSE file for details.