Skip to main content
Glama
antonshkelll

finpilot

by antonshkelll

finpilot

Локальная аналитика банковской выписки: куда ушли деньги, какие подписки списываются, нет ли странных операций и сколько уйдёт до конца месяца.

Работает двумя способами:

  • в терминале: finpilot report выписка.csv;

  • как MCP-сервер для Claude Desktop, Claude Code, Cursor и других AI-ассистентов. Подключаете один раз и спрашиваете обычным текстом: «почему в августе я потратил вдвое больше?».

Выписка не уходит в облако. Файл читается на вашем компьютере, а ассистент получает только агрегаты и найденные операции.

Зачем

Банковские приложения показывают траты по категориям, но не отвечают на вопросы. «Сколько я трачу на подписки в год?», «что изменилось по сравнению с прошлым месяцем?», «это двойное списание или я правда дважды ел в Теремке?» — на такие вопросы обычно приходится листать выписку руками.

MCP (Model Context Protocol) — открытый протокол, через который AI-ассистенты подключают внешние инструменты. finpilot даёт ассистенту 7 инструментов поверх вашей выписки, и модель сама решает, какие вызвать.

Related MCP server: ExpenseTracker MCP Server

Что умеет

Инструмент MCP

Что делает

load_statement

загружает выписку, возвращает период и итоги

spending_by_category

расходы по категориям за месяц и изменение к прошлому

top_merchants

на какие магазины и сервисы ушло больше всего

find_subscriptions

регулярные списания: сумма, периодичность, следующая дата, стоимость в год

find_unusual_transactions

траты крупнее обычного для категории и двойные списания

forecast_month

прогноз расходов до конца месяца при текущем темпе

search_transactions

поиск операций по тексту или категории

Плюс шаблон запроса monthly_review: разбор месяца с тремя конкретными советами.

Категория операции определяется так: категория банка, если она есть в выгрузке → MCC-код → ключевые слова в описании. Переводы, пополнения и снятие наличных в расходы не входят.

Пример

На тестовой выписке из examples/:

$ finpilot report examples/sample_statement.csv

Выписка: 392 операции, 01.04.2026 — 20.09.2026

Расходы за 2026-09 (по 20.09.2026): 25 937 ₽  (в 2026-08 к тому же числу: 46 934 ₽)

  Продукты                      12 304 ₽    47%    +28%
  Кафе и рестораны               6 330 ₽    24%   +197%
  Маркетплейсы и магазины        3 094 ₽    12%    -89%
  ...

Подписки: 4, в год 21 564 ₽
  МТС                                    650 ₽  ежемесячно, следующее 12.10.2026
  Okko                                   449 ₽  ежемесячно, следующее 21.09.2026
  Яндекс Плюс                            399 ₽  ежемесячно, следующее 05.10.2026
  Telegram Premium                       299 ₽  ежемесячно, следующее 18.10.2026

Необычные операции:
  03.09.2026 13:40  Теремок                1 890 ₽  обычно в категории ~310 ₽
  03.09.2026 13:42  Теремок                1 890 ₽  обычно в категории ~310 ₽; повторное списание той же суммы в течение 10 минут

Прогноз на 2026-09: 42 766 ₽ (потрачено 25 937 ₽, осталось дней: 10)

Установка

Нужен Python 3.10+.

macOS / Linux

git clone https://github.com/antonshkelll/finpilot-mcp.git
cd finpilot-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
finpilot report examples/sample_statement.csv

Windows (PowerShell)

git clone https://github.com/antonshkelll/finpilot-mcp.git
cd finpilot-mcp
py -m venv .venv
.venv\Scripts\Activate.ps1
pip install -e .
finpilot report examples\sample_statement.csv

Подключение к AI-ассистенту

Понадобится полный путь к finpilot-mcp внутри виртуального окружения. Узнать его:

  • macOS / Linux: which finpilot-mcp (при активированном .venv);

  • Windows: where finpilot-mcp.

Claude Desktop

Откройте Settings → Developer → Edit Config. Файл лежит в ~/Library/Application Support/Claude/claude_desktop_config.json на macOS и в %APPDATA%\Claude\claude_desktop_config.json на Windows. Добавьте:

{
  "mcpServers": {
    "finpilot": {
      "command": "/Users/you/finpilot-mcp/.venv/bin/finpilot-mcp",
      "env": { "FINPILOT_STATEMENT": "/Users/you/Downloads/statement.csv" }
    }
  }
}

На Windows путь будет вида C:\\Users\\you\\finpilot-mcp\\.venv\\Scripts\\finpilot-mcp.exe (обратные слэши удваиваются). Перезапустите Claude Desktop, и в списке инструментов появится finpilot.

Claude Code

claude mcp add finpilot --env FINPILOT_STATEMENT=/path/to/statement.csv -- /path/to/.venv/bin/finpilot-mcp

Cursor

Файл ~/.cursor/mcp.json, формат тот же, что у Claude Desktop.

FINPILOT_STATEMENT можно не задавать. Тогда достаточно сказать ассистенту «загрузи выписку /путь/к/файлу.csv», и он вызовет load_statement.

Какие выписки подходят

  • Т-Банк: выгрузка операций в CSV из веб-версии. Колонки «Дата операции», «Сумма операции», «Категория», «MCC», «Описание» подхватываются автоматически, кодировка UTF-8 или Windows-1251.

  • Любой другой банк: сохраните таблицу как CSV с колонками date, amount, description (расходы со знаком минус). Даты можно писать как 2026-09-12 или 12.09.2026. Колонки mcc и category необязательны.

Покупки в валюте считаются по сумме в рублях (колонка «Сумма платежа» у Т-Банка). Если месяц ещё не закончился, сравнение с прошлым идёт «к тому же числу». Подписка, по которой списания прекратились, в отчёт не попадает.

Если формат не распознался, finpilot напишет, каких колонок не хватает и какие нашёл.

Для разработчиков

pip install -e ".[dev]"
pytest -q                          # 19 тестов: реальные форматы выписок и сквозной тест MCP-сервера
python examples/make_sample.py     # пересоздать тестовую выписку
finpilot/
  statement.py    чтение CSV в единый формат
  categories.py   категории: банк → MCC → ключевые слова
  analytics.py    сводки, подписки, аномалии, прогноз
  server.py       MCP-сервер (официальный Python SDK, MCPServer)
  cli.py          текстовый отчёт

Ограничения

  • PDF-выписки (например, у Сбера) пока не читаются: сначала их нужно перевести в CSV.

  • Категории по ключевым словам настроены под российские сервисы, а редкие мерчанты попадут в «Прочее».

  • Подписка определяется по трём и более похожим списаниям с регулярным интервалом, поэтому новая подписка появится в отчёте только через три месяца.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables personal expense management through CSV storage, allowing AI agents to add, query, and analyze expenses with automatic categorization and payment method validation.
    -
  • 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
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Claude to analyze personal finances by reading bank CSVs or connecting to Plaid for live transactions, categorizing spending, flagging overspending against benchmarks, and generating actionable reports and savings tips.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables parsing and filtering of mBank CSV operation exports locally. Supports data aggregation and querying through natural language, running entirely offline with no network calls.
    3
    1
    MIT