MCP server: One MCP server.

ZenMoney

@a-tarasoffMCP server · External

MCP server for ZenMoney personal finance app

Personal financev0.1.1MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmzenmoney-mcpv0.1.1

Run

npx -y zenmoney-mcp

MCP client config

{
  "mcpServers": {
    "zenmoney": {
      "command": "npx",
      "args": [
        "-y",
        "zenmoney-mcp"
      ]
    }
  }
}
README2 min read

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

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

Cursor

Add to .cursor/mcp.json:

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

Claude Code

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

bash
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

bash
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

Similar modules

Browse Personal finance