2026-03-01 00:06:32 +01:00
2026-02-28 12:27:58 +01:00
2026-02-28 11:37:01 +01:00
2026-03-01 00:14:13 +01:00
2026-03-01 00:15:40 +01:00
2026-03-01 00:19:24 +01:00
2026-02-28 11:37:01 +01:00
2026-03-01 10:51:10 +01:00

Todo

A todo CLI with a built-in MCP server. The main idea is that you can tell an MCP-compatible AI assistant "add this to todo" while you're in the middle of something else, and it just works.

Todos are stored in a local SQLite database and can be organized with priorities, tags, and automatic git project association.

Install

Requires Rust 1.85+ (edition 2024).

cargo install --path .

Configuration

Set TODO_DB to override the default database path (~/.local/share/todo/todos.db).

Usage

# add a todo
todo add "fix the login bug"

# add with priority and tags
todo add "refactor auth module" -p high -t backend -t tech-debt

# add without associating to the current git repo
todo add "something general" --no-project

# list open todos
todo ls

# list todos for the current repo only
todo ls --here

# filter by tag or priority
todo ls -t backend
todo ls -p critical

# search
todo ls -s "auth"

# mark as done
todo done 3

# edit text, priority, or tags
todo edit 3 "updated description"
todo edit 3 -p low
todo edit 3 -t new-tag --untag old-tag

# remove permanently
todo rm 3

# show all tags in use
todo tags

# clean up completed todos
todo purge

Claude Setup

Todo ships with an MCP server that lets Claude manage your todos. Add this to your Claude MCP config:

{
  "mcpServers": {
    "todo": {
      "command": "todo",
      "args": ["mcp-serve"]
    }
  }
}

This gives Claude access to all todo operations — adding, listing, completing, editing, removing, and purging.

Description
No description provided
Readme 198 KiB
Languages
Rust 99.3%
Dockerfile 0.7%