Skip to main content
Glama
MrLightful

sparebank1-mcp

by MrLightful

SpareBank 1 MCP

WARNING

Independent project, not affiliated with, endorsed by, or certified by SpareBank 1.

Local MCP server for SpareBank 1 personal banking: accounts, balances, transactions, CSV exports, and optional transfers between your own accounts, including credit cards and pensions.

Requires Node.js 22+, a SpareBank 1 customer account, and a personal API client.

Setup

Register your API client with the exact redirect URI below, then set credentials in your local terminal and log in:

export SB1_CLIENT_ID="your-client-id"
export SB1_CLIENT_SECRET="your-client-secret"
export SB1_REDIRECT_URI="http://127.0.0.1:8765/callback"
npx -y sparebank1-mcp@0.0.1 login

Open the printed URL and complete BankID. Automatic login needs a registered loopback URL such as http://127.0.0.1:8765/callback. For an HTTPS redirect, add --manual and paste the full redirect URL into the terminal. Keep credentials and callback URLs out of chat.

Add this to your MCP client's configuration using the same credentials and redirect URI:

{
  "mcpServers": {
    "sparebank1": {
      "command": "npx",
      "args": ["-y", "sparebank1-mcp@0.0.1"],
      "env": {
        "SB1_CLIENT_ID": "your-client-id",
        "SB1_CLIENT_SECRET": "your-client-secret",
        "SB1_REDIRECT_URI": "http://127.0.0.1:8765/callback"
      }
    }
  }
}

Restart the client and ask: “Show my accounts and available balances.”

The server provides 11 read tools for authentication status, accounts, and transactions. See the tool and endpoint reference and configuration options.

Related MCP server: trclient-mcp

Transfers

Transfers are disabled by default. To enable them, add these entries to the MCP configuration's env object and restart the client:

{
  "SB1_ENABLE_TRANSFERS": "true",
  "SB1_MAX_TRANSFER_AMOUNT": "10000.00"
}

sb1_preview_transfer creates a preview valid for five minutes. sb1_confirm_transfer submits it after explicit approval in a trusted client's MCP form elicitation UI. The limit applies per transfer in the source currency, not per day.

Transfer submissions are never retried automatically. If the outcome is unknown, check online banking before attempting another transfer. A submission receipt does not guarantee settlement.

Local commands

npx -y sparebank1-mcp@0.0.1 status
npx -y sparebank1-mcp@0.0.1 logout

Tokens refresh automatically and are stored as plaintext in ~/.config/sparebank1-mcp/tokens.json with mode 0600. logout deletes local tokens; stop running server instances afterward. Revoke bank authorization separately in the developer portal. Banking data is shared with your MCP client and may enter its model context.

Development

From the repository root:

npm ci
npm run check
node dist/index.js login

Use the environment variables from Setup, or copy .env.example to .env, run chmod 600 .env, and launch with node --env-file=.env dist/index.js. Add login for BankID authentication. For MCP clients, use your Node executable and the absolute path to dist/index.js in place of npx.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A read-only MCP server that securely connects Swedish/Nordic bank accounts to AI assistants, keeping all financial data local and encrypted.
    12 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables local management of Trade Republic accounts, including portfolio, cash, orders, documents, and market data, with dry-run order previews and safety guardrails.
    22
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to view personal bank accounts, balances, and transaction history through a local stdio MCP connection. It uses the non-public mobile banking API with locally stored session credentials and no payment or generic HTTP tools.
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Privacy-first MCP server for the Starling Bank (UK) public API. Covers all 87 operations: balances, transactions, spaces and savings goals, cards, direct debits, payees, payments and standing orders, plus local spending and subscription analysis. Read-only by default; local stdio only with no telemetry; token stored in the macOS Keychain; human confirmation before any money moves.
    54
    7 npm
    MIT