mcpField
Z
zenmoney-mcp

zenmoney-mcp

Local
github.com/a-tarasoffFinance19Updated 8w ago

About zenmoney-mcp

zenmoney-mcp lets MCP-compatible AI clients access and manage personal finance data in ZenMoney. It supports browsing and filtering accounts and transactions, as well as adding, transferring, and editing transactions.

Key features

  1. 01Sync ZenMoney data
  2. 02List accounts, categories, and merchants
  3. 03Filter recent transactions
  4. 04Add expenses and income
  5. 05Transfer between accounts, including currencies
  6. 06Edit transactions and suggest categories

Use cases

  1. 01Review spending over a date range
  2. 02Add a cash or card transaction
  3. 03Transfer money between accounts
  4. 04Correct categories or details on transactions

MCP support

The MCP server exposes ZenMoney sync, account and transaction lookup, transaction creation and editing, transfers, and category suggestions to compatible clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"a-tarasoff-zenmoney": {
"command": "npx",
"args": [
"-y",
"zenmoney-mcp"
],
"env": {
"ZENMONEY_TOKEN": "<ZENMONEY_TOKEN>"
}
}
}
}
Run commandnpx -y zenmoney-mcp
Environment variables to set
ZENMONEY_TOKENSecretZenMoney API token from https://zerro.app/token

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmzenmoney-mcp0.1.1

Tools

9

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
force_fullbooleanNoForce a full sync instead of incremental

Details

From the project README

zenmoney-mcp

MCP server for ZenMoney — access your personal finance data from any MCP-compatible AI client (Claude Desktop, Cursor, etc.).

Features

ToolDescription
sync_dataSync data with ZenMoney (run first)
list_accountsList wallets, cards, and cash accounts
list_categoriesList expense/income categories with hierarchy
list_merchantsList known merchants/payees
list_transactionsList and filter recent transactions
add_expenseAdd an expense transaction
add_incomeAdd an income transaction
add_transferTransfer money between accounts (including cross-currency)
update_transactionChange an existing transaction — category, amount, date, payee, comment, account
suggest_categoryGet auto-suggested category for a payee

Prerequisites

Quick start

No cloning or building needed — just add to your MCP client config:

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "zenmoney": {
      "command": "npx",
      "args": ["-y", "zenmoney-mcp"],
      "env": {
        "ZENMONEY_TOKEN": "your_token_here"
      }
    }
  }
}
Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "zenmoney": {
      "command": "npx",
      "args": ["-y", "zenmoney-mcp"],
      "env": {
        "ZENMONEY_TOKEN": "your_token_here"
      }
    }
  }
}
Claude Code
claude mcp add zenmoney -- npx -y zenmoney-mcp

Replace your_token_here with your token from zerro.app/token.

Claude Desktop (MCPB bundle)

If you prefer a one-click install without editing JSON, build a .mcpb bundle and drag it into Claude Desktop → Settings → Extensions:

npm install
npm run pack:mcpb
# → dist/zenmoney-mcp-<version>.mcpb

On install, Claude Desktop will prompt for your ZenMoney token (stored in the OS keychain).

From source
git clone https://github.com/artarasov/zenmoney-mcp.git
cd zenmoney-mcp
npm install
npm run build
cp .env.example .env  # add your token

Usage

Once configured, start a conversation and ask your AI client to:

  1. Sync first — "Sync my ZenMoney data"
  2. Browse — "Show me my accounts", "List my categories"
  3. Query — "Show expenses for the last 7 days", "List transactions from January 1–31", "How much did I spend on groceries?"
  4. Add transactions — "Add a 500 RUB expense for coffee today"
  5. Transfer — "Transfer 1000 USD from Checking to Euro Card, received 920 EUR"
  6. Fix mistakes — "Recategorize yesterday's Amazon expense to Household", "Change the comment on that 500 RUB coffee"

list_transactions prints each transaction's id, and update_transaction takes one id or a list of them — so a whole batch can be recategorized in a single call.

Contributing

PRs welcome! Feel free to open issues for bugs or feature requests.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.