Skip to main content
Glama
JosueM1109

personal-finance-mcp

by JosueM1109

personal-finance-mcp

License: MIT Python 3.11+ MCP

Inoffiziell. Dieses Projekt ist nicht mit Plaid Inc. verbunden, wird von dieser nicht unterstützt oder gesponsert. "Plaid" ist eine Marke von Plaid Inc. Dies ist ein selbstgehosteter Client, der mit der API von Plaid unter Verwendung Ihrer bereitgestellten Anmeldedaten kommuniziert.

Ein selbstgehosteter, schreibgeschützter MCP-Server, der Ihre Banken, Kreditkarten, Kredite und Brokerage-Konten (über Plaid) mit einem MCP-Client wie Claude Code verbindet. Stellen Sie Fragen zu Ihren eigenen Finanzen in einfachem Englisch — ohne Drittanbieter-Aggregator (Monarch, Mint, etc.).

Was Sie fragen können

  • "Wie hoch ist mein Gesamtsaldo über alle Konten hinweg?"

  • "Zeige mir Transaktionen über 100 $ in den letzten 30 Tagen."

  • "Für welche Abonnements zahle ich noch?"

  • "Wie viel habe ich letzten Monat für Lebensmittel ausgegeben?"

  • "Muss irgendeine Bank neu authentifiziert werden?"

Beispielsitzung (illustrativ):

you    : What did I spend on groceries last month?
claude : [calls get_transactions]
         $487.23 across 14 transactions. Top merchants:
         Whole Foods ($198), Trader Joe's ($156), Safeway ($89).

you    : Any subscriptions I'm still paying for?
claude : [calls get_recurring_transactions]
         7 active recurring outflows totaling $142/mo:
         Netflix ($15.99), Spotify ($11.99), NYT ($4), ...

Related MCP server: plaid-mcp

Tools

Alle 9 Tools sind schreibgeschützt. Jedes gibt {<data>: [...], "warnings": [...]} zurück, sodass eine defekte Bankverbindung nicht die gesamte Abfrage unterbricht.

Tool

Funktion

list_accounts

Jedes Konto bei jeder verknüpften Bank, mit Salden

get_balances

Aktuelle + verfügbare Salden (optional nach Konto gefiltert)

get_transactions

Transaktionen in einem Datumsbereich (bis zu 2 Jahre zurück)

search_transactions

Stichwortsuche nach Händler / Name / Gegenpartei

get_recurring_transactions

Erkannte wiederkehrende Einnahmen- + Ausgabenströme

get_liabilities

Kreditkarten, Studienkredite, Hypotheken mit effektivem Jahreszins und Zahlungsdetails

get_investment_holdings

Aktuelle Bestände mit Symbol + Wertpapier-Metadaten

get_investment_transactions

Kauf- / Verkaufs- / Dividendenhistorie in einem Datumsbereich

get_institutions_status

Status jeder verknüpften Bank (zeigt an, ob eine Neu-Authentifizierung nötig ist)

Schnellstart

Erfordert Python 3.11+, ein Plaid-Konto (kostenloser Testplan) und einen MCP-Client.

1. Plaid-Einrichtung

  1. Registrieren Sie sich unter https://dashboard.plaid.com/signup → wählen Sie den Trial-Plan (kostenlos, 10 Elemente).

  2. Team Settings → Products: aktivieren Sie Transactions, Liabilities, Investments.

  3. Team Settings → API: kopieren Sie Ihre client_id und das Produktions-secret.

2. Installation

git clone https://github.com/JosueM1109/personal-finance-mcp.git
cd personal-finance-mcp
python3.11 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env   # then fill in PLAID_CLIENT_ID and PLAID_SECRET
pytest -v              # sanity check

3. Jede Bank verknüpfen

Führen Sie dies einmal pro Bank aus, die Sie verbinden möchten:

uvicorn link_helper:app --port 8765

Öffnen Sie http://localhost:8765, klicken Sie auf Link a bank und schließen Sie Plaid Link ab. Das Terminal gibt eine Zeile wie PLAID_TOKEN_CHASE=access-prod-xxx... aus — fügen Sie diese in .env ein und wiederholen Sie den Vorgang für jede Bank.

4. Ausführen

python server.py   # serves on http://localhost:8000/mcp

5. Zu Claude Code hinzufügen

claude mcp add --transport http personal-finance http://localhost:8000/mcp

Versuchen Sie "list my accounts", um es zu bestätigen.

Bereitstellung

