Skip to main content

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

ToolDescriptionParameters
kleepay_versionGet klw version, capabilities, and connection state. Call this first.none

Cards: read

ToolDescriptionParameters
kleepay_list_cardsList all cards: card_id, last_four, label, status, and balance. Never returns PAN or CVV.none
kleepay_check_txCheck authorization or transaction status by authorization, policy, or card.authorization_id?, policy_id?, card_id?, limit?
kleepay_card_transactionsRecent transaction history for a specific card.card_id, limit?
kleepay_list_merchant_cardsLook 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

ToolDescriptionParameters
kleepay_authorizeCreate 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_recurringCreate 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_verificationAuthorize 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_authorizationsReview 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_authorizationCancel 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

ToolDescriptionParameters
kleepay_create_cardCreate 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_cardRecord 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

ToolDescriptionParameters
kleepay_wallet_balanceWallet balance summary. The wallet is the funding source behind cards.none
kleepay_wallet_historyRecent wallet-level history, including deposits, allocations, recalls, and wallet payments.limit?
kleepay_deposit_addressGet a crypto deposit address to fund the wallet.currency?, chain?
kleepay_wallet_allocateMove funds from the wallet into a card. This operation is signed.card_id, amount, idempotency_key, currency?
kleepay_recallMove funds from a card back into the wallet. This operation is signed.card_id, amount, idempotency_key, currency?

Safety expectations

  • Call kleepay_version first when starting a session.
  • Use kleepay_list_cards before 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_id as a legacy identifier when it appears in older responses; user-facing flows should talk about scoped authorizations.