zenmoney-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zenmoney-mcp Show my expenses for the last 7 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
zenmoney-mcp
MCP server for ZenMoney — access your personal finance data from any MCP-compatible AI client (Claude Desktop, Cursor, etc.).
Features
Tool | Description |
| Sync data with ZenMoney (run first) |
| List wallets, cards, and cash accounts |
| List expense/income categories with hierarchy |
| List known merchants/payees |
| List and filter recent transactions |
| Add an expense transaction |
| Add an income transaction |
| Transfer money between accounts (including cross-currency) |
| Change an existing transaction — category, amount, date, payee, comment, account |
| Get auto-suggested category for a payee |
Related MCP server: mcp-server-zenmoney
Prerequisites
Node.js >= 18
A ZenMoney account
API token from zerro.app/token
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-mcpReplace 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>.mcpbOn 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 tokenUsage
Once configured, start a conversation and ask your AI client to:
Sync first — "Sync my ZenMoney data"
Browse — "Show me my accounts", "List my categories"
Query — "Show expenses for the last 7 days", "List transactions from January 1–31", "How much did I spend on groceries?"
Add transactions — "Add a 500 RUB expense for coffee today"
Transfer — "Transfer 1000 USD from Checking to Euro Card, received 920 EUR"
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
Available Tools
10 toolsadd_expenseC
Add an expense transaction to ZenMoney. Requires account name/id, amount, and date. Optionally accepts category, payee, and comment.
Inputs: date (required), amount (required), account (required), payee, +2 more.
add_incomeC
Add an income transaction to ZenMoney.
Inputs: date (required), amount (required), account (required), payee, +2 more.
add_transferA
Transfer money between two accounts in ZenMoney. For cross-currency transfers, specify both outcome_amount (source) and income_amount (destination). For same-currency transfers, just use outcome_amount (or amount as alias).
Inputs: date (required), to_account (required), from_account (required), amount, +3 more.
list_accountsA
List all user accounts (wallets, cards, cash). Sync must be done first.
Inputs: include_archived.
list_categoriesA
List all expense/income categories (tags) with their hierarchy. Sync must be done first.
Inputs: no named parameters.
list_merchantsA
List known merchants/payees. Sync must be done first.
Inputs: no named parameters.
list_transactionsA
List transactions. By default returns the last 30 days; pass start_date/end_date for an arbitrary period (e.g. Jan 1–31). Sync must be done first.
Inputs: days, limit, account, category, +2 more.
suggest_categoryA
Get ZenMoney's auto-suggestion for category and merchant based on a payee name. Useful for categorizing receipts.
Inputs: payee (required).
sync_dataA
Sync data with ZenMoney. Run this first before using other tools. Use force_full=true to re-download everything.
Inputs: force_full.
update_transactionA
Change an existing transaction: its category, amount, date, payee, comment or account. Only the fields you pass are touched. Pass a single id or a list of ids to apply the same change to several transactions at once (handy for recategorizing). Ids come from list_transactions. Sync must be done first.
Inputs: id (required), date, payee, amount, +7 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool targets a clearly distinct resource and action: sync_data, the three add_* tools map to distinct transaction types (income/expense/transfer), the four list_* tools target distinct entities, and suggest_category/update_transaction are unique operations. There is no meaningful overlap in purpose.
Every tool follows a consistent snake_case verb_noun pattern (sync_data, add_income, list_accounts, update_transaction). The convention is applied uniformly with no camelCase or stylistic deviations.
Ten tools is well-scoped for a personal-finance integration, covering sync, listing of the main entities, and transaction creation/updating without redundancy. Each tool earns its place.
The set covers sync, reading (accounts, categories, merchants, transactions), creating all transaction types, and updating transactions in batch. The main gap is deleting transactions (and managing accounts/categories/merchants), but core record-keeping and recategorization workflows are covered.
Maintenance
Related MCP Connectors
Personal finance for AI agents: accounts, budgets, goals, 9-strategy debt payoff, reports. OAuth 2.1
Multi-currency budgeting: read and update your accounts, transactions, categories and budgets.
Read-only personal finance for AI agents: budgets, receipts, net worth, bills. OAuth 2.1.
Read Yomio expense, income, account, budget, and spending data in an MCP-compatible AI client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables natural-language management of personal finances, including reading balances grouped by bank/category/card/month, retrieving transactions filtered by date and keyword, listing banks/cards/categories, creating/updating/deleting transactions individually or in bulk, and transferring money between the user's own accounts.MIT
- AlicenseAqualityCmaintenanceEnables AI agents to access accounts, balances, transactions and reports, manage monthly budgets, planned operations and debts, categorize spending, and safely create or edit records through the official ZenMoney API.2292 npm2MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants and other MCP clients to access and manage personal finance data, including transactions, categories, tags, budgets, recurring items, accounts, crypto, and balance history through the provider's API.41 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants and other MCP clients to read and manage personal finance data, including transactions, categories, tags, budgets, recurring items, manual and Plaid accounts, crypto holdings, and balance history, with full CRUD operations and token-efficient responses.41 npmMIT