Skip to main content
Glama
elcukro

bank-mcp

by elcukro

🏦 bank-mcp

Geben Sie Ihrem KI-Assistenten sicheren, schreibgeschützten Zugriff auf Ihre Bankkonten.

npm version License: MIT CI Node.js TypeScript


Die meisten Menschen verwalten ihre Finanzen, indem sie sich bei Bankportalen anmelden, CSV-Dateien herunterladen und Tabellenkalkulationen erstellen. bank-mcp beseitigt diese Reibungsverluste, indem es Ihrem KI-Assistenten ermöglicht, Ihre Bankkonten direkt abzufragen – Kontostände, Transaktionen, Ausgabenaufschlüsselungen – durch natürliche Konversation. Es verbindet sich über das Model Context Protocol mit echten Bank-APIs, sodass jeder MCP-kompatible Client (Claude Code, Claude Desktop und andere) Ihre Finanzen verstehen kann.

  • 5 Anbieter, über 15.000 Institute — US-amerikanische und europäische Banken abgedeckt

  • Von Natur aus schreibgeschützt — kein Schreibzugriff, keine Überweisungen, keine Änderungen

  • Funktioniert mit jedem MCP-Client — Claude Code, Claude Desktop, Cursor und mehr

  • Erweiterbare Architektur — fügen Sie Ihren eigenen Anbieter in unter 100 Zeilen hinzu

Inhaltsverzeichnis

Unterstützte Anbieter

Anbieter

Region

Institute

Authentifizierungsmethode

Einrichtungsaufwand

Enable Banking

Europa

2.000+

RSA-Schlüssel + Sitzung

Mittel

Teller

USA

7.000+

mTLS-Zertifikat

Mittel

Plaid

USA / CA / EU

12.000+

Client-ID + Secret

Einfach

Tink

Europa

3.400+

OAuth2-Token

Einfach

Mock

Demo

Keine

Sofort

US-Banken

Unterstützt durch Plaid und Teller – deckt die Top 20 US-Institute und Tausende weitere ab:

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

Europäische Banken

Unterstützt durch Enable Banking und Tink – deckt große Banken in der EU und im Vereinigten Königreich ab:

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

Schnellstart

1. Führen Sie den Einrichtungsassistenten aus

npx @bank-mcp/server init

Der interaktive Assistent führt Sie durch alles – Anbieterauswahl, Anmeldedaten, Bankautorisierung und Kontoverifizierung – alles mit einer ausgefeilten Terminal-Benutzeroberfläche:

┌  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. Zu Ihrem MCP-Client hinzufügen

Am Ende der Einrichtung fragt der Assistent, welchen MCP-Client Sie verwenden, und zeigt die genaue Konfiguration an:

  • Claude Code — ein Befehl: claude mcp add bank -- npx @bank-mcp/server

  • Cursor — hinzufügen zu .cursor/mcp.json

  • Windsurf — hinzufügen zu ~/.codeium/windsurf/mcp_config.json

  • Gemini CLI — hinzufügen zu ~/.gemini/settings.json

  • Codex CLI — hinzufügen zu ~/.codex/config.json

Verwenden Sie ein anderes Tool? Siehe Client-Einrichtung für alle unterstützten Clients, einschließlich Claude Desktop, VS Code und Zed.

3. Ausprobieren

Fragen Sie Ihren KI-Assistenten in natürlicher Sprache nach Ihren Finanzen:

"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-Modus

Sie haben noch keine Bankdaten? Starten Sie mit realistischen Fake-Daten:

npx @bank-mcp/server --mock

Dies startet mit einem Mock-Anbieter, der deterministische Beispielkonten und Transaktionen generiert – perfekt zum Testen Ihrer Einrichtung oder zum Aufbau auf bank-mcp, bevor Sie echte Konten verbinden.

Client-Einrichtung

bank-mcp funktioniert mit jedem MCP-kompatiblen Client. Wählen Sie Ihr Tool unten aus.

Claude Code

Hinzufügen zu .mcp.json in Ihrem Projektstammverzeichnis (oder ~/.claude/.mcp.json für alle Projekte):

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

Oder über die CLI hinzufügen:

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

Claude Desktop

Hinzufügen zu Ihrer claude_desktop_config.json:

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

Speicherort der Konfigurationsdatei:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Cursor

Hinzufügen zu .cursor/mcp.json in Ihrem Projektstammverzeichnis (oder global unter ~/.cursor/mcp.json):

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

