Sign Up

Your LHV bank, inside your
AI Assistant.

Ask about your balance, pull up last month's transactions, fetch your transaction history. Log in once and just ask.

> 
Beta

Get Started.
Connect in three steps.

MCP is an open protocol with a growing list of supporting tools. Setup takes about two minutes.

1

Set up your AI tool

In your AI tool's settings, add a new MCP server and paste in the LHV server address.

Coming soonFind LHV directly in your AI tool's marketplace and connect without any manual setup.

  1. 1
    Open connector settingsOn claude.ai, go to Customize → Connectors, then click Add → Add custom connector.
  2. 2
    Add the LHV connectorName it LHV and paste in the server URL.
  3. 3
    ConnectClick Add, then Connect to sign in with LHV.

Set up on claude.ai, then it's available in the desktop and mobile apps too. Free is limited to one custom connector.

2

Sign in with your LHV credentials

Your browser opens to a familiar screen. Sign in exactly as you would in your internet bank. You choose which permissions to give: accounts, transactions, or both.

On the consent screen, pick exactly which scopes you want the assistant to have. Approve, and the token flows back to your tool.

3

Start asking questions

That's it. Go back to your AI tool and ask about your finances. Your AI assistant handles the rest.

Stays connected for 30 days. Revoke access any time from your internet bank.

What's my current balance across all accounts?

list_accounts()

Across your 2 accounts you have 37 396,24 € — 12 486,24 € in your current account and 24 910,00 € in savings.

Sourced from: list_accounts

How much did I spend on groceries in March?

get_account_statement()

In March 2026, you spent 412,67 € on groceries across 18 transactions. Most of it at Coop Konsum (184,20 €) and Rimi (121,47 €).

Sourced from: get_account_statement · 01.03 – 31.03.2026

Which subscriptions renewed this week?

get_account_statement()

Three subscriptions renewed this week: Spotify (10,99 €), iCloud+ (2,99 €) and Netflix (12,99 €) — 26,97 € in total.

Sourced from: get_account_statement · this week

Three tools.
Every banking question.

Your AI assistant picks the right one automatically based on what you ask.

See all your accounts

Every account you have access to. IBAN, currency, and current balance.

ACCOUNTS:READ

1list_accounts()
2// → AccountListResponse

Check a specific balance

Live available balance for a specific account. Fast, direct answer.

ACCOUNTS:READ

1get_balances(iban)
2// → BalanceDetailsResponse

Account statement

Structured transaction history for any date range, including card transactions, reservations, and optional balance snapshots.

TRANSACTIONS:READ

1get_account_statement(iban, dateFrom, dateTo, …)
2// → AccountStatementResponse

Security and trust.
Built on the same foundations as your internet bank.

MCP is an open protocol supported by Claude Desktop, Claude Code, Cursor and a growing list of tools. Setup takes about two minutes.

Strong authentication

Smart-ID, Mobile-ID, ID-card or biometrics, whatever you prefer.

Short-lived tokens

Access tokens expire after 1 hour. Refresh tokens last 30 days.

Read-only by design

Your AI assistant can see your data, never do anything on your behalf.

Full audit trail

Every request is logged. Revoke access any time from your internet bank settings.

Once your data reaches your AI assistant, it's handled by that tool's terms and privacy policy. Make sure you trust the service provider before giving it access to your banking information.

Prefer REST?
We have that too.

LHV.ai runs on two subdomains. MCP is primary for AI assistants. The REST API is available for direct integrations.

MCP Server

Tool access for AI assistants

Primary · Streamable HTTP

OAuth2 JWT
3 tools
list_accounts
accounts:read

All accounts — IBAN, currency, available balance

Response
accounts[].ibanstring
accounts[].currencystring
accounts[].availableBalancenumber
accounts[].typestring
accounts[].namestring
get_balances
accounts:read

Available, settled, and reserved balance for one IBAN

Parameters
ibanstringEE382200221020145685required
Response
balances[].ibanstring
balances[].currencystring
balances[].availableBalancenumber
balances[].settledBalancenumber
balances[].reservedBalancenumber
get_account_statement
transactions:read

Structured JSON account statement with transactions, card reservations, and optional balances

Parameters
ibanstringEE382200221020145685required
dateFromdate2026-01-01required
dateTodate2026-01-31required
limitinteger50optional
includeReservationsbooleantrueoptional
includeBalancesbooleantrueoptional
Response
statement.ibanstring
statement.transactions[]AshTransaction[]
statement.reservations[]AshReservation[]
statement.balances[]AshBalance[]
statement.hasMoreboolean

REST API

Accounts & transactions endpoints

Direct HTTP, OpenAPI

OAuth2 JWTGet API tokens
2 endpoints
GET/accounts
accounts:read

All accounts with current balances

Response
[].ibanstring
[].currencystring
[].availableBalancenumber
[].typestring
[].namestring
GET/accounts/{iban}/statement
transactions:read

Structured JSON account statement with transactions and card reservations

Parameters
ibanstringEE382200221020145685required
dateFromdate2026-01-01required
dateTodate2026-01-31required
limitinteger50optional
includeReservationsbooleantrueoptional
includeBalancesbooleantrueoptional
Response
ibanstring
transactions[].transactionTypeAshTransactionType
transactions[].settlementDtimedatetime
transactions[].descriptionstring
transactions[].directionstring
transactions[].amountnumber
transactions[].currencystring
reservations[]AshReservation[]
balances[]AshBalance[]
hasMoreboolean

Refresh an access token

Exchange a valid refresh token for a new access token.

cURL
curl -X POST https://auth.lhv.ai/oauth2/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=refresh_token" \
  -d "refresh_token=<refresh_token>" \
  -d "client_id=api-access"

Common questions.

Not a customer yet?Sign up