Lunchmoney Mcp V2 について
Lunchmoney Mcp V2は、MCPクライアントをLunch Money API v2に接続し、口座、予算、取引を操作します。読み取りとCRUDに対応し、参照データをキャッシュして、カテゴリ、タグ、口座をIDではなく名前で返します。
主な機能
- 01口座、予算、取引データの取得
- 02レコードの作成、更新、削除
- 03最大500件の取引を一括更新
- 04取引の分割とグループ化
- 05カテゴリ、タグ、口座のキャッシュ
- 06IDではなく名前を返す応答
活用シーン
- 01支出と定期支出の確認
- 02取引のカテゴリ分けやタグ付け
- 03複数取引の一括更新
- 04手動口座とカテゴリの管理
MCP 対応
MCPクライアント向けに14個のツールを公開し、API v2経由でLunch Moneyのデータを読み取り、管理します。接続にはLunch Money APIトークンを設定します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
lunchmoney-mcp-v2
Lunch Money API v2 用の MCP サーバーです。v2 API を基盤として構築された最初の MCP サーバーです。
機能
- 14 個のツール:読み取り、CRUD、高度な操作を網羅
- データを補完したレスポンス:生の ID ではなく、カテゴリ名、タグ名、アカウント名を返します
- スマートキャッシュ:カテゴリ、タグ、アカウントを起動時にキャッシュし、変更後に自動更新します
- 型安全:公式 OpenAPI 仕様から
openapi-typescriptを使用して生成しています
セットアップ
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json に追加します:
{
"mcpServers": {
"lunchmoney": {
"command": "npx",
"args": ["lunchmoney-mcp-v2"],
"env": {
"LUNCHMONEY_TOKEN": "your-api-token-here"
}
}
}
}
Claude Code
プロジェクト内の .mcp.json またはグローバル設定の ~/.claude/mcp.json に追加します:
{
"mcpServers": {
"lunchmoney": {
"command": "npx",
"args": ["lunchmoney-mcp-v2"],
"env": {
"LUNCHMONEY_TOKEN": "your-api-token-here"
}
}
}
}
API トークンは Lunch Money Developer settings から取得できます。
ツール
読み取り
| ツール | 説明 |
|---|---|
get_user | アカウント情報(名前、メールアドレス、通貨) |
list_transactions | フィルターを使った取引の一覧表示/検索、または ID による検索 |
list_categories | すべてのカテゴリ(階層表示またはフラット表示) |
list_tags | すべてのタグ |
get_accounts | 手動アカウントと同期済みアカウント(残高を含む) |
get_summary | 収入、支出、カテゴリ別の内訳を含む予算の概要 |
get_recurring | 定期的な項目(サブスクリプション、請求、収入) |
CRUD
| ツール | 操作 | 説明 |
|---|---|---|
manage_transaction | create, update, delete | 個別の取引操作 |
manage_category | create, update, delete | カテゴリ管理(依存関係の情報を含む強制削除) |
manage_tag | create, update, delete | タグ管理(依存関係の情報を含む強制削除) |
manage_account | create, update, delete | 手動アカウントの管理(Plaid アカウントは読み取り専用です) |
高度な操作
| ツール | 操作 | 説明 |
|---|---|---|
bulk_update_transactions | — | 最大 500 件の取引を一括更新します |
split_transaction | split, unsplit | 取引を複数に分割するか、元の状態に戻します |
group_transactions | group, ungroup | 取引をグループ化するか、元の状態に戻します |
プロンプトの例
接続したら、LLM に自然に尋ねるだけです:
確認と整理
- 「今月の未確認の取引をすべて表示して」
- 「Amazon の取引をすべて Shopping に分類して」
- 「先週、食料品にいくら使った?」
- 「この 5 件の取引を確認済みにして」
予算の概要
- 「1 月の支出概要を教えて」
- 「定期的な支出は何がある?」
- 「各アカウントにいくらある?」
取引の管理
- 「昨日、Nobu で夕食をとった 45 ドルの取引を追加して」
- 「あの 120 ドルの Costco の取引を、食料品 80 ドルと日用品 40 ドルに分割して」
- 「この 3 件の Uber の取引を 1 つにまとめて」
- 「今作成した重複取引を削除して」
整理
- 「Side Projects という新しいカテゴリを作成して」
- 「これらの取引に travel タグを付けて」
- 「すべてのカテゴリとその ID を表示して」
- 「Dining Out カテゴリの名前を Restaurants に変更して」
開発
npm install
npm run build
npm start
OpenAPI 仕様から型を再生成します:
npm run generate:types
アーキテクチャ
src/
index.ts Entry point — registers tools, initializes cache
client.ts openapi-fetch client + error handling
cache.ts In-memory cache for categories, tags, accounts
format.ts Text formatters for all response types
types.ts Generated from @lunch-money/v2-api-spec
tools/
user.ts get_user
transactions.ts list_transactions, manage_transaction, bulk_update, split, group
categories.ts list_categories, manage_category
tags.ts list_tags, manage_tag
accounts.ts get_accounts, manage_account
summary.ts get_summary
recurring.ts get_recurring
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。