CLI and MCP
Install the kajero command and connect Claude Code or another MCP client to your notes.
One kajero command works on the same notes as the app, also while the app is closed. It reads and writes through the same services as the app, so scoping, validation and version history apply to every client.
Install the command
The command ships inside the app. Run Install Command Line Tool… from ⌘K. It links kajero into /usr/local/bin; macOS asks for your administrator password if that folder is not writable. An existing file there that is not Kajero's is replaced only after you confirm.
This works from the packaged app only. After installing, Kajero shows the path and a ready-made MCP configuration.
Grant access
Every command needs an explicit scope. Without one it fails with MissingScopeError.
| Flag | Grants |
|---|---|
--workspace <slug> | One workspace; repeat the flag for several |
--inbox | The Inbox |
--all | Every workspace and the Inbox (not combinable with the other two) |
A workspace, folder or note outside the grant behaves as if it did not exist.
Commands
| Command | Does |
|---|---|
kajero list | List notes (--folder, --tag) |
kajero read <note-id> | Print a note as Markdown |
kajero search <terms…> | Search notes (--folder, --tag) |
kajero create | Create a note from Markdown on stdin (--title, --folder, --tag) |
kajero capture | Create an Inbox note from Markdown on stdin (--title) |
kajero export <directory> | Write notes as Markdown files with attachments (--folder or --note) |
kajero import <directory> | Import a folder of Markdown files into a new folder |
kajero mcp | Serve the note tools over MCP on stdio |
Add --json to print JSON instead of text (not for mcp). kajero --help prints the full usage.
kajero search --workspace work "quarterly plan"
echo "Call the dentist" | kajero capture --inboxConnect Claude Code
claude mcp add kajero -- kajero mcp --workspace workReplace work with the slug of your workspace.
Connect another MCP client
Any client that starts a stdio MCP server can use this configuration. Use the full path the installer shows (usually /usr/local/bin/kajero):
{
"mcpServers": {
"kajero": {
"command": "/usr/local/bin/kajero",
"args": ["mcp", "--workspace", "work"]
}
}
}Each server instance sees only what its flags grant. To give one agent two workspaces, repeat --workspace. To keep work and private notes apart, register one server per context.
Tools
The MCP server offers: list_workspaces, list_folders, list_tags, search_notes, read_note, create_note, update_note, move_note, set_tags, archive_note, delete_note and propose_edit.
delete_note is a soft delete: the note goes to the Trash. Whiteboards are readable as text, but an agent cannot edit the drawing itself.
Actor revisions
Every write by an agent creates a revision whose actor is agent:<client>, with <client> taken from the name the MCP client reports when it connects. A client that reports no name is refused (MissingClientNameError). Commands you run yourself in a terminal are recorded as agent:cli.
update_note takes the revision from read_note as baseRevision. If the note changed in between, the call fails with StaleRevisionError and the agent reads the note again before retrying. An agent therefore never overwrites an edit it has not seen.
Open Agent activity in the app (G then A) to see every change with a diff and revert it with one click.