Skip to content

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:

  1. Open Claude Desktop and go to Settings → Connectors.
  2. Click Add Custom Connector.
  3. Enter a name, for example Flanks MCP.
  4. In the Server URL field, enter:
    https://flanks-mcp.flanks.io/mcp
    
  5. Open Advanced settings and enter your Flanks credentials:
    • client_id
    • client_secret
  6. Click Save.
  7. 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 be true to 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-connectorsflanks-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-credentialsflanks-portfoliosflanks-investmentsflanks-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?"