Für eine Bereitstellung, die Sie von überall nutzen können:

  • Docker (enthalten): docker build -t personal-finance-mcp . && docker run --rm -p 8000:8000 --env-file .env personal-finance-mcp

  • Jeder Python-Host (Fly.io, Railway, Raspberry Pi + Tailscale, ein VPS): setzen Sie die Umgebungsvariablen aus .env.example, machen Sie /mcp über HTTPS verfügbar und sichern Sie es mit einer Authentifizierung.

  • Prefect Horizon (was der Autor verwendet — 0 $ laufende Kosten): siehe docs/DEPLOYMENT.md für die vollständige Anleitung.

Sichern Sie den Endpunkt. Ein exponierter MCP-Endpunkt mit Ihren Tokens legt jedes verknüpfte Konto offen. Verwenden Sie OAuth 2.1, Cloudflare Access oder binden Sie ihn nur an ein privates Netzwerk.

Sicherheit

  • Single-Tenant. Eine Bereitstellung pro Person. Nicht teilen.

  • Schreibgeschützt. Kein Tool ändert den Status bei irgendeinem Institut. Fügen Sie keine Tools hinzu, die dies tun.

  • Tokens leben in Umgebungsvariablen, niemals auf der Festplatte. .env ist in gitignore enthalten.

  • Sie sind für die Plaid-Compliance verantwortlich. Sie sind der Plaid-Kunde unter Ihrem eigenen Konto.

Vor jeder Bereitstellung:

  • [ ] .env niemals committen: git log --all -- .env gibt nichts zurück

  • [ ] Keine echten Tokens in der Historie: git log -S'access-prod-' --all gibt nur Platzhalter zurück

  • [ ] Authentifizierungsschutz vor dem MCP-Endpunkt (oder nur localhost)

  • [ ] HORIZON=1 (oder ähnlich) in der Bereitstellungsumgebung gesetzt, blockiert link_helper.py dort

  • [ ] Überprüfen Sie get_institutions_status() alle paar Wochen auf notwendige Neu-Authentifizierungen

Fehlerbehebung

Tool gibt trotz echter Daten nichts zurück. Plaid-Produkte waren nicht aktiviert, als Sie die Bank verknüpft haben. Verknüpfen Sie sie erneut mit aktivierten Transactions + Liabilities + Investments. Das Tool zeigt PRODUCTS_NOT_SUPPORTED in warnings an, wenn dies die Ursache ist.

get_institutions_status() zeigt re_auth_required. Die Plaid-Sitzung der Bank ist abgelaufen. Führen Sie link_helper.py im Update-Modus aus — Ihr bestehendes Zugriffstoken bleibt gleich. Siehe docs/DEPLOYMENT.md.

Plaid Link zeigt eine Bank als "nicht unterstützt" an (häufig bei Amex). Normalerweise ein INSTITUTION_REGISTRATION_REQUIRED-Problem — OAuth-Banken benötigen zuerst eine Registrierung pro Institut im Plaid-Dashboard. Siehe docs/TROUBLESHOOTING.md.

Weitere Probleme: docs/TROUBLESHOOTING.md.

Architektur

  • server.py — FastMCP-Server, 9 schreibgeschützte Tools.

  • plaid_client.py — Plaid SDK-Wrapper: SecretStr-Token-Schwärzung, 5-Minuten-Gesundheits-Cache pro Element, Antwortformatierung, strukturierte Fehlerzuordnung.

  • link_helper.py — Nur lokal verfügbare FastAPI-App für Plaid Link. Verweigert den Betrieb, wenn HORIZON=1 gesetzt ist.

Tieferer Einblick (einschließlich warum /transactions/get statt /transactions/sync): docs/ARCHITECTURE.md.

Mitwirken

Siehe CONTRIBUTING.md. Der Umfang ist bewusst eng gefasst: schreibgeschützt, Single-Tenant, Plaid-basiert.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A read-only MCP server that enables users to analyze their real bank, credit card, loan, and brokerage data through Plaid. It provides financial analysis tools for transactions, balances, investments, liabilities, and debt while keeping all access tokens and data locally stored.
    24
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Self-hosted MCP server enabling Claude to query bank accounts, balances, and transactions through Plaid with OAuth and TLS.
  • A
    license
    B
    quality
    A
    maintenance
    open-source personal finance app with a first-party MCP server. 91 HTTP tools (OAuth 2.1 + DCR) and 87 stdio tools cover transactions, budgets, accounts, portfolio analytics, FX conversion, loans, subscriptions, goals, importers, and rules. Users self-host with Docker + PostgreSQL or use the managed cloud
    89
    11
    AGPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server that provides read-only SQL access to financial accounts via Plaid, enabling natural language queries about transactions, balances, and holdings.
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth

  • Brazilian Open Finance MCP — 30+ banks (Itaú, Nubank, etc.) to Claude/Cursor. Read-only.

  • Read-only bank access for your AI agent. Connects Claude, ChatGPT, Cursor, Gemini, Codex.

View all MCP Connectors

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/JosueM1109/personal-finance-mcp'

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