CLI and MCP server
Read and edit your Kaizendex data from a terminal, and let a coding agent like Claude Code or Cursor work with it directly.
Kaizendex has a small program called kzx that you run in a terminal. It does two jobs with the same account you sign into on the web:
- A command line tool you type into yourself — list your collections, log an entry, search what you've tracked.
- An MCP server, which is the standard way an AI coding tool connects to something. Point Claude Code, Codex, Cursor or any other MCP client at it and that assistant can work with your tracking data directly, in the same conversation where you're doing everything else.
It's for people who live in a terminal or work with AI coding assistants. If that isn't you, you don't need it — everything it does, the app already does.
Installing it
You need Node 22 or newer on your computer, and your Kaizendex account.
The quickest way is to run it without installing anything, which downloads it, runs it, and leaves nothing behind. Or you can install it once and just type kzx from then on. Either way you get two command names for the same program — kzx and kaizendex — so use whichever you remember.
The exact commands are on the setup page.
Signing in
Run kzx login and your browser opens to sign in with Google. If your account uses an email and password, pass your email address to the same command instead.
You sign in once, not once per tool. The session is kept on your computer, and every later command — including the MCP server your coding agent starts — picks it up. kzx logout clears it.
Connecting a coding agent
Every AI tool runs the same command; only the file you put it in changes. The setup page has the exact configuration for each one, plus a prompt you can paste into your agent to have it do the whole setup itself.
Your data stays on your computer while you work with it. kzx keeps a local copy of your account, answers questions from that copy, and syncs with your account in the background — so it's fast, and it keeps working when you're offline.
One command reaches past the local copy: kzx search "letter to grandpa" searches everything you know — entries, page text, attachments, past chats and what the AI remembers about you — using the same search the in-app assistant uses. It runs on the server (that is where the search index lives), so it needs a connection, and from the terminal it matches words rather than meaning: "grandfather" will not find "grandpa" here, though it does inside the app.
Read-only until you say otherwise
By default, a connected agent can read but cannot change anything. It can look at your collections, your entries, your dashboards and how they're set up, and that's it. Turning on write access is a deliberate extra step: adding --allow-writes to the command in your configuration.
Two things worth knowing before you do:
- Anything an agent reads can try to give it instructions — a web page it opens, a repository it clones, a template someone published. An agent with write access will sometimes follow those instructions against your data. Give write access only to tools and projects you trust, and prefer leaving it off for anything that browses the open web.
- Every write is logged and can be undone. Writes go through exactly the same path as the assistant inside the app — the same closed set of operations, the same record. Anything an agent changes appears in your AI log with an undo next to it.
Updates
kzx has its own version number, published separately from the app's. They won't match, and they aren't meant to. kzx --version tells you what you have.
About once a day it quietly checks whether there's a newer release, and if there is, it prints one line in your terminal telling you the command to update. It never updates itself behind your back, and the check never delays or blocks whatever you asked it to do — if you're offline it simply says nothing.
Occasionally you'll see a stronger message saying your copy is too old for the current version of Kaizendex. That means the app has moved on in a way your copy can't follow, so rather than guessing and getting things wrong, it tells you to update. Do that and you're fine.
If you run kzx through the "download the latest and run it" form rather than installing it, there's nothing to update — every run fetches the newest version.
When something isn't working
If kzx starts and then stops with "This copy of Kaizendex is too old to load your data" (older copies say canceling statement due to statement timeout or just [object Object]), your copy predates the way the app now loads data. Update it — npm install -g @kaizendex/kzx@latest, or git pull if you run it from a checkout — and run it again.
Run kzx doctor. It prints one block with everything a support conversation would ask for: which version you have, which Node you're on, whether you're signed in and as whom, where your local copy of the data lives, whether an update is waiting, and a link back to the setup page.
If an agent can't connect, the two usual causes are that you aren't signed in — kzx doctor says so on its own line — or that your tool's configuration points at a command name it can't find. Both show up in that one block.
Next
- Version and updates — how the web, desktop and phone apps report and update themselves.
- Working offline — how Kaizendex keeps working without a connection.
- Your data folder — keeping a plain-file copy of everything you track.