Swan integration
Swan is a European banking-as-a-service platform (payment accounts with IBANs, cards, transfers) used through its GraphQL partner API. With this API an agent can read the project, account holders, accounts with balances, transactions, payments, cards, account memberships, onboardings and users, check an IBAN, start individual or company onboardings, rename an account, disable a membership, cancel a card and manage webhook subscriptions. Account, card and transaction data are financial personal data. Sensitive operations that need the end user's consent (credit transfers, standing orders, refunds, adding cards, memberships or beneficiaries, viewing card numbers or PINs) are not exposed, nor are updates of webhook subscriptions, exports, merchant acquiring, capital deposits and supporting documents. It calls Swan's live environment (sandbox credentials do not work). Authentication is OAuth 2.0 client credentials: the live project's client ID and secret from the Swan Dashboard (Developers, API) give a one-hour project access token, renewed automatically.
Say what should happen.
The workflow builds itself.
What you can do with Swan
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Onboarding, 4 operations
create_company_onboardingCreate company onboardingPOSTAgents: ask firstStarts opening an account for a company: creates a company onboarding prefilled with what you send. Its onboardingUrl, which the legal representative opens to finish and sign, comes back only if Public links is on in the Dashboard.create_individual_onboardingCreate individual onboardingPOSTAgents: ask firstStarts opening an account for a person: creates an individual onboarding prefilled with what you send (personal data). Its onboardingUrl, which the person opens to finish and sign, comes back only if Public links is on in the Dashboard.get_onboardingGet onboardingPOSTAgents: ask firstReturns one account holder onboarding by id: status with the fields still invalid, the onboarding URL to send to the future account holder, and the account once opened. Personal data.list_onboardingsList onboardingsPOSTAgents: ask firstLists account holder onboardings (account opening requests), page by page, with type, status, onboarding URL and the account once opened. Personal data.
Webhook subscription, 4 operations
add_webhook_subscriptionAdd webhook subscriptionPOSTAgents: ask firstSubscribes a URL to Swan events (POSTed there, 200 expected within 10 s). No shared secret is set, so deliveries carry no x-swan-secret to verify. Check typeName: when it names a ...Rejection, Swan refused and message says why.get_webhook_subscriptionGet webhook subscriptionPOSTAgents: ask firstReturns one webhook subscription by id: label, endpoint URL, event types, status and 7-day delivery figures. The shared secret is not returned.list_webhook_subscriptionsList webhook subscriptionsPOSTAgents: ask firstLists the project's webhook subscriptions, page by page, with label, endpoint URL, event types, status and 7-day delivery figures. The shared secret is not returned.remove_webhook_subscriptionRemove webhook subscriptionPOSTAgents: ask firstRemoves a webhook subscription: Swan stops posting its events to the endpoint. Check typeName: when it names a ...Rejection, Swan refused and message says why.
Account, 3 operations
get_accountGet accountPOSTAgents: ask firstReturns one account by id: number, name, IBAN and BIC, currency, status, payment level, balances and settings. Financial personal data.list_accountsList accountsPOSTAgents: ask firstLists the project's payment accounts, page by page, with number, name, IBAN and BIC, currency, status, payment level and balances. Financial personal data.update_accountUpdate accountPOSTAgents: ask firstRenames an account or changes the language of its statements; leave a field out to keep it. Check typeName: when it names a ...Rejection, Swan refused and message says why.
Account membership, 3 operations
disable_account_membershipDisable account membershipPOSTAgents: ask firstDisables an account membership: the member loses access to the account (Swan resumes suspended memberships only, not disabled ones). Not for the legal representative. Check typeName: when it names a ...Rejection, Swan refused and message says why.get_account_membershipGet account membershipPOSTAgents: ask firstReturns one account membership by id: email, linked user and account, rights (view, payments, beneficiaries, cards, memberships), status and spending limits. Personal data.list_account_membershipsList account membershipsPOSTAgents: ask firstLists account memberships (who may use which account, with which rights), page by page: email, user, permissions, status and spending limits. Personal data.
Card, 3 operations
cancel_cardCancel cardPOSTAgents: ask firstCancels a card at once and for good (irreversible): it can no longer pay or withdraw cash, and its physical and digital cards are canceled too. Check typeName: when it names a ...Rejection, Swan refused and message says why.get_cardGet cardPOSTAgents: ask firstReturns one card by id: masked number, type, status, expiry, enabled features (withdrawal, international, e-commerce), spending limits and physical card details. No full card number or PIN.list_cardsList cardsPOSTAgents: ask firstLists the project's cards, page by page, with masked number, type, status, expiry, enabled features and spending limits; filter by status, type, account or user. No full card number or PIN.
Account holder, 2 operations
get_account_holderGet account holderPOSTAgents: ask firstReturns one account holder by id: individual or company details, verification status and requirements, residency address and status. Financial personal data.list_account_holdersList account holdersPOSTAgents: ask firstLists the project's account holders (the people or companies that own accounts), page by page, with their type, verification status and address. Financial personal data.
Payment, 2 operations
get_paymentGet paymentPOSTAgents: ask firstReturns one payment by id (the payment act that groups related transactions): its status, with the rejection reason when it failed, and its dates.list_paymentsList paymentsPOSTAgents: ask firstLists the project's payments (the payment acts that group related transactions), page by page, with status and dates.
Transaction, 2 operations
get_transactionGet transactionPOSTAgents: ask firstReturns one transaction by id: amount, side (Credit or Debit), type, status, counterparty, label, reference, payment product and dates. Financial personal data.list_transactionsList transactionsPOSTAgents: ask firstLists the project's transactions (card payments, transfers, direct debits, fees), page by page, with amount, side, status, counterparty and dates; filter by status, product, type, amount or date. Financial personal data.
User, 2 operations
get_userGet userPOSTAgents: ask firstReturns one user by id: name, mobile phone, birth details, nationality, verified emails, identification levels and status. Personal data.list_usersList usersPOSTAgents: ask firstLists the users who joined the project, page by page: name, mobile phone, birth details, nationality, verified emails, identification levels and status. Personal data.
Iban, 1 operation
validate_ibanValidate ibanPOSTAgents: ask firstChecks an IBAN: whether it is valid (or why not), the bank behind it, and whether it can receive SEPA and instant SEPA transfers. Nothing is sent or charged.
Project, 1 operation
get_project_infoGet project infoPOSTAgents: ask firstReturns the Swan project the credentials belong to: name, type, status, branding (logo, accent color), card products and onboarding settings set in the Dashboard.
Webhook event type, 1 operation
list_webhook_event_typesList webhook event typesPOSTAgents: ask firstLists the webhook event types Swan supports (Account.Created, Transaction.Booked, ...), the values add_webhook_subscription accepts in eventTypes.
Use Swan from Claude Code, Cursor or Codex
Connect Swan in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Swan operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Swan
- Create your workspace
Sign up free. Nothing to install.
- Connect Swan once
Add your Swan connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Swan integration FAQ
What can you do with the Swan integration?
LiveContext exposes 28 operations on Swan, covering onboarding, webhook subscription, account and account membership.
