Skip to content
Kajero

For developers

Your notes in the terminal, and for your agents.

Kajero comes with a command line tool and an MCP server. Both work on the same notes as the app, even while the app is closed, and both see only the workspaces you grant.

Command line

Search, read and export from the terminal.

Install it from the app: press ⌘K and run Install Command Line Tool. It links kajero into /usr/local/bin.

kajero list
List notes, by folder or tag
kajero read <note-id>
Print a note as Markdown
kajero search <terms…>
Search titles and text
kajero create
Create a note from Markdown on stdin
kajero capture
Put a note from stdin into the Inbox
kajero export <directory>
Write notes as Markdown files with their attachments
kajero import <directory>
Import a folder of Markdown files, such as an Obsidian vault
kajero mcp
Serve the note tools over MCP on stdio
Terminal
$ kajero search --workspace work "meier offer"$ kajero read --workspace work <note-id>$ echo "Call the dentist" | kajero capture --inbox$ kajero export --workspace work ~/Desktop/notes

Add --json for JSON instead of text. kajero --help lists every option.

MCP server

Agents get the workspaces you grant, and nothing else.

kajero mcp serves your notes over MCP on stdio. Claude Code, Cursor, Codex and any other client that starts a stdio server can search, read and write notes through it.

Claude Code
$ claude mcp add kajero -- kajero mcp --workspace work
Other MCP clients
{
  "mcpServers": {
    "kajero": {
      "command": "/usr/local/bin/kajero",
      "args": [
        "mcp",
        "--workspace",
        "work"
      ]
    }
  }
}

Access per workspace

Every server starts with an explicit grant: --workspace for one workspace, repeated for more, --inbox for the Inbox, --all for everything. Whatever lies outside the grant behaves as if it didn't exist. Register one server per context to keep work and private notes apart.

Every change carries a name

Each write by an agent is a revision with agent: and the name the client reports as its author. Agent activity in the app lists these changes with a diff, and one click reverts any of them.

Nothing gets overwritten

An agent writes against the version it read, so an edit you made in between is never lost. Deleting moves a note to the Trash.

After the 14-day trial, the command line tool and the MCP server are part of the license. A build from source includes them.

Open source

Read the code, or build it yourself.

Kajero is open source under the GNU Affero General Public License, version 3 (AGPL-3.0).

What you may do

Read, change and run the code, and build Kajero with every feature, for free.

What the license asks

If you pass on a changed version, or run one for others over a network, you give them its source under the same license.

What the license pays for

The signed and notarized build from this site, with automatic updates. A build of your own is unsigned and doesn't update itself.

Issues welcome

Bug reports and discussions are welcome on GitHub. Pull requests from others aren't accepted for now.

Build from source

You need Bun and the Node.js version in .node-version. bun run build builds the app and the command line tool, bun run package puts the Mac app into apps/desktop/dist.

Build
$ git clone https://github.com/codeattack-io/note-taking-app.git$ cd note-taking-app$ bun install$ bun run build$ bun run package