io.github.a-tarasoff/zenmoney-mcp
MCP server for ZenMoney personal finance app
Open source Open in the app JSON README (API)
About
MCP server for ZenMoney personal finance app
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- a-tarasoff
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.1
- Stars
- 18
- Forks
- 4
- Last push
- 2026-09-04T15:27:05Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 03:02:21
- Updated
- 2026-08-29 03:02:21
- Origin id
io.github.a-tarasoff/zenmoney-mcp
README
# zenmoney-mcp
MCP server for [ZenMoney](https://zenmoney.ru) — access your personal finance data from any MCP-compatible AI client (Claude Desktop, Cursor, etc.).
## Features
| Tool | Description |
|------|-------------|
| `sync_data` | Sync data with ZenMoney (run first) |
| `list_accounts` | List wallets, cards, and cash accounts |
| `list_categories` | List expense/income categories with hierarchy |
| `list_merchants` | List known merchants/payees |
| `list_transactions` | List and filter recent transactions |
| `add_expense` | Add an expense transaction |
| `add_income` | Add an income transaction |
| `add_transfer` | Transfer money between accounts (including cross-currency) |
| `update_transaction` | Change an existing transaction — category, amount, date, payee, comment, account |
| `suggest_category` | Get auto-suggested category for a payee |
## Prerequisites
- Node.js >= 18
- A [ZenMoney](https://zenmoney.ru) account
- API token from [zerro.app/token](https://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):
```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](https://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](LICENSE)