Skip to main content
Glama
yazkyChristianNicolas

personal-finance-mcp-server

personal-finance-mcp-server

MCP-Server für personal-finance-service: stellt seine Geschäftsoperationen (Gruppen, Zahlungsmittel, Ausgaben) als MCP-Tools bereit, authentifiziert mit Keycloak. Gedacht für die Verwendung von Kiro/Claude (interaktiver Login) oder von einem headless Agenten in der Cloud (M2M-Login).

Voraussetzungen

  • Docker + Docker Compose

  • personal-finance-service läuft (docker compose up -d in diesem Repo) – dieser Server verbindet sich mit dessen Keycloak und API, er startet sie nicht selbst.

Related MCP server: MCP Agent - AI Expense Tracker

So führen Sie es aus

cp .env.example .env
# completar KEYCLOAK_CLIENT_SECRET con el secret de mcp-personal-finance-server
# (ver "Setup de Keycloak" en AGENTS.md si todavía no existen los clients)
docker compose up -d --build
  • GET http://localhost:8000/health

  • POST http://localhost:8000/mcp – erfordert Authorization: Bearer <jwt>

MCP-Konfiguration in Kiro

{
  "mcpServers": {
    "personal-finance-remote": {
      "url": "http://localhost:8000/mcp",
      "oauth": {
        "clientId": "mcp-personal-finance-client",
        "scopes": []
      }
    }
  }
}

Beim ersten Gebrauch öffnet Kiro den Browser für den Login gegen Keycloak – verwenden Sie denselben Benutzernamen und dasselbe Passwort, das Sie bereits in personal-finance-service verwenden.

Verfügbare Tools

Tool

Was es tut

search_groups

Listet die Gruppen des Benutzers auf

create_group

Erstellt eine Gruppe

search_group_members

Listet die Mitglieder einer Gruppe auf

search_payment_methods

Listet die Zahlungsmittel des Benutzers auf

create_payment_method

Erstellt ein Zahlungsmittel

patch_payment_method

Ändert ein Zahlungsmittel

delete_payment_method

Löscht ein Zahlungsmittel

search_expenses

Listet Ausgaben auf, mit Filtern

create_expense

Erfasst eine Ausgabe (optional in Raten und/oder geteilt)

close_expense_cycle

Erzeugt die nächste Rate der Ratenzahlungen einer Karte

get_expense

Vollständige Details einer Ausgabe

patch_expense

Ändert eine Ausgabe

delete_expense

Löscht eine Ausgabe

Die Verwaltung der API-Keys von personal-finance-service (erstellen/auflisten/löschen) ist bewusst nicht als Tools exponiert – siehe AGENTS.md.

Headless-Agent (M2M)

Für einen Agenten ohne menschlichen Benutzer dahinter (der den interaktiven Login nicht durchführen kann), verwenden Sie den Client-Credentials-Grant anstelle des Kiro-Flows:

curl -X POST http://localhost:8080/realms/personal-finance/protocol/openid-connect/token \
  -d "grant_type=client_credentials&client_id=mcp-personal-finance-agent&client_secret=$AGENT_CLIENT_SECRET" \
  | jq -r .access_token

Verwenden Sie dieses access_token als Bearer gegen POST /mcp. Der Agent benötigt außerdem UPSTREAM_API_KEY, die in seiner Umgebung konfiguriert ist – eine Personal Finance API Key, die zuvor von einem echten Benutzer generiert wurde (POST /api-keys in personal-finance-service), da sein Token keinen echten Benutzer dieser API repräsentiert.

Weitere Details

Siehe AGENTS.md – Designentscheidungen, bekannte Lücken und warum der Auth-Passthrough funktioniert (und wann er aufhören würde zu funktionieren).

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI tools to interact with Firefly III personal finance management instances through a cloud-deployed MCP server. Supports financial operations like account management, transactions, budgeting, and reporting with configurable tool presets.
    17 npm
    -
  • A
    license
    B
    quality
    B
    maintenance
    Enables agent-friendly access to Monarch Money finances, including accounts, transactions, budgets, cash flow, and mutations through structured MCP tools.
    33
    MIT
  • F
    license
    C
    quality
    C
    maintenance
    Enables users to add expenses, retrieve expenses by date range, and get spending summaries by category through MCP tools.
    4
    -