Kaspi QR payments (Kazakhstan) via Qut Pay: create invoices, check status, refund, sandbox tests.
Connect Remote server
claude mcp add --transport http mcp https://api.qut.kz/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
{
"mcpServers": {
"mcp": {
"url": "https://api.qut.kz/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
{
"servers": {
"mcp": {
"type": "http",
"url": "https://api.qut.kz/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
Settings > Connectors > Add custom connector
URL: https://api.qut.kz/mcp
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools 9 found in our last check
qutpay_accountReturns the organization behind the API key: mode (sandbox or live), tariff and limits, connected Kaspi cashiers, provider status. Call this first.
qutpay_create_invoiceCreates an invoice (QR by default, or pushed to the customer's Kaspi.kz app with kind="phone"). Returns payUrl (hosted pay page), qrImageUrl, deepLink, expiresAt (~3 min). Always pass idempotencyKey (e.g. "order-1001") so a retry never creates a second invoice. Amount in KZT, ≤…
qutpay_get_invoiceReads one invoice by id (inv_…). live=true asks Kaspi right now instead of the cached status. Status flow: new → pending → paid | failed | expired | cancelled; paid → partially_refunded → refunded.
qutpay_list_invoicesLists invoices of the organization, newest first. Filter by status, externalOrderId, date range (ISO), limit ≤ 50, offset for paging.
qutpay_cancel_invoiceCloses a pending invoice. A QR may still be paid until expiresAt — then invoice.paid arrives anyway; handle it.
qutpay_refund_invoiceFull refund (omit amount) or partial refund of a paid invoice. Needs the refunds:write scope. With a LIVE key real money is returned to the customer, so confirm=true is required and the merchant must have asked for this refund explicitly.
qutpay_simulate_paymentCompletes a sandbox invoice as paid / failed / expired without Kaspi, so the whole flow including the merchant's webhook can be tested. Refuses to run with a live key.
qutpay_list_subscriptionsRead-only list of recurring invoice schedules. Needs the subscriptions:manage scope on the key.
qutpay_get_subscriptionReads a recurring invoice schedule by id (sub_…). Needs the subscriptions:manage scope.
Headers
| Name | Description |
|---|---|
AuthorizationRequired, secret | Bearer <Qut Pay API key: qp_test_… sandbox or qp_live_…> |
Details
| Endpoint | https://api.qut.kz/mcp (Streamable HTTP) |
| Package | @qutpay/[email protected] (NPM, stdio) |
| First published | 26 Oct 2026 |
| Last updated | 26 Oct 2026 |
| Registry name | kz.qut/mcp |
More finance and crypto servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
