An agent can connect on its own if it already holds QUT_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
Dependencies
@qutpay/[email protected]npmthis version is not known to the dependency resolver
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
Endpoints
remote
auth
reachable
uptime 30d
p50
protocol
last ok
https://api.qut.kz/mcpstreamable-http
api_key ${QUT_TOKEN}
yes
100%
1269 ms
2025-11-25
2026-11-14
package
registry
version
runtime
secrets
@qutpay/mcp
npm
0.1.2
–
QUTPAY_API_KEY
Tools (9)
qutpay_accountread-only
Returns the organization behind the API key: mode (sandbox or live), tariff and limits, connected Kaspi cashiers, provider status. Call this first.
qutpay_cancel_invoice
Closes a pending invoice. A QR may still be paid until expiresAt — then invoice.paid arrives anyway; handle it.
qutpay_create_invoice
Creates 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, ≤ 2 decimals; whole tenge for kind="phone".
qutpay_get_invoiceread-only
Reads 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_get_subscriptionread-only
Reads a recurring invoice schedule by id (sub_…). Needs the subscriptions:manage scope.
qutpay_list_invoicesread-only
Lists invoices of the organization, newest first. Filter by status, externalOrderId, date range (ISO), limit ≤ 50, offset for paging.
qutpay_list_subscriptionsread-only
Read-only list of recurring invoice schedules. Needs the subscriptions:manage scope on the key.
qutpay_refund_invoicedestructive
Full 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_payment
Completes 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.