Skip to main content
Glama
lukew0824

plaid-mcp

by lukew0824

plaid-mcp

Ein selbstgehosteter MCP-Server, mit dem Claude Ihre Bankkonten, Salden und Transaktionen über Plaid abfragen kann.

Tools

Tool

Beschreibung

accounts

Alle verknüpften Bankkonten

balances

Aktuelle/verfügbare Salden und Kreditlimits

transactions

Vollständiger Transaktionsverlauf für einen Datumsbereich

total_spending

Gesamtausgaben, aufgeschlüsselt nach Kategorie

transactions_by_category

Transaktionen nach Plaid PFC-Kategorie filtern

merchants

Alle Händler für einen Datumsbereich, sortiert nach Gesamtausgaben

transactions_by_merchant

Transaktionen nach Händlername filtern

Funktionsweise

  • OAuth 2.1 + PKCE mit Google als Identitätsanbieter

  • E-Mail-Allowlist als Sicherheitsgrenze

  • Claude.ai erhält ein 30-Tage-Bearer-Token; Ihr Plaid-Zugriffstoken verlässt niemals Ihren Server

  • Caddy fungiert als Reverse-Proxy vor FastAPI, terminiert TLS auf Port 443 mit automatisch bereitgestellten Let's Encrypt-Zertifikaten und leitet Anfragen an localhost:8080 weiter

Voraussetzungen

  • Ein Linux-Server mit öffentlicher IP (diese Anleitung verwendet eine AWS EC2 t3.micro)

  • Ein Domainname, der darauf verweist (diese Anleitung verwendet eine kostenlose DuckDNS-Subdomain)

  • Ein Plaid-Entwicklerkonto mit Produktionszugriff

  • Ein Google Cloud-Konto für den OAuth-Client

Einrichtung

1. Plaid

  1. Erstellen Sie ein Plaid-Konto unter dashboard.plaid.com

  2. Beantragen Sie den Produktionszugriff im Dashboard (Plaid prüft Ihre Anwendung – dies kann einige Tage dauern)

  3. Sobald die Genehmigung vorliegt, speichern Sie Ihre client_id und das Production-Secret unter Team Settings → Keys

2. Google OAuth

  1. console.cloud.google.com → Projekt erstellen

  2. APIs & Dienste → OAuth-Zustimmungsbildschirm → eine "Externe" App einrichten, sich selbst als Testnutzer hinzufügen

  3. APIs & Dienste → Anmeldedaten → Anmeldedaten erstellen → OAuth-Client-ID

  4. Anwendungstyp: Webanwendung

  5. Autorisierte Weiterleitungs-URIs: https://yourdomain.com/auth/google/callback (verwenden Sie Ihre echte Domain aus Schritt 4 unten)

  6. Speichern Sie die Client-ID und das Client-Secret

3. Server

Diese Anleitung setzt AWS EC2 voraus:

  1. Starten Sie eine t3.micro Ubuntu 24.04 Instanz

  2. Sicherheitsgruppe: eingehendes TCP 22 (SSH von Ihrer IP), 80, 443

  3. Weisen Sie eine Elastic IP zu und verknüpfen Sie diese mit der Instanz

  4. SSH-Zugriff: ssh -i your-key.pem ubuntu@<elastic-ip>

4. Domain

Kostenlose Option mit DuckDNS:

  1. Melden Sie sich mit Google/GitHub/Reddit an

  2. Reservieren Sie eine Subdomain (z. B. plaid-yourname)

  3. Setzen Sie die IP auf Ihre Elastic IP

  4. Ihre Domain lautet nun plaid-yourname.duckdns.org

Gehen Sie zurück zu Schritt 2.5 und setzen Sie den Weiterleitungs-URI auf https://plaid-yourname.duckdns.org/auth/google/callback.

5. Installation

Auf dem Server:

git clone https://github.com/lukew0824/plaid-mcp.git
cd plaid-mcp
cp .env.example .env
nano .env   # fill in everything
./install.sh

Das Skript:

  • Installiert Python, Caddy und Abhängigkeiten

  • Richtet einen systemd-Dienst (plaid-mcp) ein

  • Konfiguriert Caddy als Reverse-Proxy mit automatischem HTTPS via Let's Encrypt

6. Verbindung in Claude.ai

  1. Claude.ai → Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen

  2. URL: https://yourdomain.com/mcp

  3. Klicken Sie auf Verbinden

  4. Melden Sie sich mit dem Google-Konto an, das mit ALLOWED_EMAIL übereinstimmt

  5. Nur beim ersten Mal: Ein Plaid Link-Popup erscheint – verbinden Sie Ihre Bank

  6. Fertig. Versuchen Sie: "Was habe ich letzten Monat für Lebensmittel ausgegeben?"

Konfiguration

Die .env-Werte:

Schlüssel

Beschreibung

PLAID_ENV

production

PLAID_CLIENT_ID

Vom Plaid-Dashboard

PLAID_PRODUCTION_SECRET

Vom Plaid-Dashboard

GOOGLE_CLIENT_ID

Von der Google Cloud Console

GOOGLE_CLIENT_SECRET

Von der Google Cloud Console

ALLOWED_EMAIL

Die einzige Google-E-Mail, die sich authentifizieren darf

BASE_URL

Öffentliche HTTPS-URL dieses Servers (ohne abschließenden Schrägstrich)

DATABASE_URL

sqlite:///./plaid_mcp.db (Standard funktioniert für Self-Hosting)

Lizenz

MIT

Related MCP Connectors