Back to Directory/Developer Tools

io.github.a-tarasoff/zenmoney-mcp

MCP server for ZenMoney personal finance app

Developer ToolsTypeScriptv0.1.1

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

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y zenmoney-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-a-tarasoff-zenmoney-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "zenmoney-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

zenmoney-mcpnpm

Compatible MCP Clients

io.github.a-tarasoff/zenmoney-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More