VS Code (Copilot)

Hinzufügen zu .vscode/mcp.json in Ihrem Arbeitsbereich:

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

Windsurf

Hinzufügen zu ~/.codeium/windsurf/mcp_config.json:

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

OpenAI Codex CLI

Hinzufügen zu ~/.codex/config.toml (oder .codex/config.toml in Ihrem Projekt):

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

Oder über die CLI hinzufügen:

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

Gemini CLI

Hinzufügen zu ~/.gemini/settings.json (oder .gemini/settings.json in Ihrem Projekt):

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

Zed

Hinzufügen zu Ihrer Zed settings.json:

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

Sehen Sie Ihr Tool nicht? bank-mcp verwendet den Standard-MCP-stdio-Transport. Jeder Client, der MCP-stdio-Server unterstützt, kann sich mit npx @bank-mcp/server als Befehl verbinden.

Verfügbare Tools

Tool

Beschreibung

Wichtige Parameter

list_accounts

Alle Bankkonten über Verbindungen hinweg auflisten

connectionId?

list_transactions

Transaktionen mit Filterung abrufen

accountId, from?, to?, minAmount?, maxAmount?

search_transactions

Volltextsuche in Beschreibungen und Händlern

query, accountId?, from?, to?

get_balance

Aktuelle und verfügbare Kontostände

accountId, connectionId?

spending_summary

Ausgaben gruppiert nach Händler oder Kategorie

accountId, from?, to?, groupBy?

Screenshots

Alle Beispiele unten verwenden Claude Code mit dem Mock-Anbieter (npx @bank-mcp/server --mock).

Konten auflisten"List my bank accounts"

Konten auflisten

Kontostände prüfen"What's my current balance?"

Kontostände

Transaktionsverlauf"Show my transactions from the last 15 days"

Letzte Transaktionen mit Ausgabenaufschlüsselung

Transaktionen suchen"Find all Starbucks purchases in last 2 weeks"

Starbucks-Einkäufe finden

Ausgaben nach Kategorie"Show my spending by category this month"

Kategorieaufschlüsselung mit Diagramm

Top-Händler"Which merchants am I spending the most at?"

Händler-Ausgabenaufschlüsselung

Abonnement-Tracking"Show my recurring subscriptions"

Analyse wiederkehrender Abonnements

Lebensmittelvergleich"Compare Trader Joe's vs Whole Foods spending"

Analyse Trader Joe's vs Whole Foods

Vollständiges Finanzbild"Give me my full February financial picture"

Monatliche Einnahmen, Ausgaben und Ersparnisse

Architektur

Dateistruktur

~/.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/              # EU Open Banking via Tink API
    mock/              # Deterministic fake data
  tools/               # MCP tool implementations
  utils/
    cache.ts           # In-memory TTL cache
    http.ts            # Fetch with timeout + retry

Anbieter-Schnittstelle

Jeder Anbieter erweitert dieselbe abstrakte Klasse, was es einfach macht, neue Integrationen hinzuzufügen:

abstract class BankProvider {
  abstract listAccounts(config): Promise<BankAccount[]>;
  abstract listTransactions(config, accountId, filter?): Promise<Transaction[]>;
  abstract getBalance(config, accountId): Promise<Balance[]>;
  abstract getConfigSchema(): ConfigField[];
}

Anleitungen zur Anbietereinrichtung

Enable Banking (PSD2)

Was Sie benötigen:

  • [ ] Ein Enable Banking-Konto mit einer registrierten App

  • [ ] Ihren privaten RSA-Schlüssel (.pem-Datei, heruntergeladen bei der Erstellung der App)

npx @bank-mcp/server init
# Select: Enable Banking → enter App ID + key path
# Pick your country → select your bank
# Log in at your bank → paste the redirect URL
# → Session created, accounts verified!

Tipp: Der Assistent übernimmt den gesamten OAuth-Ablauf – Einrichtung der Redirect-URI, Bankauswahl und Sitzungserstellung. Sitzungen laufen nach 90 Tagen ab (PSD2-Verordnung); führen Sie init erneut aus, um sie zu aktualisieren.

Teller (US-Banken)

Was Sie benötigen:

  • [ ] Ein Teller-Entwicklerkonto

  • [ ] Ihre Anwendungs-ID (aus dem Teller-Dashboard)

