Money Lover MCP Server
Money Lover MCP Server
Node.js-Implementierung eines Model Context Protocol (MCP)-Servers, der die inoffizielle Money Lover REST-API kapselt. Der Server stellt 27 MCP-Tools für Authentifizierung, Geldbörsen, Kategorien, Transaktionen, Ereignisse, Schulden und statische Konfiguration bereit – dies ermöglicht KI-Assistenten oder MCP-kompatiblen Clients das Abfragen und Verwalten von persönlichen Finanzdaten.
Funktionen
Automatische Authentifizierung über
EMAIL/PASSWORD-Umgebungsvariablen – für die meisten Tools ist keine Token-Übergabe erforderlich.23 Lese-Tools für Benutzerinformationen, Geldbörsen, Kategorien, Transaktionen, Ereignisse, Schulden, Symbole, Anbieter und statische Konfiguration.
4 Schreib-Tools: Erstellen, Aktualisieren und Löschen von Transaktionen, Geldbörsen und Kategorien.
Große Antworten werden automatisch gekürzt, um den LLM-Kontext überschaubar zu halten (konfigurierbar über den
limit-Parameter).Stdio-basierter Server, kompatibel mit Claude Code, Claude Desktop, Cursor und jedem MCP-Host.
Token-Caching pro E-Mail unter
~/.moneylover-mcp/mit automatischer Aktualisierung bei Authentifizierungsfehlern.
Related MCP server: YNAB Assistant
Voraussetzungen
Node.js 22 oder neuer.
Money Lover-Zugangsdaten.
Installation
npm installVerwendung
Starten Sie den MCP-Server über stdio:
npm startProjektbezogene Konfiguration (Claude Code)
Fügen Sie .mcp.json im Projektstammverzeichnis hinzu:
{
"mcpServers": {
"mcp-moneylover": {
"command": "node",
"args": ["/absolute/path/to/moneylover-mcp/src/server.js"],
"env": {
"EMAIL": "your@email.com",
"PASSWORD": "your-password"
}
}
}
}Und aktivieren Sie es in .claude/settings.json:
{ "enabledMcpjsonServers": ["mcp-moneylover"] }Globale Konfiguration (Claude Desktop / Cursor)
{
"mcpServers": {
"mcp-moneylover": {
"command": "npx",
"args": ["@ferdhika31/moneylover-mcp@latest"],
"env": {
"EMAIL": "your@email.com",
"PASSWORD": "your-password"
}
}
}
}Verfügbare Tools
Auth
Tool | Beschreibung | Argumente |
| Ruft ein JWT-Token ab. |
|
Benutzer
Tool | Beschreibung | Argumente |
| Mit der Sitzung verknüpftes Profil. | — |
| Geräte und aktive Sitzungen. | — |
| Erweiterte Profildaten. | — |
Geldbörsen (Wallets)
Tool | Beschreibung | Argumente |
| Alle Geldbörsen auflisten. | — |
| Saldoübersicht für eine Geldbörse. |
|
| Mit anderen Benutzern geteilte Geldbörsen. | — |
| Ausstehende Einladungen zur Freigabe. | — |
| Eine neue Geldbörse erstellen. |
|
| Name, Symbol oder Währung der Geldbörse aktualisieren. |
|
| Eine Geldbörse dauerhaft löschen. |
|
Kategorien
Tool | Beschreibung | Argumente |
| Kategorien für eine bestimmte Geldbörse. |
|
| Alle Kategorien über alle Geldbörsen hinweg. | optional |
| Eine Kategorie in einer Geldbörse erstellen. |
|
| Eine Kategorie umbenennen oder deren Symbol ändern. |
|
| Eine Kategorie löschen. |
|
Transaktionen
Tool | Beschreibung | Argumente |
| Transaktionen in einem Datumsbereich. |
|
| Eine Transaktion erstellen. Kategorie-IDs aus |
|
| Eine Transaktion aktualisieren. Die API erfordert bei jeder Bearbeitung die vollständige Nutzlast – rufen Sie die Transaktion zuerst ab, wenn Sie aktuelle Werte benötigen. |
|
| Eine Transaktion löschen. |
|
| Freitextsuche mit optionalen Filtern. | optional |
| Als Schulden/Darlehen markierte Transaktionen. | — |
| Zugehörige Transaktionen nach ID-Liste. |
|
| Zugehörige Transaktionen für eine Kategorie. |
|
| Zugehörige Transaktionen für eine Geldbörse. |
|
| Verfügbare Suchfilteroptionen. | optional |
Statik & Konfiguration
Tool | Beschreibung | Argumente |
| Sparziele/Ereignisse für eine Geldbörse. |
|
| Offene Schulden in einer Geldbörse. |
|
| Metadaten des Symbolpakets. | optional |
| Unterstützte Bankanbieter. | — |
| Währungskatalog. | optional |
| Snapshot der USD-basierten Wechselkurse. | — |
| Sonstige Laufzeitkonfiguration. | — |
Beispiele für die Tool-Verwendung
Beispiele für Prompts, erforderliche vs. optionale Felder, Fallstricke und gängige mehrstufige Muster für jedes Tool: docs/examples.md.
Bibliotheksverwendung
import { MoneyloverClient } from './src/moneyloverClient.js';
const token = await MoneyloverClient.getToken(email, password);
const client = new MoneyloverClient(token);
const wallets = await client.getWallets();
const txns = await client.getTransactions(walletId, '2026-01-01', '2026-04-30');
await client.addTransaction({ walletId, categoryId, amount: '50000', date: '2026-04-18' });
await client.editTransaction('txn-id', { amount: '60000', note: 'updated' });
await client.deleteTransaction('txn-id');Testen
Unit-Tests
Gemockte Unit-Tests – keine Live-API-Aufrufe erforderlich:
npm testIntegrationstests (mcp-tester)
mcp-tester ist ein auf ReAct-Agenten basierendes MCP-Testframework. Es startet den Server, steuert ein LLM zur Ausführung von Tools als Reaktion auf natürlichsprachliche Prompts und prüft, ob die korrekten Tools mit den korrekten Argumenten aufgerufen wurden.
Installation
pipx install --index-url https://pypi.artifacts.furycloud.io/simple/ mcp-testerKonfiguration
tests/mcp-tester/mcps.json – verweisen Sie auf den lokalen Server mit Ihren Zugangsdaten:
{
"mcp-moneylover": {
"command": "node",
"args": ["/absolute/path/to/src/server.js"],
"transport": "stdio",
"env": {
"EMAIL": "your@email.com",
"PASSWORD": "your-password"
}
}
}Ausführung
mcp-tester run-tests \
--mcps tests/mcp-tester/mcps.json \
--model gpt-4o-mini \
--concurrent-runs 3 \
tests/mcp-tester/read-tools.yamlErgebnisse
tests/mcp-tester/read-tools.yaml enthält 25 Integrationstests, die jedes Lese-Tool abdecken:
total 25, success 25, failures 0Die wichtigsten Entscheidungen, die die Tests stabil machen:
Kein Token-Parameter bei Lese-Tools – das Offenlegen eines optionalen
token-Feldes führte dazu, dass LLMs Geldbörsen-IDs dort einfügten. Der Server authentifiziert sich automatisch über Umgebungsvariablen.Antwortkürzung – mehrere Endpunkte geben Hunderttausende von Datensätzen aus der gemeinsam genutzten MoneyLover-Datenbank zurück. Tools akzeptieren einen
limit-Parameter (Standard: 20–100), um den LLM-Kontext unter Kontrolle zu halten.Dict-Wrapping – alle Tool-Antworten geben ein JSON-Objekt zurück (niemals ein reines Array), damit die Validierung des MCP-Frameworks erfolgreich ist.
Schreib-Tool-Tests (mcp-tester)
Drei zusätzliche YAML-Dateien testen den vollständigen CRUD-Lebenszyklus für Geldbörsen, Kategorien und Transaktionen in drei aufeinanderfolgenden Phasen. Jede Phase führt alle drei Ressourcentypen gleichzeitig aus.
Datei | Phase | Tests |
| Erstellen |
|
| Bearbeiten |
|
| Löschen |
|
Führen Sie die Phasen nacheinander aus – jede hängt von der vorherigen ab:
# Phase 1: Create
mcp-tester run-tests --mcps tests/mcp-tester/mcps.json --model gpt-4o-mini --concurrent-runs 3 tests/mcp-tester/write-create.yaml
# Phase 2: Edit (after Phase 1 passes)
mcp-tester run-tests --mcps tests/mcp-tester/mcps.json --model gpt-4o-mini --concurrent-runs 3 tests/mcp-tester/write-edit.yaml
# Phase 3: Delete (after Phase 2 passes)
mcp-tester run-tests --mcps tests/mcp-tester/mcps.json --model gpt-4o-mini --concurrent-runs 3 tests/mcp-tester/write-delete.yamlErgebnisse über alle drei Phasen hinweg:
Phase 1 (Create): total 3, success 3, failures 0
Phase 2 (Edit): total 3, success 3, failures 0
Phase 3 (Delete): total 3, success 3, failures 0Die wichtigsten Designentscheidungen für Schreib-Tool-Tests:
Erkennung vor Mutation – Tests zum Bearbeiten und Löschen weisen den Agenten an, zuerst ein Lese-Tool (
get_wallets,get_categories,get_transactions) aufzurufen, um das Ziel anhand des Namens zu finden, und dann das Mutations-Tool aufzurufen. Dies spiegelt das reale Verhalten von Agenten wider, bei denen IDs nicht im Voraus bekannt sind.args: !anyfür Schreib-Tool-Assertionen – Das Framework erfordert eine exakte Übereinstimmung der Argumente. Schreib-Tools akzeptieren optionale Felder (icon,withusw.), die der Agent nach eigenem Ermessen einfügen kann;!anyüberprüft, ob das Tool aufgerufen wurde und erfolgreich war, ohne bei harmlosen Extras zu scheitern. Assertionen für Lese-Tools können exakte Argumentübereinstimmungen verwenden, da deren Schemata keine optionalen Felder enthalten, die das LLM spontan hinzufügen würde.Vorhersehbare Bezeichner – Testressourcen verwenden feste Namen (
MCP-Test-Wallet,MCP-Test-Category) und eine feste Notiz (MCP test transaction), damit der Agent sie während der Bearbeitungs- und Löschphasen anhand des Namens finden kann, ohne den Status zwischen Testläufen teilen zu müssen.Vollständige Payload-Bearbeitungs-Assertionen –
edit_transactionist ein Vorgang, der den gesamten Datensatz ersetzt; der Test-Prompt weist den Agenten an, zuerst die vorhandene Transaktion abzurufen (get_transactions) und alle aktuellen Feldwerte zu übernehmen, wobei nur die Notiz geändert wird. Dies validiert das mehrstufige Denken, das die Tool-Beschreibung erfordert.
Sicherheitshinweise
Committen Sie niemals echte Zugangsdaten oder Token.
Zwischengespeicherte Token befinden sich in
~/.moneylover-mcp/und sind auf den aktuellen Benutzer beschränkt.Löschen Sie dieses Verzeichnis, um alle zwischengespeicherten Sitzungen zu widerrufen.
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with the WYGIWYH expense tracking API through 75 dynamically generated MCP tools. Supports comprehensive financial operations including transaction management, account handling, recurring expenses, and investment tracking.7
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with YNAB budgets through natural language. Supports managing accounts, categories, transactions, and budget months with 21 tools for comprehensive budget operations.
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with Money Lover personal finance app through unofficial REST API. Supports authentication, wallet management, transaction querying, and creating new transactions for expense tracking.6204ISC
- AlicenseAqualityDmaintenanceEnables AI assistants to manage personal finances through the Realbyte Money Manager mobile app, providing transaction management, asset tracking, credit card monitoring, and financial analytics with 18 comprehensive tools.181711MIT
Related MCP Connectors
Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.
Connect AI agents to bank accounts, transactions, balances, and investments.
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/juansebashr/moneylover-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server