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
CLI

Minimal access

Why this level

  • The agent creates and edits notes in the notes folder, and ticking a task rewrites only its line.
All reasons and checks

mathiasdrizzy/lazymark

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/lazymark

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal 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.

CLI tools

tasks-axi gives an agent short commands for a Markdown backlog: add, start, finish, block and find ready work

SkillMinimal access71Repository stars

Signboard is a local Markdown-file kanban board with a built-in MCP server: the agent reads and moves cards on disk.

MCP serverExtended access93Repository stars

A CLI that builds a local notes index with catalyst questions so the agent finds material faster than plain grep search

CLIExtended access157Repository stars
Official

A Rust MCP server for a folder of Markdown notes: an agent searches and reads notes and sees backlinks, tags, tasks and version history

MCP serverExtended access1.6KRepository stars
Official

Doska kanban MCP server: an agent creates cards, moves them across columns, sets deadlines and searches every board

MCP serverExtended access305Repository stars
Official

The official Taskade MCP and plugin: an agent manages workspace projects, tasks, automations and AI agents.

MCP serverBroad access169Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
lazymark (this card)no102
kanban-tuinonot required289a Python Kanban board with CLI and MCP; lazymark keeps tasks in plain markdown notes and opens in Obsidian
mcp-obsidiannoAPI key4,533gives 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`.

README badge

Report a problem