Skip to main content
Glama
sahaniaditya

Expense MCP

by sahaniaditya

Expense MCP

Open-Source-Ausgaben-Tracker mit zwei Teilen:

  1. Ein FastMCP-Server, der Ausgaben in Postgres (Supabase) speichert.

  2. Eine Expo-Android-App, die als MCP-Host fungiert. Du kannst eine Ausgabe sprechen oder tippen; Claude ruft die MCP-Tools für dich auf.

Live-MCP-Endpunkt:

https://indirect-olive-catshark.fastmcp.app/mcp

Repo: github.com/sahaniaditya/expense-mcp

Funktionen

  • add_expense — speichert einen Betrag, eine Kategorie, ein Datum und eine optionale Beschreibung

  • get_expenses — listet Ausgaben in einem Datumsbereich auf

  • data://categories — Lebensmittel, Transport, Bildung, Unterhaltung, Gesundheit, Sonstiges

  • Spracheingabe auf Android („Ich habe 250 für Lebensmittel ausgegeben“)

  • Horizon / FastMCP Cloud OAuth für den Remote-Server

  • GitHub-Actions-Workflow, der eine eigenständige APK erstellt

Related MCP server: Expense Tracker MCP

Architektur

Android app (MCP host)
  → Claude (Anthropic API)
    → FastMCP Cloud / local MCP server
      → Supabase Postgres

Die Telefon-App kommuniziert nicht direkt mit der Datenbank. Claude entscheidet, welches Tool aufgerufen wird; die App führt dieses Tool gegen den MCP-Server aus.

MCP-Server

Voraussetzungen

  • Python 3.14+

  • uv

  • Eine Postgres-Datenbank (Supabase funktioniert)

Datenbank

Erstelle eine expenses-Tabelle:

create table if not exists expenses (
  id uuid primary key,
  price integer not null,
  category text not null,
  date timestamptz not null,
  description text
);

Umgebung

Kopiere .env.example zu .env und setze deinen Verbindungsstring:

SUPABASE_URL=postgresql://postgres:YOUR_PASSWORD@db.YOUR_PROJECT.supabase.co:5432/postgres

Commite niemals .env.

Lokal ausführen

uv sync
uv run python main.py

Der HTTP-MCP-Endpunkt ist http://127.0.0.1:8000/mcp.

Inspector:

uv run fastmcp dev inspector main.py

Bereitstellen

Pushe dieses Repo zu GitHub und erstelle dann ein Projekt auf Prefect Horizon / FastMCP Cloud mit dem Einstiegspunkt main.py:mcp. Füge SUPABASE_URL als Secret in den Deployment-Einstellungen hinzu.

Clients verbinden sich mit:

https://YOUR-PROJECT.fastmcp.app/mcp

Die Horizon-Authentifizierung ist standardmäßig aktiviert. Verwende einen Horizon-API-Schlüssel (fmcp_...) oder schließe die OAuth-Anmeldung von einem Client ab.

Android-App

Der Quellcode befindet sich in mobile/.

Mit Expo Go ausprobieren (Entwicklung)

Expo Go aus dem Play Store muss SDK 54 entsprechen.

cd mobile
npm install
npx expo start

Du benötigst weiterhin einen Computer, auf dem Metro läuft. Für eine reine Telefoninstallation verwende die APK.

App-Einrichtung

  1. Öffne Connect.

  2. Bestätige die FastMCP-Cloud-URL (für den gehosteten Server bereits vorausgefüllt).

  3. Füge einen Anthropic-API-Schlüssel ein.

  4. Tippe auf Sign in and connect und schließe die Horizon-Anmeldung ab (oder füge einen fmcp_-API-Schlüssel ein).

  5. Verwende Speak oder Add.

Die App speichert die Sitzung und verbindet sich beim nächsten Start erneut.

Eine APK erstellen

GitHub Actions erstellt eine Release-APK (JS-Bundle enthalten, kein Metro erforderlich):

  1. Pushe zu main oder apk-github-actions oder führe den Android-APK-Workflow über den Actions-Tab aus.

  2. Lade das expense-mcp-apk-Artefakt herunter.

  3. Entpacke und installiere app-release.apk.

  4. Deinstalliere zuerst einen vorherigen Debug-Build.

Lokales EAS (optional, erfordert ein Expo-Konto):

cd mobile
npx eas-cli login
npx eas-cli build -p android --profile preview

Projektstruktur

main.py              MCP tools and resource
connection.py        Supabase / Postgres connection
mobile/              Expo SDK 54 Android client
.github/workflows/   APK build

Lizenz

MIT. Siehe LICENSE.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    Enables AI assistants to manage personal finances by storing, analyzing, and exporting expense data using a persistent PostgreSQL database. Supports adding/editing expenses, generating spending summaries, detecting top categories, and creating monthly reports.
    12
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables management of expenses via SQLite database, including adding, listing, updating, deleting, filtering, and summing expenses through natural language.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language management of personal expenses, including adding, listing, and summarizing expenses with local SQLite storage.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Persistent expense tracker backed by Neon Postgres with SQL tools for adding, editing, deleting, and analyzing expenses via natural language.
    -

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/sahaniaditya/expense-mcp'

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