npx @bank-mcp/server init
# Select: Teller → enter Application ID
# Pick environment (sandbox for testing)
# → Teller Connect opens in your browser
# → Link your bank, token captured automatically!

Tipp: Starten Sie mit Sandbox – keine Zertifikate erforderlich, sofortige Testdaten. Für Entwicklung/Produktion fragt der Assistent nach mTLS-Zertifikatspfaden. Der kostenlose Tarif unterstützt bis zu 100 Live-Verbindungen.

Plaid (USA/CA/EU)

Was Sie benötigen:

  • [ ] Ein Plaid-Entwicklerkonto (kostenlose Registrierung)

  • [ ] Ihre Client-ID und Ihr Secret (aus dem Plaid-Dashboard)

npx @bank-mcp/server init
# Select: Plaid → enter client ID + secret
# Pick environment (sandbox for testing)
# → Sandbox: token created automatically!
# → Dev/Prod: paste an existing access token

Tipp: Starten Sie mit Sandbox – der Assistent erstellt automatisch ein Test-Token, kein Browser erforderlich. Plaid bietet die reichhaltigste Transaktionskategorisierung – 104 Unterkategorien mit Konfidenzwerten – ideal für LLM-gesteuerte Ausgabenanalysen.

Tink (EU Open Banking)

Was Sie benötigen:

  • [ ] Ein Tink-Entwicklerkonto (kostenlos zum Testen)

  • [ ] Ihre Client-ID und Ihr Client-Secret (aus der Tink Console)

npx @bank-mcp/server init
# Select: Tink → enter Client ID + Secret
# Pick your market (country)
# → Tink Link opens in your browser
# → Connect your bank, paste redirect URL

Tipp: Tink deckt über 3.400 Banken in ganz Europa ab. Verwenden Sie für die Sandbox die Demo-Bank mit Test-Anmeldedaten (im Assistenten angezeigt). Transaktionen beinhalten PFM-Kategorien mit Händleranreicherung.

Caching

Alle Daten werden im Arbeitsspeicher zwischengespeichert (keine Festplattenpersistenz – der Cache stirbt mit dem Prozess):

Daten

TTL

Warum

Kontenliste

1 Stunde

Konten ändern sich selten; minimiert API-Aufrufe

Transaktionen

15 Minuten

Saldiert neue Transaktionen vs. Aktualität

Kontostände

5 Minuten

Am zeitkritischsten; Benutzer erwarten aktuelle Daten

Der Cache ist pro Verbindung und pro Konto. Ein Neustart des Servers löscht alle Caches.

Mehrere Verbindungen

Konfigurieren Sie so viele Bankverbindungen, wie Sie benötigen – sogar über verschiedene Anbieter hinweg:

{
  "connections": [
    { "id": "ing-main", "provider": "enable-banking", "..." : "..." },
    { "id": "chase-checking", "provider": "plaid", "..." : "..." },
    { "id": "revolut", "provider": "tink", "..." : "..." }
  ]
}

Alle Tools akzeptieren einen optionalen connectionId-Parameter, um eine bestimmte Verbindung anzusprechen. Wenn dieser weggelassen wird, wird jede Verbindung abgefragt und die Ergebnisse werden zusammengeführt – sodass "Zeige alle meine Kontostände" automatisch bankübergreifend funktioniert.

Sicherheit

Designprinzipien

bank-mcp verarbeitet sensible Finanzdaten. Seine Sicherheitslage basiert auf der Minimierung der Angriffsfläche:

  • Von Natur aus schreibgeschützt — die BankProvider-Schnittstelle macht nur Lesemethoden verfügbar (listAccounts, listTransactions, getBalance). Es gibt keine Schreibmethoden – keine Überweisungen, keine Kontenänderungen, keine Zahlungsinitiierung. Dies wird auf Typebene erzwungen, nicht durch Konvention.

  • Kein Netzwerk-Listener — bank-mcp läuft als stdio-Prozess (stdin/stdout), nicht als HTTP-Server. Es gibt keinen offenen Port, keine Angriffsfläche aus dem Netzwerk.

  • Minimale Abhängigkeiten — nur 4 Laufzeitabhängigkeiten (@modelcontextprotocol/sdk, @clack/prompts, jsonwebtoken, zod). Weniger Abhängigkeiten bedeuten weniger Risiken in der Lieferkette.

  • Open Source

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/elcukro/bank-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server