mcp-finance-assistant
💰 Personal Finance Assistant — MCP + Gemini
ИИ-помощник для управления финансами, который позволяет задавать вопросы о ваших расходах обычным языком. Он построен на Model Context Protocol (MCP), чтобы связывать Google Gemini с реальными инструментами — базой данных SQL, моделями прогнозирования и обнаружением аномалий, а не со скриптовым чат-ботом, который просто умеет разговаривать.
🔗 Живое демо: mcp-finance-assistant-z6txg3k6xparasajcsvftrr.streamlit.app
Что это умеет
Задавайте ему такие вопросы:
«Сколько я потратил на еду в этом месяце?»
«Сравни мои расходы в августе и июле»
«Добавь расход 250 на Uber в аэропорт» — категорию он определяет сам
«Сколько я потрачу на еду в следующем месяце?» — реальный ML-прогноз, а не догадка
Он также проактивно помечает необычные расходы в момент загрузки страницы, без запроса.
Related MCP server: Expense Tracker MCP Server
Почему MCP
В большинстве демо ИИ-трекеров расходов ответы чат-ботов жёстко зашиваются или LLM просто прикручивается к статическим данным. Этот проект, напротив, создаёт настоящий MCP-сервер — стандартизированный способ (представленный Anthropic) для ИИ-модели: искать и вызывать реальные инструменты. Gemini читает доступные инструменты, решает, какие из них нужны, вызывает их через протокол MCP и принимает решения на основе фактических результатов. Это тот же паттерн, который используется в продакшн-системах ИИ-агентов, а не игрушечная симуляция.
Архитектура
User question → Streamlit UI → Gemini (decides which tool to call)
↓
MCP Server (server.py)
↓
SQLite Database (real transaction data)
↓
Tool result → back to Gemini → plain-English answerДля многошаговых запросов (например, когда расход добавляется без категории) Gemini выполняет цепочку нескольких вызовов инструментов: сначала запрашивает существующие категории, затем выбирает правильную категорию, и только потом добавляет расход — до 3 шагов на вопрос.
Возможности
7 инструментов MCP: запрос сумм, сравнение месяцев, список последних расходов, добавление расходов, получение категорий, прогнозирование расходов, обнаружение аномалий
Настоящий ML, а не правила:
forecast_next_monthиспользует scikit-learnLinearRegressionна исторических тенденциях;detect_anomalyиспользует модельIsolationForest(обучение без аннотатора) вместо жёстко заданного порогаКатегоризация через LLM: опишите расход обычным языком, и Gemini сам подберёт нужную категорию, используя цепочку вызовов инструментов
Проактивные инсайды: автоматическая проверка аномалий выполняется при загрузке страницы, без каких-либо вопросов
Память диалога: уточняющие вопросы понимают контекст более ранних сообщений в чате
Реальные данные: более 240 записей о тратахреальных транзакциях, включая 231 импортированную и очищенную запись из публичного датасета Kaggle по личным расходам
Продакшн-практики: полная обработка ошибок и проверка входных данных во всех инструментах, структурированное логирование (
app.log) и набор из 8 тестовpytest, проверяющий расчёты по известным данным
Технологии
Python · MCP SDK · Google Gemini (google-genai) · SQLite · scikit-learn · Streamlit · pytest
Локальный запуск
git clone https://github.com/srushtikochare/mcp-finance-assistant
cd mcp-finance-assistant
pip install -r requirements.txtСоздайте файл .env:
GOOGLE_API_KEY=your_api_key_hereЗатем выполните:
streamlit run app.pyЗапуск тестов
pytest test_server.py -v8 тестов покрывают правильность сумм, обработку ошибок и поведение ML-инструментов — все проходят.
Реальная трудность, с которой я столкнулся
Структура MCP Python SDK изменилась с момента написания большей части доступной документации: класса, который я ожидал (FastMCP), не оказалось в установленной версии. Вместе с тем, я не руководился догадками, а изучил реально установленный пакет (dir(mcp.server)) и обнаружил правильный текущий класс (MCPServer) и поверхность API. Отладка в условиях эволюционирующей библиотеки с неполной документацией, а не стабильной и удобной для туториалов, стала самой полезной частью при создании этого проекта.
Возможные следующие шаги
Поддержка нескольких пользователей с индивидуальными входами
OCR-распознание чеков и выписок для автоматического занесения расходов
Ретрай-логика с backoff для устойчивости при работе с внешними API
Автор
Srushti Kochare — B.Tech Artificial Intelligence & Data Science, YCCE Nagpur
This server cannot be installed
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
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage personal expenses through natural language conversations. Supports adding, searching, and analyzing transactions with automatic categorization and financial insights.3MIT
- FlicenseNot gradedqualityCmaintenanceEnables users to track expenses by adding, listing, and summarizing them with category support through natural language.
- AlicenseAqualityBmaintenanceEnables financial professionals to interact with QuickBooks Online using natural language for reports, journal entries, bills, expenses, and more.3659211MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI-driven expense tracking and budget management, including adding expenses, setting budgets, analyzing trends, forecasting, and managing savings goals via natural language.
Related MCP Connectors
Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.
Capture receipts, scan Gmail, analyze spending, and create reviewed reports from AI assistants.
Ask your AI about bank accounts, spending, debts, holdings, and investment activity.
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/srushtikochare/mcp-finance-assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server