YNAB MCP Starter
YNAB MCP Starter
Шаблон репозитория на TypeScript в стиле продакшена для MCP-сервера YNAB с доступом только для чтения.
Этот шаблон намеренно сделан компактным и понятным:
Node.js 18+
TypeScript со строгими настройками компилятора
Валидация входных и выходных данных инструментов с помощью Zod
Клиент YNAB API с доступом только для чтения, поддержкой повторных попыток и обработкой тайм-аутов
Модульные тесты с имитацией ответов YNAB
Четкие маркеры TODO там, где должно быть подключено транспортное соединение MCP
Что включено в этот репозиторий
src/
clients/ YNAB API client, environment config, and error types
schemas/ strict Zod schemas for tool contracts
server/ MCP server composition and transport TODO placeholders
tools/ read-only business logic for each YNAB capability
types/ shared API and service types
tests/ unit tests with mocked API responsesРеализованы возможности только для чтения:
список бюджетов
список счетов
список категорий
список недавних транзакций
поиск транзакций без категории
ежемесячные расходы по категориям
Запись данных намеренно не реализована.
Related MCP server: MCP Server Starter
Настройка
Установите зависимости:
npm installСкопируйте пример файла окружения:
cp .env.example .envУкажите свой токен YNAB в
.env:
YNAB_TOKEN=your-token-hereЗапустите режим локальной разработки:
npm run devСкрипты
npm run buildкомпилирует TypeScript вdist/npm run devзапускает точку входа шаблона с отслеживанием изменений файловnpm run lintзапускает ESLintnpm run testзапускает модульные тесты с помощью Vitestnpm run typecheckзапускает TypeScript в режиме без генерации файлов
Подключение MCP
Репозиторий включает уровень композиции сервера, но пока не привязывает вас к конкретному транспорту.
Ищите комментарии TODO в:
Именно там вам следует:
Инициализировать MCP-сервер
Зарегистрировать определения инструментов и схемы
Подключить stdio, SSE или другой транспорт
Добавить структурированное логирование и операционные хуки
Заметки по безопасности
Этот шаблон ожидает наличие персонального токена доступа
YNAB_TOKENв переменных окружения.Никогда не записывайте токен в исходный код, тесты, промпты или логи.
Ограничьте использование токена только операциями чтения и обновляйте его в случае компрометации.
Избегайте логирования необработанных ответов YNAB API в продакшене, так как они могут содержать примечания к транзакциям или другие конфиденциальные финансовые метаданные.
Этот шаблон выполняет только
GET-запросы к YNAB API. Конечные точки для записи не реализованы.
Заметки по проектированию
Клиент YNAB централизует повторные попытки, обработку тайм-аутов и нормализацию ошибок.
Модули инструментов изолированы от деталей HTTP и работают через небольшой сервисный интерфейс.
Схемы Zod проверяют как входные, так и выходные данные инструментов, чтобы своевременно обнаруживать расхождения.
Денежные суммы представлены как в миллиединицах YNAB, так и в удобных для чтения десятичных числах.
Ежемесячные расходы по категориям учитывают только оттоки за запрошенный месяц.
Примеры промптов
"List my YNAB budgets."
"Show the accounts in budget
budget-id-123.""List categories for budget
budget-id-123.""Show the most recent 20 transactions in budget
budget-id-123.""Find uncategorized transactions in budget
budget-id-123since2026-04-01.""Summarize monthly spend by category for budget
budget-id-123in2026-04."
Тестирование
Тесты имитируют ответы YNAB API, поэтому вы можете проверить поведение без реального токена:
npm run testИдеи по доработке для продакшена
Добавьте идентификаторы корреляции запросов и структурированные логи
Добавьте метрики для повторных попыток, ограничения частоты запросов и задержек
Добавьте интеграционные тесты для имитируемого уровня HTTP
Добавьте элементы управления пагинацией результатов, если ваш MCP-клиент ожидает большие наборы данных
Добавьте интеграцию с менеджером секретов вместо использования локальных файлов
.envдля развертывания
Related MCP Connectors
Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth
Kickstart development with a customizable TypeScript template featuring sample tools for greeting,…
Read-only finance MCP server. Connects your banks, cards, payment apps, books and payroll into one ledger for your AI. Can't move money. Open source (AGPL-3.0), free during beta.
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA minimal, production-ready TypeScript starter template for building Model Context Protocol (MCP) servers with auto-loading architecture for tools, resources, and prompts. Provides boilerplate code, generators, and examples to quickly create MCP servers that can connect AI applications to any data source or tool.MIT
- -licenseNot gradedqualityNot gradedmaintenanceA production-ready starter template for building Model Context Protocol (MCP) servers with TypeScript. Includes automated tooling for creating new MCP tools, testing, and deployment to Claude Desktop.223 npm-
- AlicenseAqualityNot gradedmaintenanceA production-ready TypeScript template for building MCP servers with dual transport support (stdio/HTTP), OAuth 2.1 foundations, SQLite caching, observability, and security features including PII sanitization and rate limiting.431 npm-
- AlicenseBqualityDmaintenanceA TypeScript starter template for building MCP servers with example tools (echo, math operations, time, flight status) and resources (server info, greetings). Provides a modular architecture for easily extending with custom tools and resources.424 npmISC