lazymark CLI
Terminal notes, tasks and a Kanban board over plain markdown files, with a JSON CLI and an MCP server for agents.
- 102 ★ on the repository
- Last commit
- MIT
Minimal access
Why this level
- The agent creates and edits notes in the notes folder, and ticking a task rewrites only its line.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/lazymarkDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- The agent creates and edits notes in the notes folder, and ticking a task rewrites only its line.
This is third-party code. Review the repository files before installing.
What it does
lazymark is a terminal app for plain markdown notes, a task list and a Kanban board. Tasks come from `- [ ]` checkboxes in notes, the column is a tag at the end of the line, and ticking or moving a task rewrites only that line. The notes folder opens in Obsidian as a vault, with wikilinks, tags and Obsidian Tasks dates read in both formats. Agents get two routes. The `lazymark task list`, `task move`, `note new` and `search` commands return stable `--json` and exit codes. `lazymark mcp` starts an MCP server over stdio with nine tools: `list_notes`, `read_note`, `create_note`, `search_notes`, `list_tasks`, `move_task`, `set_task_date`, `toggle_task` and `get_kanban`.
Who it is for. Developers and writers who keep notes and tasks in markdown, including Obsidian vaults, and want an agent to reach the board.
Good fit when
- Tasks live in markdown notes and an agent must list the ones still open this week.
- A board card is moved between columns straight from a chat with the agent.
- A daily note is created from a template with `lazymark daily`.
- An Obsidian vault stays as it is while task work happens in the terminal.
Not a fit when
- Notes must sync through a cloud between devices; the app works on a local folder.
- Priorities, recurring tasks and Dataview queries must run; here they stay plain text.
- The terminal has no Nerd Font and folder and note icons matter.
Example request
List the open tasks from the notes folder and move the report task to the doing column.Limitations
The tool builds from source with Go 1.27.2 or newer, and icons need a Nerd Font. Priorities, recurring tasks, dependencies and Tasks and Dataview query blocks do not run and stay as text. Embeds `![[file]]`, canvases and the graph view are not supported. The MCP server runs over stdio only. Commands accept only `.md` notes inside the notes folder, and `..` or symlinks out of it are blocked.
How to disable. Remove the connection with `claude mcp remove lazymark` and delete the `lazymark` binary from the Go bin folder. Notes remain plain markdown files, and notes the app deleted stay in its trash for 20 days.
FAQ
How do I connect lazymark to Claude Code?
Run `claude mcp add --transport stdio lazymark -- lazymark mcp`. `--scope user` enables it in all projects and `--scope project` shares it through `.mcp.json`. Check with `claude mcp list`.
Which folder does the agent read?
The notes folder from the config. Pick another with `--dir`, for example `lazymark mcp --dir <folder>`. Paths outside that folder are rejected.
How does lazymark work with Obsidian?
The notes folder opens in Obsidian as a vault. The app creates no hidden folders and leaves `.obsidian` alone. `lazymark dates migrate --to dataview --dry-run` shows a date format change without writing.
How do I move a task to another column?
Use `lazymark task move <id> <column>` or the `move_task` tool. The column is a tag such as `#kb/doing` at the end of the task line.
What happens to deleted notes?
Deleted notes stay in a trash for 20 days by default. A folder with content always asks before it is deleted.
Discussion
No questions or reviews yet.
Related
CLI toolstasks-axi gives an agent short commands for a Markdown backlog: add, start, finish, block and find ready work
Signboard is a local Markdown-file kanban board with a built-in MCP server: the agent reads and moves cards on disk.
A CLI that builds a local notes index with catalyst questions so the agent finds material faster than plain grep search
A Rust MCP server for a folder of Markdown notes: an agent searches and reads notes and sees backlinks, tags, tasks and version history
Doska kanban MCP server: an agent creates cards, moves them across columns, sets deadlines and searches every board
The official Taskade MCP and plugin: an agent manages workspace projects, tasks, automations and AI agents.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| lazymark (this card) | no | 102 | ||
| kanban-tui | no | not required | 289 | a Python Kanban board with CLI and MCP; lazymark keeps tasks in plain markdown notes and opens in Obsidian |
| mcp-obsidian | no | API key | 4,533 | gives MCP access to a vault through the Local REST API plugin; lazymark works on the folder directly and needs no Obsidian |
README in short
The interface speaks eight languages and ships fourteen themes. Commands, the `--json` schema and exit codes are documented in `docs/cli.md`.