lunchmoney-mcp-v2

lunchmoney-mcp-v2

Enables managing personal finances through the Lunch Money API, including transactions, categories, budgets, and accounts via natural language commands.

Category
Visit Server

README

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": ["lunchmoney-mcp-v2"],
      "env": {
        "LUNCHMONEY_TOKEN": "your-api-token-here"
      }
    }
  }
}

Claude Code

Add to .mcp.json in your project or ~/.claude/mcp.json globally:

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

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
  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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured