MCP Tools
klw mcp exposes 17 local tools to MCP-compatible agents. The tools are grouped around setup, card metadata, scoped authorizations, card management, and wallet movement.
Getting Started
| Tool | Description | Parameters |
|---|---|---|
kleepay_version | Get klw version, capabilities, and connection state. Call this first. | none |
Cards: read
| Tool | Description | Parameters |
|---|---|---|
kleepay_list_cards | List all cards: card_id, last_four, label, status, and balance. Never returns PAN or CVV. | none |
kleepay_check_tx | Check authorization or transaction status by authorization, policy, or card. | authorization_id?, policy_id?, card_id?, limit? |
kleepay_card_transactions | Recent transaction history for a specific card. | card_id, limit? |
kleepay_list_merchant_cards | Look up which cards are already linked to a merchant domain. This is a selection hint; it does not authorize spend. | merchant_domain |
Authorize and spend
| Tool | Description | Parameters |
|---|---|---|
kleepay_authorize | Create a locally signed authorization for one card charge, bounded by amount, merchant domain, and TTL. | card_id, amount, currency, merchant_domain?, scope_merchant_id?, drift?, ttl_minutes?, rail? |
kleepay_recurring | Create a scoped recurring authorization for subscription billing; each cycle derives a bounded child charge. | card_id, amount, merchant_domain, currency?, frequency?, schedule_day?, schedule_dow?, schedule_tz?, max_uses?, scope_merchant_id?, drift? |
kleepay_authorize_verification | Authorize a merchant first-add verification hold. The server caps the authorization at $3 and accepts verification holds in the $0-$6 range. Expires after 30 minutes. | card_id, merchant_domain |
kleepay_list_authorizations | Review active scoped and recurring authorizations for audit and upcoming charge context. This can include authorizations created outside the current agent session. | card_id? |
kleepay_cancel_authorization | Cancel a scoped authorization when it is no longer needed. Agents should cancel only authorizations they created for the current task. | authorization_id?, policy_id? |
Cards: manage
| Tool | Description | Parameters |
|---|---|---|
kleepay_create_card | Create a new virtual card. card_product_id is optional and falls back to the platform default. Optional initial_deposit moves wallet funds. | card_product_id?, label?, initial_deposit? |
kleepay_bind_card | Record that a card is linked to a merchant after the user added it there. This is bookkeeping and does not authorize spend. | card_id, merchant_domain, user_confirmed_logged_in? |
Wallet
| Tool | Description | Parameters |
|---|---|---|
kleepay_wallet_balance | Wallet balance summary. The wallet is the funding source behind cards. | none |
kleepay_wallet_history | Recent wallet-level history, including deposits, allocations, recalls, and wallet payments. | limit? |
kleepay_deposit_address | Get a crypto deposit address to fund the wallet. | currency?, chain? |
kleepay_wallet_allocate | Move funds from the wallet into a card. This operation is signed. | card_id, amount, idempotency_key, currency? |
kleepay_recall | Move funds from a card back into the wallet. This operation is signed. | card_id, amount, idempotency_key, currency? |
Safety expectations
- Call
kleepay_versionfirst when starting a session. - Use
kleepay_list_cardsbefore selecting a card. - Never infer that a visible merchant domain is the final network descriptor.
- Do not widen amount, merchant, or TTL scope without user approval.
- Prefer
kleepay_check_tx,kleepay_card_transactions, and Activity in the frontdesk for follow-up. - Treat
policy_idas a legacy identifier when it appears in older responses; user-facing flows should talk about scoped authorizations.