Skip to main content
Glama
Expense MCP

Expense MCP

by sahaniaditya

Expense MCP

Трекер расходов с открытым исходным кодом, состоящий из двух частей:

  1. Сервер на базе FastMCP, который хранит расходы в Postgres (Supabase).

  2. Android-приложение на Expo, которое работает как MCP-хост. Вы можете произнести или ввести расход; Claude вызывает инструменты MCP за вас.

Рабочий MCP endpoint:

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

Репозиторий: github.com/sahaniaditya/expense-mcp

Возможности

  • add_expense — сохраняет сумму, категорию, дату и необязательное описание

  • get_expenses — выводит расходы за период

  • data://categories — продукты, транспорт, образование, развлечения, здоровье, другое

  • Голосовой ввод на Android (например, “Я потратил 250 на продукты”)

  • OAuth Horizon / FastMCP Cloud для удаленного сервера

  • Рабочий процесс GitHub Actions, который собирает автономный APK

Related MCP server: Expense Tracker MCP

Архитектура

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

Мобильное приложение не обращается к базе данных напрямую. Claude решает, какой инструмент вызвать; приложение выполняет этот инструмент на MCP-сервере.

MCP-сервер

Требования

  • Python 3.14+

  • uv

  • База данных Postgres (подойдет Supabase)

База данных

Создайте таблицу expenses:

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

Окружение

Скопируйте .env.example в .env и укажите строку подключения:

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

Никогда не коммитьте .env.

Локальный запуск

uv sync
uv run python main.py

HTTP MCP endpoint — это http://127.0.0.1:8000/mcp.

Inspector:

uv run fastmcp dev inspector main.py

Деплой

Отправьте этот репозиторий на GitHub, затем создайте проект на Prefect Horizon / FastMCP Cloud с точкой входа main.py:mcp. Добавьте SUPABASE_URL как секрет в настройках деплоя.

Клиенты подключаются к:

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

Аутентификация Horizon включена по умолчанию. Используйте API-ключ Horizon (fmcp_...) или выполните вход через OAuth из клиента.

Android-приложение

Исходный код находится в mobile/.

Попробуйте с Expo Go (разработка)

Версия Expo Go из Play Store должна соответствовать SDK 54.

cd mobile
npm install
npx expo start

Вам все еще нужен компьютер с запущенным Metro. Для установки только на телефон используйте APK.

Настройка приложения

  1. Откройте Connect.

  2. Подтвердите URL FastMCP Cloud (уже предзаполнен для размещенного сервера).

  3. Вставьте API-ключ Anthropic.

  4. Нажмите Sign in and connect и завершите вход в Horizon (или вставьте API-ключ fmcp_).

  5. Используйте Speak или Add.

Приложение сохраняет сессию и переподключается при следующем запуске.

Сборка APK

GitHub Actions создает релизный APK (включая JS-бандл, Metro не требуется):

  1. Отправьте в main или apk-github-actions, либо запустите рабочий процесс Android APK из вкладки Actions.

  2. Скачайте артефакт expense-mcp-apk.

  3. Распакуйте и установите app-release.apk.

  4. Сначала удалите предыдущую debug-сборку.

Локальный EAS (необязательно, нужна учетная запись Expo):

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

Структура проекта

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

Лицензия

MIT. См. LICENSE.

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
    D
    maintenance
    Persistent expense tracker backed by Neon Postgres with SQL tools for adding, editing, deleting, and analyzing expenses via natural language.
    -