Developer Documentation

Connect your AI agent to a real UK bank account via the Model Context Protocol or CLI.

MCP SERVER

Model Context Protocol

The Reins MCP server gives any compatible AI agent — Claude, GPT, or your own — direct access to banking tools through a single SSE connection. Your agent can check balances, send payments, create cards, and more, all governed by the spending rules and approval workflows you configure.

QUICKSTART

claude_desktop_config.json
{
  "mcpServers": {
    "reins": {
      "url": "https://mcp.reins.cash/sse"
    }
  }
}

Add this to your Claude Desktop config and restart. Your agent will have access to all Reins tools immediately.

TOOL REFERENCE

check_balance

Check the current balance of an account.

PARAMETERS

account_idstringrequired
The account ID to query.

RETURNS

{ balance: number, currency: string, available: number }

send_payment

Initiate a payment. Triggers an approval request if the amount exceeds the agent's spending rules.

PARAMETERS

account_idstringrequired
Source account ID.
amountnumberrequired
Amount in pence (e.g. 5000 = £50.00).
recipientobjectrequired
{ sort_code: string, account_number: string, name: string }
referencestring
Payment reference (max 18 chars).

RETURNS

{ payment_id: string, status: 'completed' | 'pending_approval', amount: number }

create_card

Create a virtual debit card linked to an account. Cards can have individual spending limits.

PARAMETERS

account_idstringrequired
Account to link the card to.
labelstring
Human-readable label for the card.
spending_limitnumber
Per-transaction limit in pence.

RETURNS

{ card_id: string, last_four: string, expires: string, status: 'active' }

list_transactions

List recent transactions with optional filters.

PARAMETERS

account_idstringrequired
Account to query.
limitnumber
Max results to return (default 25, max 100).
cursorstring
Pagination cursor from a previous response.
fromstring
ISO 8601 start date filter.
tostring
ISO 8601 end date filter.

RETURNS

{ transactions: Transaction[], cursor: string | null }

get_account

Get full account details including sort code and account number.

PARAMETERS

account_idstringrequired
The account ID.

RETURNS

{ account_id: string, sort_code: string, account_number: string, name: string, status: string }

list_cards

List all virtual debit cards on an account.

PARAMETERS

account_idstringrequired
Account to query.
statusstring
Filter by status: active, frozen, cancelled.

RETURNS

{ cards: Card[] }

get_spending_rules

View the spending rules configured for an account or agent.

PARAMETERS

account_idstringrequired
Account to query.

RETURNS

{ rules: SpendingRule[] }

request_approval

Submit a transaction for human approval. Used when a payment exceeds agent limits or requires manual sign-off.

PARAMETERS

account_idstringrequired
Source account.
actionstringrequired
The action type: payment, card_create, rule_change.
payloadobjectrequired
Action-specific data (e.g. payment details).
reasonstring
Agent-provided justification for the request.

RETURNS

{ approval_id: string, status: 'pending', expires_at: string }

COMMAND LINE INTERFACE

Reins CLI

Full account management from the terminal. Install the CLI to authenticate agents, check balances, send payments, and manage cards without leaving your shell.

INSTALL

terminal
$ curl -fsSL https://setup.reins.cash/cli | bash

Requires Node.js 18+. The installer adds reins to your PATH.

COMMAND REFERENCE

reins login

Authenticate with your API key or interactive browser login.

--key <api_key>Authenticate with an API key directly
--browserOpen browser for interactive login (default)
reins balance

Check the current balance of your account.

--account <id>Specify account (defaults to primary)
--jsonOutput as JSON
reins send <amount> <recipient>

Send a payment. Amount in pounds (e.g. 50.00). Recipient can be a payee alias or sort-code/account-number.

--ref <text>Payment reference
--account <id>Source account
--confirmSkip confirmation prompt
reins card create

Create a new virtual debit card.

--label <name>Card label
--limit <amount>Per-transaction spending limit in pounds
--account <id>Account to link card to
reins card list

List all virtual cards on the account.

--status <status>Filter: active, frozen, cancelled
--jsonOutput as JSON
reins transactions

List recent transactions.

--limit <n>Number of results (default 25)
--from <date>Start date (ISO 8601)
--to <date>End date (ISO 8601)
--jsonOutput as JSON
reins rules

View and manage spending rules for your account.

--account <id>Specify account
--jsonOutput as JSON
reins status

Overview of account status, balance, active cards, and pending approvals.

reins logout

Clear the local session and API key.

AUTHENTICATION

API Keys

All API and MCP requests are authenticated with API keys. Keys are prefixed with rk_ and scoped to an organisation. Generate keys from the dashboard or CLI.

Generate a key
$ reins login --key rk_live_abc123...
HTTP header
GET /v1/accounts
Authorization: Bearer rk_live_abc123...

KEY TYPES

rk_live_Production key. Real money, real transactions.
rk_test_Sandbox key. Mock banking provider, no real funds moved.

API REFERENCE

REST API

The MCP tools map directly to REST endpoints. You can use the API directly if you prefer HTTP over the Model Context Protocol.

GET/v1/accounts/:id
GET/v1/accounts/:id/balance
POST/v1/payments
GET/v1/accounts/:id/transactions
POST/v1/cards
GET/v1/accounts/:id/cards
GET/v1/accounts/:id/rules
POST/v1/approvals

Base URL: https://api.reins.cash All endpoints require a valid API key in the Authorization header.