---
name: tbank-budget-analyzer
description: |
  Анализ финансов через T-Bank MCP — траты, подписки, рекомендации.
  Используй когда пользователь спрашивает про траты, расходы, бюджет, подписки,
  экономию, или говорит «проанализируй», «сколько трачу», «покажи подписки»,
  «куда уходят деньги». НЕ срабатывает для переводов или заказа продуктов —
  только аналитика и рекомендации.
---

# Анализ финансов через T-Bank MCP

## Инструменты

| Тул | Что показывает |
|---|---|
| `list_accounts()` | Счета + балансы |
| `list_operations(account_id, days, limit, desc_len)` | Операции за период; `limit=0` — все, `desc_len=0` — описания целиком |
| `spending_categories(account_id, days)` | Траты по категориям (+ % от суммы) |
| `operations_histogram(account_id, days, period, group_by)` | График трат (по дням/неделям/категориям) |
| `get_data("subscriptions")` | Подписки (банковские сервисы) |
| `get_data("merchant_subs")` | Рекуррентные платежи (Netflix/Иви/и т.д.) |
| `get_data("autopayments")` | Автоплатежи |
| `get_data("sbp")` | СБП-подписки |
| `get_data("finhealth_total")` | Итоговый баланс |
| `get_data("finhealth_turnover")` | Оборот по счёту |

## Флоу

### Шаг 1: Сбор данных

1. `list_accounts()` — взять основной счёт (максимальный баланс или Current).
2. `list_operations(account_id, 30)` — операции за 30 дней.
3. `spending_categories(account_id, 30)` — категории трат.

Если пользователь хочет «за 3 месяца» — `days=90`.

### Шаг 2: Аудит подписок

Вызови ВСЕ источники подписок (могут дублироваться — нужны для полноты):
- `get_data("merchant_subs")` — определённые по выписке (Netflix, Иви, etc.)
- `get_data("subscriptions")` — банковские подписки
- `get_data("autopayments")` — автоплатежи
- `get_data("sbp")` — СБП-подписки

Объедини, убери дубликаты (по имени мерчанта/сумме). Посчитай итог:
```
Подписки: 5 шт, 4 850 ₽/мес (58 200 ₽/год)
  - Netflix: 799 ₽/мес
  - Иви: 399 ₽/мес
  - Spotify: 299 ₽/мес
  - Gym: 2 500 ₽/мес
  - Apple iCloud: 853 ₽/мес
```

### Шаг 3: Анализ трат (LLM-интеллект)

`spending_categories` уже дал разбивку по категориям — не зови `operations_histogram`
с теми же параметрами следом, это тот же самый запрос к банку. Зови
`operations_histogram` ТОЛЬКО если нужен ДРУГОЙ разрез (например `group_by`
не по категориям, или `period="week"` для тренда по времени, а не по категории):
- **Топ-5 категорий** по сумме + % от общего — из `spending_categories`
- **Тренды**: сравни с предыдущим периодом (если данных достаточно) —
  `operations_histogram(period="week")`, другой разрез, не дублирование
- **Аномалии**: непропорционально большие траты в категории

Пример:
```
Траты за 30 дней: 47 200 ₽

Топ-5 категорий:
  1. Рестораны: 18 900 ₽ (40%)
  2. Продукты: 12 400 ₽ (26%)
  3. Транспорт: 5 200 ₽ (11%)
  4. Подписки: 4 850 ₽ (10%)
  5. Развлечения: 3 100 ₽ (7%)
```

### Шаг 4: Рекомендации (LLM + данные)

На основе анализа предложи конкретные действия:

1. **Подписки**: «Netflix (799₽) + Иви (399₽) = 1 198₽/мес. Если смотришь только один — отмени второй, экономия 4 792₽/год»
2. **Категории**: «Рестораны 40% (18 900₽) — это выше среднего. Если сократить на 30% — экономия 5 670₽/мес»
3. **Период**: «В выходные тратишь в 3 раза больше на рестораны» (из histogram по дням)
4. **Разовые крупные траты**: «Одна покупка на 18 000₽ — 38% месячного расхода. Если это не редкость, её стоит планировать заранее»

**Кешбэка в MCP нет.** Ни один тул не отдаёт сумму начисленного кешбэка: `cashback_summary` в клиенте есть, но требует `loyaltyId`, который не производит ни один тул. Не пиши его в отчёт и не считай сам из операций — спроси у пользователя, если он важен для разговора.

**Не предлагай отменить всё подряд** — будь практичным. Предложи 2-3 конкретных действия.

### Шаг 5: Отчёт

```
📊 Финансовый отчёт (30 дней)

Доходы:   85 000 ₽
Расходы:  47 200 ₽
Подписки:  4 850 ₽/мес (58 200 ₽/год)
Чистые сбережения: 37 800 ₽ (44% от дохода)

Рекомендации:
  1. Отмени Иви (399₽/мес) — экономия 4 788₽/год
  2. Сократи рестораны на 30% — экономия 5 670₽/мес
  3. Переводи сбережения в Накопительный счёт

Итоговая экономия: ~10 000 ₽/мес
```

## Правила

1. **Период по умолчанию** — 30 дней. Уточняй если пользователь хочет другой.
2. **Дубли подписок** — проверяй по имени мерчанта, не по ID.
3. **Рекомендации — конкретные** с суммой экономии, не общие советы.
4. **Без подтверждения** — аналитика не требует подтверждения (нет денег/переводов).
5. **LLM-знания** — используй свои знания о подписках, ценах, сезонности.
