MCP YNAB Server 💰 について
MCP YNAB Serverは、YNAB APIをつなぐTypeScript製ブリッジで、CursorなどのMCPクライアントから予算データを扱えます。予算・口座の照会、取引の絞り込み、予算概要の取得、取引作成をツールとして提供します。
主な機能
- 01予算と口座の一覧
- 02口座残高の取得
- 03カテゴリと詳細の確認
- 04月次予算概要の表示
- 05予算取引の絞り込み
- 06通常・分割取引の作成
活用シーン
- 01予算と口座残高の確認
- 02月ごとのカテゴリと予算の確認
- 03口座・カテゴリ・日付による取引検索
- 04MCPクライアントからの取引記録
MCP 対応
YNAB APIの操作をツールとして公開し、CursorなどのMCPクライアントから財務データを読み書きできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP YNAB サーバー 💰
YNAB 用 MCP サーバー(TypeScript 版)へようこそ!🎉 このプロジェクトでは、Cursor(またはほかの MCP クライアント)を You Need A Budget(YNAB)アカウントに接続し、エディターから直接、財務データを操作できます。
1. これは何ですか? 🤔(目的)
これは、公式 YNAB API への橋渡しをする、TypeScript による Model Context Protocol (MCP) の実装です。MCP 対応環境から YNAB データを読み書きするための標準化されたツールを提供し、Cursor のような AI アシスタントが財務管理を支援できるようにすることを目的としています。
2. 利用可能なツール 🛠️
このサーバーは、以下のツールを提供します。各ツールには詳細なドキュメントがあります。
listBudgets:利用可能な予算の一覧を表示します。listAccounts:指定した予算内の口座の一覧を表示します。getAccountBalance:特定の口座の現在の残高を取得します。listCategories:指定した予算内のカテゴリーの一覧を表示します。getCategoryInfo:指定した月の特定のカテゴリーに関する詳細情報を取得します。getBudgetSummary:指定した月の予算概要(収入、予算計上額、アクティビティ)を表示します。listTransactions:予算の取引一覧を表示します。口座、カテゴリー、日付などで絞り込めます。createTransaction:予算に新しい取引または分割取引を作成します。
引数、出力、使用状況の詳細については、各ツールの README.md をご覧ください。
3. セットアップ 🚀
-
リポジトリをクローンします:
# git clone https://github.com/Bulletninja/mcp-ynab # If you haven't already cd mcp-ynab -
依存関係をインストールします:
npm install -
YNAB API トークンを設定します: YNAB の個人用アクセストークンが必要です。Cursor との連携で推奨され、テスト済みの方法は次のとおりです。
- Cursor のグローバル設定ファイル
~/.cursor/mcp.jsonを編集します。 mcp-ynabのエントリーを追加または変更し、command、args、cwd、envが正しいことを確認します。{ "mcpServers": { // ... other servers ... "mcp-ynab": { "command": "node", // 👇 コンパイル済みスクリプトへのパス "args": ["<path-to-your-project>/mcp-ynab/dist/server.js"], "cwd": "<path-to-your-project>/mcp-ynab", // このプロジェクトへのパス "enabled": true, "env": { // 👇 正しい名前で YNAB トークンを設定します! "YNAB_API_TOKEN": "YOUR_YNAB_TOKEN_HERE" } } // ... other servers ... } }- 代替方法(コードの変更が必要): プロジェクトのルートに
.envファイルを置く方法もありますが、src/server.tsのdotenvの処理のコメントを解除し、サーバーモードに影響しないことを確認する必要があります。
- Cursor のグローバル設定ファイル
-
コードをコンパイルします:
npm run build
4. Cursor での使用 💡
~/.cursor/mcp.jsonの設定が正しく、"enabled": trueになっていることを確認します。- 更新した設定を読み込んでサーバーを起動するため、Cursor を再起動します。
- これで完了です!Cursor の MCP 設定に、緑色の点と利用可能なツールの一覧とともに
mcp-ynabが表示されます。 - AI アシスタントにツールの使用を依頼できます。
- 「YNAB の予算を一覧表示して」
- 「budget_id 'last-used' で
mcp_ynab_list_accountsを使って」 - 「予算 Z にある口座 X(ID:YYY)の残高はいくらですか?」(
mcp_ynab_get_account_balanceが使われる場合があります)
5. 開発 🧑💻
- 開発モードでサーバーを実行(ホットリロードあり):
npm run dev - テストを実行:
npm test - 本番環境/MCP 向けにコンパイル:
npm run build - CLI モード(コメントアウト済み):
node dist/server.js list-budgetsのようなコマンドを実行するロジックは、Cursor の MCP サーバーモードと干渉するため、src/server.tsでコメントアウトされています。必要に応じてローカルテスト用にコメントを解除できますが、Cursor と連携する際は、必ず再度コメントアウトしてから再コンパイルしてください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。