SkillAgentSearch skills...

Bank MCP

Give your AI assistant secure, read-only access to your bank accounts. MCP server supporting Plaid, Teller, Enable Banking, and Tink.

Install / Use

/learn @elcukro/Bank MCP
About this skill

Quality Score

0/100

Supported Platforms

Claude Code
Claude Desktop
Cursor

README

🏦 bank-mcp

<p align="center"> <img src="bank-mcp.png" alt="bank-mcp — Banking data for AI assistants" width="700"> </p>

Give your AI assistant secure, read-only access to your bank accounts.

npm version License: MIT CI Node.js TypeScript


Most people manage their finances by logging into bank portals, downloading CSVs, and building spreadsheets. bank-mcp eliminates that friction by letting your AI assistant query your bank accounts directly — balances, transactions, spending breakdowns — through natural conversation. It connects to real bank APIs via the Model Context Protocol so any MCP-compatible client (Claude Code, Claude Desktop, and others) can understand your finances.

  • 5 providers, 15,000+ institutions — US and European banks covered
  • Read-only by design — no write access, no transfers, no modifications
  • Works with any MCP client — Claude Code, Claude Desktop, Cursor, and more
  • Pluggable architecture — add your own provider in under 100 lines

Table of Contents

Supported Providers

| Provider | Region | Institutions | Auth Method | Setup Difficulty | |----------|--------|-------------|-------------|-----------------| | Enable Banking | Europe | 2,000+ | RSA key + session | Medium | | Teller | US | 7,000+ | mTLS certificate | Medium | | Plaid | US / CA / EU | 12,000+ | Client ID + secret | Easy | | Tink | Europe | 3,400+ | OAuth2 token | Easy | | Mock | Demo | — | None | Instant |

US Banks

Supported through Plaid and Teller — covering the top 20 US institutions and thousands more:

JPMorgan Chase · Bank of America · Wells Fargo · Citibank · Capital One · U.S. Bank · PNC · Truist · Goldman Sachs · TD Bank · Citizens · Fifth Third · M&T Bank · Huntington · KeyBank · Ally · Regions · BMO · American Express · USAA

European Banks

Supported through Enable Banking and Tink — covering major banks across the EU and UK:

HSBC · BNP Paribas · Deutsche Bank · ING · Crédit Agricole · Santander · Société Générale · UniCredit · Intesa Sanpaolo · Barclays · Lloyds · BBVA · CaixaBank · Commerzbank · Rabobank · ABN AMRO · Swedbank · Handelsbanken · Nordea · PKO Bank Polski

Quick Start

1. Run the setup wizard

npx @bank-mcp/server init

The interactive wizard walks you through everything — provider selection, credentials, bank authorization, and account verification — all with a polished terminal UI:

┌  bank-mcp — Connect your bank account
│
◇  Choose your banking provider
│  Plaid / Teller / Tink / Enable Banking
│
◇  Environment
│  Sandbox / Development / Production
│
◇  Found 3 account(s) ─────────────────────────╮
│    ****1591 (Bank of America Platinum Card)   │
│    ****3588 (Bank of America My Checking)     │
│    ****2450 (Bank of America Essential Savings)│
├───────────────────────────────────────────────╯
│
└  Setup complete!

2. Add to your MCP client

At the end of setup, the wizard asks which MCP client you use and shows the exact configuration:

  • Claude Code — one command: claude mcp add bank -- npx @bank-mcp/server
  • Cursor — add to .cursor/mcp.json
  • Windsurf — add to ~/.codeium/windsurf/mcp_config.json
  • Gemini CLI — add to ~/.gemini/settings.json
  • Codex CLI — add to ~/.codex/config.json

Using a different tool? See Client Setup for all supported clients including Claude Desktop, VS Code, and Zed.

3. Try it

Ask your AI assistant about your finances in natural language:

"What's my checking account balance?"
"Show my spending by category this month"
"Find all Amazon purchases over $50"
"Compare my spending this month vs last month"

Demo Mode

Don't have bank credentials yet? Start with realistic fake data:

npx @bank-mcp/server --mock

This launches with a mock provider that generates deterministic sample accounts and transactions — perfect for testing your setup or building on top of bank-mcp before connecting real accounts.

Client Setup

bank-mcp works with any MCP-compatible client. Pick your tool below.

Claude Code

Add to .mcp.json in your project root (or ~/.claude/.mcp.json for all projects):

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

Or add via the CLI:

claude mcp add bank -- npx @bank-mcp/server

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Cursor

Add to .cursor/mcp.json in your project root (or ~/.cursor/mcp.json globally):

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

VS Code (Copilot)

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "bank": {
      "type": "stdio",
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

OpenAI Codex CLI

Add to ~/.codex/config.toml (or .codex/config.toml in your project):

[mcp_servers.bank]
command = "npx"
args = ["@bank-mcp/server"]

Or add via the CLI:

codex mcp add bank -- npx @bank-mcp/server

Gemini CLI

Add to ~/.gemini/settings.json (or .gemini/settings.json in your project):

{
  "mcpServers": {
    "bank": {
      "command": "npx",
      "args": ["@bank-mcp/server"]
    }
  }
}

Zed

Add to your Zed settings.json:

{
  "context_servers": {
    "bank": {
      "command": {
        "path": "npx",
        "args": ["@bank-mcp/server"]
      }
    }
  }
}

Don't see your tool? bank-mcp uses standard MCP stdio transport. Any client that supports MCP stdio servers can connect using npx @bank-mcp/server as the command.

Available Tools

| Tool | Description | Key Parameters | |------|-------------|----------------| | list_accounts | List all bank accounts across connections | connectionId? | | list_transactions | Fetch transactions with filtering | accountId, from?, to?, minAmount?, maxAmount? | | search_transactions | Full-text search on descriptions and merchants | query, accountId?, from?, to? | | get_balance | Current and available balances | accountId, connectionId? | | spending_summary | Expenses grouped by merchant or category | accountId, from?, to?, groupBy? |

Screenshots

All examples below use Claude Code with the mock provider (npx @bank-mcp/server --mock).

Listing accounts"List my bank accounts"

Listing bank accounts

Checking balances"What's my current balance?"

Account balances

Transaction history"Show my transactions from the last 15 days"

Recent transactions with spending breakdown

Searching transactions"Find all Starbucks purchases in last 2 weeks"

Finding Starbucks purchases

Spending by category"Show my spending by category this month"

Category breakdown with chart

<details> <summary><strong>More examples</strong> (merchant analysis, subscriptions, grocery comparison, financial overview)</summary> <br>

Top merchants"Which merchants am I spending the most at?"

Merchant spending breakdown

Subscription tracking"Show my recurring subscriptions"

Recurring subscription analysis

Grocery comparison"Compare Trader Joe's vs Whole Foods spending"

Trader Joe's vs Whole Foods analysis

Full financial picture"Give me my full February financial picture"

Monthly income, expenses, and savings

</details>

Architecture

<p align="center"> <img src="architecture.png" alt="bank-mcp architecture diagram" width="700"> </p>

File Structure

~/.bank-mcp/
  config.json          # Connections & credentials (permissions: 600)
  keys/                # RSA keys and certificates

src/
  providers/
    base.ts            # Abstract BankProvider class
    registry.ts        # Provider registration
    enable-banking/    # PSD2 via Enable Banking API
    teller/            # US banks via mTLS
    plaid/             # US/CA/EU via Plaid API
    tink/     

Related Skills

View on GitHub
GitHub Stars7
CategoryDevelopment
Updated19d ago
Forks1

Languages

TypeScript

Security Score

90/100

Audited on Mar 5, 2026

No findings