LabscoMCP early access ↗
yone-kMCP SERVER

Zaim API

Record an expense, pull last month's spending, or list your Zaim categories — by saying so rather than opening the app.

by yone-k ↗Personal Finance & BudgetingCommunity

LABSCO SUMMARY

Six of the fourteen tools exist so the other eight write valid entries.

Categories, genres, accounts and currencies are all lookups, and they are there because Zaim rejects a payment filed under an id that does not exist for your account. Ask for the categories once and the model can file entries correctly for the rest of the session. Everything runs against your real ledger — the delete tool included.

What it is

A TypeScript server over the Zaim household-accounts API, authenticated with OAuth 1.0a. It covers both the ledger itself and the reference data you need to write to it correctly, with Zod schemas validating every argument before a call goes out.

What you get

  • zaim_check_auth_status confirms the credentials work; zaim_get_user_info returns the account
  • zaim_get_money_records reads ledger entries with filtering and pagination
  • zaim_create_payment, zaim_create_income and zaim_create_transfer write the three kinds of entry
  • zaim_update_money_record edits an existing entry and zaim_delete_money_record removes it
  • Reference data: zaim_get_user_categories, zaim_get_user_genres, zaim_get_user_accounts, zaim_get_default_categories, zaim_get_default_genres and zaim_get_currencies

Requirements

Four Zaim OAuth values — ZAIM_CONSUMER_KEY, ZAIM_CONSUMER_SECRET, ZAIM_ACCESS_TOKEN and ZAIM_ACCESS_TOKEN_SECRET. Docker is the recommended path: clone the repository and docker build -t zaim-api-mcp ., then run it with docker run --rm -i and those variables. For a local build, Node.js 22+ with npm install and npm run build, pointing the client at dist/index.js. The npm package name is zaim-api-mcp, version 1.0.0.

Setup effort

Run a container — build the image from the repository, then point your client at it