Flanks MCP
Flanks MCP is a Model Context Protocol server that gives AI assistants direct access to multi-bank investment data through Flanks. It is designed for anyone working in wealth management — advisors, developers, and portfolio analysts — who wants to connect bank accounts and query financial data through natural language. Once connected, any MCP-compatible client — including Claude and other AI assistants — can link bank accounts, retrieve portfolio and investment data, and manage connections, without any additional integration work.
Overview
Flanks MCP exposes 10 tools organized in three groups:
- Connect flow — discover supported banks, start a connection session, and monitor its progress
- Credential management — list, inspect, and delete existing bank connections
- Portfolio & investment data — retrieve portfolio accounts, investment holdings, and historical transactions from the latest stored snapshot
Most tools are read-only. One tool (flanks-delete-credentials) performs a destructive operation and requires explicit confirmation.
Configure in Claude Desktop
The steps below use Claude Desktop as an example. Any MCP-compatible client that supports remote HTTP servers and OAuth 2.0 can connect using the same server URL and credentials.
To connect the Flanks MCP Server in Claude Desktop:
- Open Claude Desktop and go to Settings → Connectors.
- Click Add Custom Connector.
- Enter a name, for example
Flanks MCP. - In the Server URL field, enter:
https://flanks-mcp.flanks.io/mcp - Open Advanced settings and enter your Flanks credentials:
client_idclient_secret
- Click Save.
- Click Connect.
The client will automatically start the OAuth flow. After the user approves the Flanks consent screen, the client will store the access token and refresh token and use them for future MCP requests automatically.
If the connector is already created, the user only needs to click Connect and complete the authorization flow.
Obtaining credentials
Credentials (client_id and client_secret) are provided by Flanks. Contact your Flanks account manager to obtain them.
Authentication
Flanks MCP uses OAuth 2.0. The /mcp endpoint requires a Bearer token — unauthenticated requests receive a 401, which triggers the MCP client to run the OAuth flow automatically using the credentials from its settings.
The OAuth flow presents a Flanks consent screen where the user explicitly authorizes the application. After authorization, the server issues a short-lived access token (1 hour) and a refresh token (30 days). When the access token expires, the client silently exchanges the refresh token for a new pair — no browser interaction required.
Available tools
The following tools are available once connected.
Connect flow tools
Use these tools to link new bank accounts or unblock existing ones via Flanks Connect.
flanks-connectors
Return the catalog of supported banks and providers that can be linked via Flanks Connect. Use this to discover a connector_id before starting the Connect flow.
- Parameters: optional
name(substring filter, case-insensitive),page,page_size - Returns: paginated list of connectors with
connector_id,name, and metadata
flanks-create-connect-session
Create a Flanks Connect session to link a new bank or unblock an existing connection. Provide exactly one of:
connector_id— to start a new connection-
connection_id— to re-login or unblock an existing connection -
Returns:
session_id,widget_url(present this URL to the user to complete bank authentication),expires_at
Warning
The widget_url is single-use and time-limited. Present it to the user immediately.
flanks-session-status
Poll the status of a session created by flanks-create-connect-session. Once the status reaches Finished:OK, the new or updated connection appears in flanks-credentials.
- Parameters:
session_id(required) - Returns:
status,updated_at,widget_url,connection_id,connector_id,expires_at,error_code
Credential management tools
flanks-credentials
List existing bank connections (credentials) in this tenant. Use this to retrieve credentials_token values needed by the data tools.
- Parameters: optional
bank(substring filter),ready_only(exclude blocked/pending),include_status,page,page_size - Returns: paginated list with
credentials_token,bank, and optionally the full status object
flanks-credential-status
Fetch the full status envelope for a specific credential. Use this to understand whether a connection is active, blocked, or requires action.
- Parameters:
credentials_token(required) - Returns: status object with connection health details
flanks-needs-relogin
Evaluate whether a credential requires re-login or unblocking based on its status. Hard conditions (blocked, SCA required, auth error, reset token) trigger a true result; transaction-level errors are ignored.
- Parameters:
credentials_token(required) - Returns:
needs_relogin(boolean),reasons(list)
flanks-delete-credentials
Irreversible
Permanently deletes a credential and all stored data associated with it. Requires confirm=true.
- Parameters:
credentials_token(required),confirm(must betrueto proceed) - Returns: confirmation message
Portfolio & investment data tools
All data tools read from the latest stored snapshot — not live bank data. If credentials_token is omitted, data is aggregated across all credentials in the tenant.
flanks-portfolios
Fetch portfolio accounts from the latest stored snapshot.
- Parameters: optional
credentials_token(one or many),currency,portfolio_type,min_balance,page,page_size,fields,include_source_token - Returns: paginated list with
name,balance,currency,refAccount,type
flanks-investments
Fetch investment holdings from the latest stored snapshot.
- Parameters: optional
credentials_token(one or many),portfolio_id,currency,inv_type,subtype,min_balance,page,page_size,fields,include_source_token - Returns: paginated list with
name,isin,amount,balance,currency,valuation_date,type,subtype
flanks-investment-transactions
Fetch historical investment transactions from the latest stored snapshot.
- Parameters: optional
credentials_token(one or many),investment_id,start_date,end_date,page,page_size,fields,include_source_token - Returns: paginated list with
operationDate,description,amount,balance,currency,unitPrice
Typical flows
Connect a new bank account:
flanks-connectors → flanks-create-connect-session (with connector_id) → poll flanks-session-status until Finished:OK → connection appears in flanks-credentials
Re-login or unblock an existing connection:
flanks-create-connect-session (with connection_id) → poll flanks-session-status
Read portfolio and investment data:
flanks-credentials → flanks-portfolios → flanks-investments → flanks-investment-transactions
Example questions
Once connected, you can ask your AI assistant questions like:
- "What bank connections do I have set up?"
- "Show me all my portfolio accounts and their balances."
- "List my investment holdings in EUR."
- "What transactions happened in my equity portfolio last month?"
- "Do any of my bank connections need re-authentication?"
- "Connect my BBVA account."
- "What investment funds do I hold across all my connected banks?"