Expense Tracker MCP Server
Агент отслеживания расходов
Персональный трекер расходов на базе ИИ, преобразующий запросы на естественном языке в структурированные операции с базой данных. Проект объединяет адаптивный интерфейс Streamlit, использование инструментов Claude, сервер MCP и локальное хранилище SQLite.
Что демонстрирует этот проект
Агентное, многошаговое использование инструментов для реальных рабочих процессов с базой данных
Чистое разделение между языковой моделью, транспортом MCP и уровнем данных
Прямой цикл вызова инструментов Claude без оркестровочного фреймворка
Валидация ввода, ограниченное поведение ассистента и безопасная обработка локальных данных
Автоматизированные дымовые тесты и непрерывная интеграция
Адаптивный пользовательский интерфейс для ввода данных, диалогов и анализа расходов
Related MCP server: Expense Tracker MCP Server
Возможности продукта
Добавление расходов через форму или запрос на естественном языке
Хранение даты, суммы, категории и описания для каждой транзакции
Поиск, обновление, удаление и сводка расходов через инструменты MCP
Просмотр итогов, последних транзакций и расходов по категориям
Возможность задать вопросы финансовому ассистенту для получения анализа на основе базы данных
Локальное хранение данных о расходах в файле SQLite
Архитектура
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 никогда не обращается к SQLite напрямую. Он выбирает из схем инструментов MCP, а сервер выполняет каждую проверенную операцию чтения и записи в базу данных.
Примеры агентных рабочих процессов
Намерение пользователя | Последовательность инструментов |
Добавить расход на обед |
|
Изменить сумму вчерашней заправки |
|
Удалить подходящую покупку |
|
Просмотреть ежемесячные расходы |
|
Технологии
Уровень | Технология |
Интерфейс | Streamlit, pandas |
Языковая модель | Anthropic Claude |
Агентная интеграция | Цикл использования инструментов через Direct Messages API |
Протокол инструментов | Model Context Protocol через stdio |
Данные | SQLite через Python DB-API 2.0 |
Качество | pytest, Black, GitHub Actions |
Быстрый старт
Требования:
Python 3.11 или новее
Ключ API Anthropic для ассистента
Создайте и активируйте виртуальное окружение:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txtДля macOS или Linux активируйте окружение с помощью:
source .venv/bin/activateСоздайте локальный файл окружения и добавьте ANTHROPIC_API_KEY:
Copy-Item .env.example .envСоздайте схему базы данных и начальные категории, затем запустите приложение:
python db_setup.py
streamlit run streamlit_app.pyСервер MCP использует stdio и запускается автоматически при подключении клиента.
Проверки качества
Установите зависимости для разработки и запустите те же проверки, что используются в CI:
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 выполняет все 18 инструментов MCP и удаляет свои временные записи после завершения дымового теста.
Инструменты MCP
Сервер предоставляет 18 инструментов:
Управление категориями:
list_categories,add_category,rename_category,delete_category,get_category_nameУправление расходами:
add_expense,update_expense,delete_expense,list_expenses,search_expenses,expenses_by_category,total_expense_by_category,total_expense,monthly_summaryВспомогательные запросы:
current_date,find_category,get_expense,expenses_between
Структура проекта
Путь | Назначение |
| Интерфейс форм, ассистента и аналитики |
| Цикл вызова инструментов Claude и интерфейс командной строки |
| Проверенные операции SQLite, представленные как инструменты MCP |
| Многоразовый клиент MCP через stdio |
| Инициализация схемы и начальных категорий |
| Сквозной дымовой тест инструментов MCP |
| Автоматизированные проверки базы данных и интерфейса |
| Конвейер непрерывной интеграции |
Конфигурация
Переменная | Обязательна | Значение по умолчанию |
| Да | — |
| Нет |
|
| Нет |
|
| Нет |
|
Файл .env и expenses.db исключены из Git. Ключи API и личные данные о расходах остаются за пределами репозитория.
Чтобы пересоздать базу данных с пустой таблицей расходов:
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-