Zenmoney Mcp

io.github.a-tarasoffPublished by GitHub account a-tarasoffv0.1.1Updated Oct 24, 2026

MCP server for ZenMoney personal finance app

VerifiedSTDIODesktop onlyProductivity & WorkflowFinance

Overview

AI-generated overview

Local MCP server that connects an AI assistant to ZenMoney personal finance data for browsing accounts, transactions and categories, and adding or editing…

What you can do
  • Sync ZenMoney data and list accounts, categories and merchants
  • List and filter recent transactions, including by date range
  • Add expenses, income and transfers between accounts, including cross-currency
  • Update existing transactions (category, amount, date, payee, comment, account), singly or in batch
  • Suggest a category for a given payee
When to use it
Useful if you keep your personal finances in ZenMoney and want to ask an assistant about spending, review recent transactions, or record and recategorize entries by conversation instead of in the app.
Requirements
Runs locally via npx (Node.js 18 or newer) and needs a ZenMoney account plus an API token supplied in the ZENMONEY_TOKEN environment variable. Desktop MCP clients such as Claude Desktop, Cursor or Claude Code; network access to ZenMoney.
Before you install
The ZenMoney API token in ZENMONEY_TOKEN grants access to your financial data and should be treated as a secret. The server can create and modify real transactions and transfers in your account, so mistakes by the assistant change your records; review changes and consider backups.

Installation

In SourceWeft

  1. Open Zenmoney Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

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 installnpm 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.gitcd zenmoney-mcpnpm installnpm run buildcp .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

Source: README.md at commit f88e755

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts