app.wishpool/india-payments-mcp
README.md
<!-- mcp-name: app.wishpool/india-payments-mcp -->
# India Payments MCP — let AI agents accept UPI & card payments in India
<!-- install-cta -->
## Use it in 60 seconds
Paste this into your MCP client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent):
```json
{
"mcpServers": {
"india-payments": {
"type": "http",
"url": "https://mcp-in.wishpool.app/mcp"
}
}
}
```
Nothing to install. Credentials, when you need them, travel as HTTP headers on each request and are never stored — see the [threat model](https://mcp.wishpool.app/trust).
### Or run it yourself
Would you rather not send production credentials to a server you do not control? Deploy this identical code to your own account and point your agent at your own URL:
[](https://vercel.com/new/clone?repository-url=https://github.com/junter1989k-ai/india-payments-mcp)
```bash
git clone https://github.com/junter1989k-ai/india-payments-mcp && cd india-payments-mcp && npx vercel --prod
```
MIT-licensed. Self-hosting removes us from the picture entirely, at no cost and with no loss of function.
---
> **Live** · MCP endpoint: `https://mcp-in.wishpool.app/mcp` · Listed on the [official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=wishpool) as `app.wishpool/india-payments-mcp` · Sister servers: [Taiwan](https://github.com/junter1989k-ai/taiwan-payments-mcp) · [Japan](https://github.com/junter1989k-ai/japan-payments-mcp) · [Korea](https://github.com/junter1989k-ai/korea-payments-mcp) · [Indonesia](https://github.com/junter1989k-ai/indonesia-payments-mcp)
A remote **MCP server** that lets any AI agent (Claude, ChatGPT, Cursor…) accept payments in **India**:
- 📱 **UPI** — Google Pay / PhonePe / Paytm / any UPI app; the rail India actually uses
- 💳 **Credit & debit cards / netbanking / wallets**
- ✉️ **Link delivery** — optionally Razorpay SMSes/emails the payment link straight to the buyer
- 🔍 **Payment status check** — pull-based, no webhook needed; **no confirm step**, payment completes automatically
v0.1 routes through **[Razorpay](https://razorpay.com)** Payment Links, a major Indian payment gateway with a hosted payment page. The provider registry is built for aggregation — more Indian gateways join behind the same tools.
> ⚖️ **Stateless translation layer**: funds always flow buyer → Razorpay → merchant directly. This server never holds, moves, or stores funds or credentials — no database at all.
## Why this exists
Indian payment rails — UPI above all — are built for humans clicking through checkout pages and scanning QR codes. An AI agent has no agent-ready API for "let my Indian customer pay by UPI". This MCP server translates that flow into tools an agent can call.
## Quick start
MCP endpoint: `https://mcp-in.wishpool.app/mcp` (Streamable HTTP, stateless JSON-RPC)
Add the server URL in any remote-MCP client (Claude Desktop / Claude Code / Cursor…), then send your Razorpay key pair as headers on each request:
| Header | Value |
|---|---|
| `x-razorpay-key-id` | Your Razorpay key id. `rzp_test_...` = test mode (no real money, free from [dashboard.razorpay.com](https://dashboard.razorpay.com)); `rzp_live_...` = production. |
| `x-razorpay-key-secret` | The matching key secret. |
No public demo key exists for Razorpay, so bring your own — a test key pair takes a minute to get and never moves real money.
## Tools
| Tool | What it does |
|---|---|
| `create_payment_link` | Create an INR payment link (rupees, decimals OK — converted to paise). Returns the hosted rzp.io URL; optional `customer_contact` / `customer_email` makes Razorpay deliver the link by SMS/email. |
| `query_payment_status` | Check status by `payment_link_id`: CREATED / PARTIALLY_PAID / PAID / CANCELLED / EXPIRED. `paid=true` on PAID. |
## Develop
```bash
node test/serve.js # local server (http://localhost:3215/mcp)
node test/e2e.js # protocol + validation suite (probes real Razorpay auth errors)
```
Zero runtime dependencies; Node ≥ 18.
---
## Summary
Remote MCP server for **India payments**: UPI (Google Pay / PhonePe / Paytm), cards, netbanking, wallets — via Razorpay Payment Links' hosted page. Bring-your-own credentials (`x-razorpay-key-id` + `x-razorpay-key-secret`), stateless, never touches funds, MIT-licensed, zero dependencies. Endpoint: `https://mcp-in.wishpool.app/mcp`.
Part of a family: [Taiwan](https://github.com/junter1989k-ai/taiwan-payments-mcp) (ECPay 綠界 / NewebPay 藍新 + e-invoices) · [Japan](https://github.com/junter1989k-ai/japan-payments-mcp) (KOMOJU — konbini / PayPay) · [Korea](https://github.com/junter1989k-ai/korea-payments-mcp) (Toss Payments — cards / KakaoPay·NaverPay) · [Indonesia](https://github.com/junter1989k-ai/indonesia-payments-mcp) (Midtrans Snap — GoPay / QRIS / Alfamart).
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing