YNAB MCP Starter
YNAB MCP スターター
読み取り専用のYNAB MCPサーバーのための、本番環境スタイルのTypeScriptスターターリポジトリです。
このスターターは意図的に小さく、明示的な構成になっています:
Node.js 18以上
厳格なコンパイラ設定のTypeScript
Zodで検証されたツールの入力と出力
リトライとタイムアウト処理を備えた読み取り専用のYNAB APIクライアント
YNABレスポンスをモック化したユニットテスト
MCPトランスポートの接続先を示す明確なTODOマーカー
このリポジトリに含まれるもの
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.envにYNABトークンを設定します:
YNAB_TOKEN=your-token-hereローカル開発モードを実行します:
npm run devスクリプト
npm run buildTypeScriptをdist/にコンパイルしますnpm run devファイル監視付きでスターターのエントリポイントを実行しますnpm run lintESLintを実行しますnpm run testVitestでユニットテストを実行しますnpm run typecheckTypeScriptを非出力モードで実行します
MCPの接続
このリポジトリにはサーバー構成レイヤーが含まれていますが、まだ特定のトランスポートに固定されていません。
以下のファイルの TODO コメントを確認してください:
ここで行うべきことは以下の通りです:
MCPサーバーのインスタンス化
ツール定義とスキーマの登録
stdio、SSE、またはその他のトランスポートの接続
構造化ログと運用フックの追加
セキュリティ上の注意
このスターターは、環境変数に
YNAB_TOKEN個人アクセストークンを必要とします。ソースファイル、テスト、プロンプト、ログにトークンをハードコードしないでください。
トークンは読み取り専用の運用用途に限定し、漏洩した場合はローテーションしてください。
本番環境では、取引メモやその他の機密性の高い財務メタデータが含まれる可能性があるため、生のYNAB APIレスポンスをログに記録しないでください。
このスターターはYNAB APIに対して
GETリクエストのみを実行します。書き込みエンドポイントは実装されていません。
設計上の注意
YNABクライアントは、リトライ、タイムアウト処理、エラーの正規化を一元管理します。
ツールモジュールはHTTPの詳細から分離されており、小さなサービスインターフェース上で動作します。
Zodスキーマは、ツールの入力と出力の両方を検証し、早期に不整合を検出します。
金額は、YNABのミリ単位と人間が読みやすい10進数の両方で公開されます。
カテゴリ別の月間支出は、リクエストされた月の流出額のみをカウントします。
プロンプトの例
"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本番環境向けの強化案
リクエスト相関IDと構造化ログの追加
リトライ、レート制限、レイテンシに関するメトリクスの追加
モック化された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