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ファイルではなく、シークレットマネージャーの統合を追加
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.221 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