Skip to main content
Glama
YNAB MCP Server

YNAB MCP Server

by tigrankios

YNAB MCP Server

Удалённый MCP-сервер (Streamable HTTP) для анализа бюджета в YNAB. Готов к деплою на Railway.

Как это работает

  • Один запрос на синхронизацию. У YNAB лимит 200 запросов/час, поэтому весь план (бюджет) загружается одним GET /plans/{id}, а дальше обновляется delta-запросами (last_knowledge_of_server). Кэш живёт в памяти; данные считаются свежими CACHE_TTL_SECONDS (по умолчанию 5 минут).

  • Суммы — в валюте плана, а не в milliunits (12.5 = 12,50). Отрицательные — расходы.

  • Сплиты раскрываются в отдельные строки, поэтому отчёты по категориям считаются корректно.

  • Счета, категории и получатели принимаются по id или по (частичному) имени.

  • Только чтение по умолчанию. Инструменты записи включаются переменной YNAB_ALLOW_WRITES=true.

Related MCP server: YNAB MCP Server

Инструменты

Инструмент

Что делает

list_plans

Список планов (бюджетов)

get_budget_overview

Сводка месяца: Ready to Assign, доход/расход, age of money, net worth, перерасходы, недофинансированные цели, неподтверждённые/некатегоризированные транзакции

get_accounts

Счета и балансы

get_categories

Категории за месяц: assigned / activity / available + прогресс целей

get_month_summaries

Помесячная динамика: доход, расходы, норма сбережений, age of money

get_category_history

История категории или группы по месяцам + статистика

search_transactions

Поиск транзакций с фильтрами (даты, счёт, категория, получатель, текст, суммы, статусы)

spending_report

Агрегация расходов/доходов по категории, группе, получателю, счёту, месяцу или неделе

get_payees

Получатели со статистикой

get_scheduled_transactions

Регулярные платежи + оценка ежемесячной нагрузки

get_money_movements

Перемещения денег между категориями за месяц

sync_status

Свежесть кэша, расход лимита API, принудительное обновление

С YNAB_ALLOW_WRITES=true дополнительно: create_transaction, update_transactions (категоризация/подтверждение пачкой), delete_transaction, set_category_assigned.

Переменные окружения

Переменная

Обязательна

Описание

YNAB_ACCESS_TOKEN

да

Personal Access Token: YNAB → Account Settings → Developer Settings → New Token

MCP_AUTH_TOKEN

да

Секрет для доступа к MCP-эндпоинту. Сгенерировать: openssl rand -hex 32

YNAB_PLAN_ID

нет

План по умолчанию (по умолчанию last-used)

CACHE_TTL_SECONDS

нет

Время свежести кэша, сек (по умолчанию 300)

YNAB_ALLOW_WRITES

нет

true — включить инструменты записи

PORT

нет

Railway задаёт сам

Деплой на Railway

  1. Railway → New Project → Deploy from GitHub repo → выбрать этот репозиторий. Сборка и запуск описаны в railway.json (npm ci --include=dev && npm run build, npm start, healthcheck /health).

  2. Variables: задать YNAB_ACCESS_TOKEN и MCP_AUTH_TOKEN (и при желании остальные).

  3. Settings → Networking → Generate Domain — получить публичный адрес вида https://ynab-mcp-production.up.railway.app.

  4. Проверить: curl https://<домен>/health → {"status":"ok",...}.

Подключение к Claude

Claude.ai / Claude Desktop (Settings → Connectors → Add custom connector): указать URL с токеном в пути:

https://<домен>/mcp/<MCP_AUTH_TOKEN>

Claude Code:

claude mcp add --transport http ynab https://<домен>/mcp --header "Authorization: Bearer <MCP_AUTH_TOKEN>"

Сервер принимает токен либо в заголовке Authorization: Bearer …, либо сегментом пути /mcp/<token>. URL с токеном — это пароль к вашим финансам, не публикуйте его.

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

npm install
npm run build
YNAB_ACCESS_TOKEN=... MCP_AUTH_TOKEN=dev npm start        # HTTP на :3000
YNAB_ACCESS_TOKEN=... npm run start:stdio                 # stdio-режим для локальных клиентов
npm test                                                  # e2e-тест на моке YNAB API

Примеры вопросов

  • «Сделай обзор бюджета за этот месяц: где перерасход и что недофинансировано?»

  • «На что я тратил больше всего за последние 3 месяца? Сравни с предыдущими тремя.»

  • «Покажи динамику расходов на рестораны за год.»

  • «Какая у меня норма сбережений по месяцам?»

  • «Сколько в месяц уходит на подписки и регулярные платежи?»

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to interact with YNAB budgets through natural language. Supports managing accounts, categories, transactions, and budget months with 21 tools for comprehensive budget operations.
      -
    • A
      license
      A
      quality
      D
      maintenance
      Enables interaction with You Need A Budget (YNAB) through their API, allowing users to manage budgets, accounts, categories, transactions, payees, and scheduled transactions through natural language.
      12
      23 npm
      2
      GPL 3.0
    • A
      license
      B
      quality
      A
      maintenance
      Enables AI assistants to interact with YNAB budgets, performing read-only queries by default and optional write operations like creating transactions and managing categories through natural language.
      45
      485 npm
      46
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables reading and writing YNAB budget data, such as listing budgets, accounts, categories, transactions, and creating or updating transactions, through natural language commands.
      8
      MIT