Lunch Money API服务

基于Lunch Money API v2的MCP服务器,提供14种工具,覆盖读取、CRUD和高级操作,适用于个人财务管理和预算规划。

  • by leafeye
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 leafeye/lunchmoney-mcp-v2

使用说明

lunchmoney-mcp-v2

MCP server for the Lunch Money API v2. First MCP server built on the v2 API.

Features

  • 14 tools covering read, CRUD, and advanced operations
  • Hydrated responses: category, tag, and account names instead of raw IDs
  • Smart caching: categories, tags, and accounts cached at startup, auto-refreshed after mutations
  • Type-safe: generated from the official OpenAPI spec via openapi-typescript

Setup

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "lunchmoney": {
      "command": "npx",
      "args": ["-y", "lunchmoney-mcp-v2"],
      "env": {
        "LUNCHMONEY_TOKEN": "your-api-token-here"
      }
    }
  }
}

Claude Code

claude mcp add lunchmoney -e LUNCHMONEY_TOKEN=your-api-token-here -- npx -y lunchmoney-mcp-v2

Add --scope user to make it available in all projects. --scope project writes the config, including the token, to .mcp.json in the project; don't commit that file with a real token.

Get your API token from Lunch Money Developer settings.

Tools

Read

Tool Description
get_user Account info (name, email, currency)
list_transactions List/search transactions with filters, or look up by ID
list_categories All categories (nested or flat view)
list_tags All tags
get_accounts Manual + synced accounts with balances
get_summary Budget summary with income/spending/per-category breakdown
get_recurring Recurring items (subscriptions, bills, income)

CRUD

Tool Actions Description
manage_transaction create, update, delete Single transaction operations
manage_category create, update, delete Category management (force delete with dependency info)
manage_tag create, update, delete Tag management (force delete with dependency info)
manage_account create, update, delete Manual account management (Plaid accounts are read-only)

Advanced

Tool Actions Description
bulk_update_transactions — Batch update up to 500 transactions at once
split_transaction split, unsplit Split a transaction into parts or restore the original
group_transactions group, ungroup Combine transactions into a group or restore originals

Example prompts

Once connected, just ask your LLM naturally:

Reviewing & organizing

  • "Show me all unreviewed transactions from this month"
  • "Categorize all my Amazon transactions as Shopping"
  • "What did I spend on groceries last week?"
  • "Mark these 5 transactions as reviewed"

Budget overview

  • "Give me a spending summary for January"
  • "What are my recurring expenses?"
  • "How much do I have in each account?"

Managing transactions

  • "Add a $45 transaction for dinner at Nobu yesterday"
  • "Split that $120 Costco transaction into $80 groceries and $40 household"
  • "Group these three Uber transactions into one"
  • "Delete the duplicate transaction I just created"

Organizing

  • "Create a new category called Side Projects"
  • "Tag these transactions with travel"
  • "Show me all my categories with their IDs"
  • "Rename the Dining Out category to Restaurants"

Development

npm install
npm run build
npm start

Regenerate types from the OpenAPI spec:

npm run generate:types

Architecture

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
  dates.ts          Date helpers for default date ranges
  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

License

MIT