Expense Tracker MCP Server
Expense Tracker Agent
Ein KI-gestützter persönlicher Ausgaben-Tracker, der natürlichsprachliche Anfragen in strukturierte Datenbankoperationen umwandelt. Das Projekt kombiniert eine responsive Streamlit-Oberfläche, Claude-Toolnutzung, einen MCP-Server und lokale SQLite-Speicherung.
Was dieses Projekt demonstriert
Agentischer, mehrstufiger Tool-Einsatz für reale Datenbank-Workflows
Eine saubere Trennung zwischen Sprachmodell, MCP-Transport und Datenebene
Eine direkte Claude-Toolaufruf-Schleife ohne Orchestrierungsframework
Eingabevalidierung, eingeschränktes Assistentenverhalten und sichere lokale Datenverarbeitung
Automatisierte Smoke-Tests und kontinuierliche Integration
Eine responsive Benutzeroberfläche für Eingabe, Konversation und Ausgaben-Einblicke
Related MCP server: Expense Tracker MCP Server
Produktfunktionen
Ausgaben über ein Formular oder eine natürlichsprachliche Anfrage hinzufügen
Datum, Betrag, Kategorie und Beschreibung für jede Transaktion speichern
Ausgaben über MCP-Tools suchen, aktualisieren, löschen und zusammenfassen
Gesamtbeträge, aktuelle Transaktionen und Ausgaben auf Kategorieebene anzeigen
Den fokussierten Finanzassistenten nach datenbankgestützten Erkenntnissen fragen
Ausgabendaten lokal in einer SQLite-Datei speichern
Architektur
flowchart LR
U[User] --> UI[Streamlit or CLI]
UI --> A[Claude agent]
A -->|Tool request| C[MCP client]
C -->|stdio| S[MCP server]
S -->|DB-API 2.0| D[(SQLite)]
D --> S
S -->|Structured result| A
A --> UIClaude greift nie direkt auf SQLite zu. Es wählt aus den MCP-Tool-Schemata aus, und der Server führt jede validierte Datenbank-Lese- und Schreiboperation durch.
Beispielhafte Agent-Workflows
Benutzerabsicht | Tool-Sequenz |
Ausgabe für Mittagessen hinzufügen |
|
Gestern getankten Betrag ändern |
|
Übereinstimmenden Kauf löschen |
|
Monatliche Ausgaben überprüfen |
|
Technologie
Schicht | Technologie |
Schnittstelle | Streamlit, pandas |
Sprachmodell | Anthropic Claude |
Agentenintegration | Direct Messages API Tool-Use-Loop |
Tool-Protokoll | Model Context Protocol über stdio |
Daten | SQLite über Python DB-API 2.0 |
Qualität | pytest, Black, GitHub Actions |
Schnellstart
Voraussetzungen:
Python 3.11 oder neuer
Ein Anthropic-API-Schlüssel für den Assistenten
Virtuelle Umgebung erstellen und aktivieren:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txtFür macOS oder Linux die Umgebung aktivieren mit:
source .venv/bin/activateLokale Umgebungsdatei erstellen und ANTHROPIC_API_KEY hinzufügen:
Copy-Item .env.example .envDatenbankschema und Startkategorien erstellen, dann die App starten:
python db_setup.py
streamlit run streamlit_app.pyDer MCP-Server verwendet stdio und startet automatisch, wenn ein Client verbindet.
Qualitätsprüfungen
Entwicklungsabhängigkeiten installieren und die gleichen Prüfungen wie in der CI ausführen:
python -m pip install -r requirements-dev.txt
python -m black --check .
python -m compileall -q agent.py client_test.py db_setup.py mcp_client.py server.py streamlit_app.py
python -m pytest -q
python client_test.pyclient_test.py führt alle 18 MCP-Tools aus und entfernt seine temporären Datensätze, wenn der Smoke-Test beendet ist.
MCP-Tools
Der Server stellt 18 Tools bereit:
Kategorienverwaltung:
list_categories,add_category,rename_category,delete_category,get_category_nameAusgabenverwaltung:
add_expense,update_expense,delete_expense,list_expenses,search_expenses,expenses_by_category,total_expense_by_category,total_expense,monthly_summaryUnterstützende Abfragen:
current_date,find_category,get_expense,expenses_between
Projektstruktur
Pfad | Zweck |
| Formular-, Assistenten- und Einblicke-Schnittstelle |
| Claude-Toolaufruf-Schleife und Befehlszeilenschnittstelle |
| Validierte SQLite-Operationen, die als MCP-Tools bereitgestellt werden |
| Wiederverwendbarer stdio-MCP-Client |
| Schema- und Startkategorie-Initialisierung |
| End-to-End-MCP-Tool-Smoke-Test |
| Automatisierte Datenbank- und UI-Prüfungen |
| Continuous-Integration-Pipeline |
Konfiguration
Variable | Erforderlich | Standard |
| Ja | — |
| Nein |
|
| Nein |
|
| Nein |
|
Die .env-Datei und expenses.db sind von Git ausgeschlossen. API-Schlüssel und persönliche Ausgabendaten bleiben außerhalb des Repositorys.
Um die Datenbank mit einer leeren Ausgabentabelle neu zu erstellen:
python db_setup.py --resetThis server cannot be deployed
Maintenance
Related MCP Connectors
- ManiloOAuthapp.manilo
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
- ManiloOAuthapp.ledgy.api
Log, query, and edit expenses, budgets, and accounts in Manilo (formerly Ledgy) from any MCP-compatible AI assistant.
Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.
The Ramp MCP server enables users to securely connect Ramp with AI assistants like ChatGPT and Claude to query financial data and take actions using natural language. It transforms Ramp's developer API into a SQL interface that LLMs can query, allowing admins to analyze spend trends, identify cost savings, and run complex SQL analyses on comprehensive datasets (transactions, purchase orders, vendors, users), while all users can manage cards, view transactions, request reimbursements, and get expense policy answers.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage personal expenses through natural conversation, supporting expense tracking, categorization, filtering, and financial summaries. Uses SQLite database to store expense records with full CRUD operations for comprehensive personal finance management.2-
- FlicenseCqualityDmaintenanceEnables personal expense management with SQLite storage, allowing users to add, update, delete, list, and summarize expenses by category through natural language interactions.5-
- FlicenseNot gradedqualityDmaintenanceEnables management of expenses via SQLite database, including adding, listing, updating, deleting, filtering, and summing expenses through natural language.-
- FlicenseAqualityCmaintenanceEnables natural language management of personal expenses, including adding, updating, deleting, searching, and summarizing expenses stored in a local SQLite database.6-