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для развертывания
This server cannot be deployed
Maintenance
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,…
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
MCP server for Codat — companies, connections, invoices, bills and financial statements.
Related MCP Servers
- FlicenseNot 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.-
- -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.28 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.49 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.413 npmISC